#ack #variables #protocols #command #ding #byte #message

已删除 ding-ding-ack-ack

面向微控制器串行通信的简单协议

0.2.1 2023年5月25日
0.2.0 2023年5月25日
0.1.1 2023年5月25日
0.1.0 2023年5月25日

#7 in #ack

BSD-3-Clause

14KB
77

Ding Ding Ack Ack

ding_ding_ack_ack 是一个用于解析和格式化 Ding Ding Ack Ack 协议消息的 crate。

以下是 Ding Ding Ack Ack 协议规范

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)

无运行时依赖