perf(ds18b20-ds2480): передавай байты в Data Mode

This commit is contained in:
2026-09-15 22:45:07 +03:00
parent 3020de7e0c
commit def3eb08f3
7 changed files with 128 additions and 13 deletions

View File

@@ -34,6 +34,7 @@ typedef struct {
uint32_t timeout_ms;
uint8_t ready;
uint8_t power_active;
uint8_t data_mode;
} ds2480;
/** Independent ROM search cursor. Zero-initialize before each enumeration. */
@@ -51,7 +52,7 @@ ds2480_status ds2480_init(ds2480 *bus, const ds2480_port *port, uint32_t timeout
ds2480_status ds2480_reset(ds2480 *bus);
/** Exchange one slot (write 1 to read); received must be non-NULL. */
ds2480_status ds2480_bit(ds2480 *bus, uint8_t bit, uint8_t *received);
/** Exchange a byte, LSB first, in command mode (eight UART transactions). */
/** Exchange a byte in Data Mode; escapes E3 and preserves one reply per byte. */
ds2480_status ds2480_byte(ds2480 *bus, uint8_t value, uint8_t *received);
/** Write a byte and start strong pullup immediately after its last slot.
* Blocks for hold_ms (1..1000), then terminates the pulse and consumes reply.