feat: complete assembly mesh relay control path
- synchronize STM8 application and external flash layout updates\n- add assembly bootloader and assembly application test projects\n- add UART1 interrupt receive ring buffer\n- parse JDY-28M Mesh outer frames and source addresses\n- add CRC-16/MODBUS validation\n- implement relay control command 0x01 and response 0x81\n- support unicast and broadcast relay control frames\n- update host protocol, OTA documents, and serial tools
This commit is contained in:
@@ -12,10 +12,10 @@ STM8S003F3P6TR 内部程序 Flash 总容量为 8KiB,地址范围为 `0x8000~0x
|
||||
|
||||
| 地址范围 | 容量 | 用途 |
|
||||
|---|---:|---|
|
||||
| `0x8000~0x87FF` | 2KiB | Bootloader |
|
||||
| `0x8800~0x9FFF` | 6KiB | Application 主程序 |
|
||||
| `0x8000~0x84FF` | 1.25KiB | Bootloader |
|
||||
| `0x8500~0x9FFF` | 6.75KiB | Application 主程序 |
|
||||
|
||||
应用程序必须按照 `0x8800` 重新链接,不能使用默认的 `0x8000` 起始地址。
|
||||
应用程序必须按照 `0x8500` 重新链接,不能使用默认的 `0x8000` 起始地址。
|
||||
|
||||
### 1.2 W25Q80BV 外部 Flash
|
||||
|
||||
@@ -51,9 +51,9 @@ PA3 = 0:按键按下
|
||||
|
||||
JDY-28M 控制脚当前分配为:`PA2=PWRC`、`PD2=RESET`。`PA2` 不再作为Flash片选。
|
||||
|
||||
蓝牙状态/故障指示灯连接到 `PB5`,低电平点亮;继电器状态指示灯连接到 `PD3`,高电平点亮。
|
||||
蓝牙状态/故障指示灯连接到 `PB4`,低电平点亮;继电器状态指示灯连接到 `PD3`,高电平点亮。
|
||||
|
||||
程序运行/OTA状态灯连接到 `PB4`,低电平点亮:正常运行时按500ms节奏闪烁,OTA接收或校验时按约100ms节奏快速闪烁。
|
||||
程序运行/OTA状态灯连接到 `PB5`,低电平点亮:正常运行时按500ms节奏闪烁,OTA接收或校验时按约100ms节奏快速闪烁。
|
||||
|
||||
## 2. 元数据格式
|
||||
|
||||
@@ -134,7 +134,7 @@ Bootloader负责:
|
||||
- 清除升级请求;
|
||||
- 检查内部应用程序是否有效;
|
||||
- 应用损坏时恢复出厂固件;
|
||||
- 跳转到 `0x8800` 启动主程序。
|
||||
- 跳转到 `0x8500` 启动主程序。
|
||||
|
||||
升级安全顺序必须是:
|
||||
|
||||
@@ -218,12 +218,12 @@ SRC_H | SRC_L | CMD | LEN | DATA | CRC16_L | CRC16_H
|
||||
|
||||
说明:
|
||||
|
||||
- `SRC_H SRC_L`:发送方 Mesh 短地址,高字节在前;设备应答时将该地址作为
|
||||
JDY-28M 外层目标地址,业务帧中的 SRC 改为设备自身短地址;
|
||||
- JDY-28M 外层地址:发送方和接收方 Mesh 短地址均由外层提供,高字节在前;
|
||||
设备应答时将外层发送方地址作为目标地址;
|
||||
- `CMD`:命令;
|
||||
- `LEN`:DATA长度;
|
||||
- `DATA`:命令数据;
|
||||
- `CRC16`:CRC-16/MODBUS,计算范围为 SRC、CMD、LEN、DATA,低字节在前;
|
||||
- `CRC16`:CRC-16/MODBUS,计算范围为 CMD、LEN、DATA,高字节在前;
|
||||
- CRC错误时静默丢弃,不执行继电器动作,不返回错误帧。
|
||||
|
||||
JDY-28M的Mesh外层帧负责目标地址、源地址、Mesh头和帧尾,业务帧本身不重复添加地址。
|
||||
|
||||
Reference in New Issue
Block a user