What | Level | Duration | Description |
---|---|---|---|
Pull-up: | High | 5us+ | Power pre-charge |
Host: | Low | 480...960us | Reset |
Pull-up: | High | Typically max of 480us | Wait for Ack |
Device: | Low | 15...60us | Ack |
What | Level | Duration | Description |
---|---|---|---|
Host: | Low | 1...15us | Short pulse = 1 |
Pull-up: | High | At least 60us | Padding |
What | Level | Duration | Description |
---|---|---|---|
Host: | Low | 60...120us | Longer pulse = 0 |
What | Level | Duration | Description |
---|---|---|---|
Host: | Low | 1...15us | Initiate read |
Device: | Low | 15...45us | If data is a 0 (no pulldown if data is 1) |
Pull-up: | High | At least 60us | Padding |
Reset
ACK
33
- This is the "Read ID" command11 63 4D 8B 00 00 00 14
- Family code, then 6 bytes of ID code, then 1 byte checksumReset
ACK
CC
- This is the "Read All devices" commandD0 00 00
- This is the "Read Data" command, from the address 0x000019
- (clocked by the host) This the the checksum of the read command bytes, as this is correct, it indicates that the device supports the command
44 45 4C 4C 30 30 41 43 DELL00AC
30 39 30 31 39 35 30 34 09019504
36 43 4E 30 4B 44 38 48 6CN0KD8H
00: 44 45 4C 4C 30 30 DELL00
- Manufacturer ID06: 41 43 .. .. .. .. AC....
- Device type = AC charger08: 30 39 30 .. .. .. 090...
- Power rating = 90W0B: 31 39 35 .. .. .. 195...
- Voltage = 19.5V0E: 30 34 36 .. .. .. 046...
- Current = 4.6A11: 43 4E .. .. .. .. CN....
- Country of manufacter code13: 30 4B 44 38 48 .. 0KD8H.
- Start of the batch / serial numberReset
ACK
CC
- This is the "Read All devices" commandD0 06 00
- This is the "Read Data" command, from the address 0x0006B3
- (clocked by the host) This the the checksum of the read command bytes, as this is correct, it indicates that the device supports the command41 43 30 39 30 .. .. .. AC090...
Reset
ACK
CC
- This is the "Read All devices" commandD0 08 00
- This is the "Read Data" command, from the address 0x00086F
- (clocked by the host) This the the checksum of the read command bytes, as this is correct, it indicates that the device supports the command30 39 30 31 39 35 .. .. 090195..
void ow_device_ack_reset(void)
void ow_device_reset_wait(void)
bool ow_device_receive_byte(BYTE *pValue)
bool ow_device_send_byte(BYTE value)