0.2.1 |
|
---|---|
0.2.0 |
|
0.1.1 |
|
0.1.0 |
|
#5 in #ack
37 downloads per month
14KB
77 lines
Ding Ding Ack Ack
ding_ding_ack_ack
is a crate for parsing and formatting Ding Ding Ack Ack protocol messages.
Here's the Ding Ding Ack Ack protocol specification:
Request Frame (8 - 39 bytes):
Byte 1: Start byte 1 (0x07)
Byte 2: Start byte 2 (0x01)
Byte 3: Command (0x05 for read, 0x1A for write, 0x07 for ping)
Byte 4: Variable (user-defined)
Byte 5: Data Length in N Bytes (1-32) (ignored in read operations)
Byte 6 - Byte (N - 1): Error Message (User defined) (ignored in read operations)
Byte 6 + N + 1: End byte 1 (0x17)
Byte 6 + N + 2: End byte 2 (0x04)
Response Frame for Successful Calls (8 - 39 bytes):
Byte 1: Start byte 1 (0x06)
Byte 2: Start byte 2 (0x01)
Byte 3: Command that was sent
Byte 4: Variable that was sent
Byte 5: Data Length in N Bytes (1 - 32)
Byte 6 - Byte (N - 1): Message (User defined)
Byte 6 + N + 1: End byte 1 (0x17)
Byte 6 + N + 2: End byte 2 (0x04)
Response Frame for Failed Calls (8 - 39 bytes):
Byte 1: Start byte 1 (0x15)
Byte 2: Start byte 2 (0x01)
Byte 3: Command that was sent
Byte 4: Variable that was sent
Byte 5: Data Length in N Bytes (1-32)
Byte 6 - Byte (N - 1): Error Message (User defined)
Byte 6 + N + 1: End byte 1 (0x17)
Byte 6 + N + 2: End byte 2 (0x04)
Ping:
Request Frame (8 - 39 bytes):
Byte 1: 0x07
Byte 2: 0x01
Byte 3: 0x07
Byte 4: 0x00
Byte 5: Data Length in N Bytes (1 - 32) --- can be used for discovery / identification
Byte 6 - Byte (N - 1): Message (User defined)
Byte 6 + N + 1: End byte 1 (0x17)
Byte 6 + N + 2: End byte 2 (0x04)
Response Frame(8 - 39 bytes):
Byte 1: 0x06
Byte 2: 0x01
Byte 3: 0x07
Byte 4: 0x00
Byte 5: Data Length in N Bytes (1 - 32)
Byte 6 - Byte (N - 1): Message (User defined)
Byte 6 + N + 1: End byte 1 (0x17)
Byte 6 + N + 2: End byte 2 (0x04)