feat: 完善Mesh继电器OTA与地址协议

- 增加STM8 Bootloader工程及出厂固件恢复流程\n- 增加W25Q64外部Flash驱动和OTA分包接收、CRC16校验、断点续传状态管理\n- 增加固件版本查询、升级结果上报与主机确认机制\n- 将业务帧从55 AA帧头调整为发送方Mesh短地址+CMD+LEN+DATA+CRC16\n- 修正JDY-28M外层地址与业务发送方地址的职责划分,支持广播请求定向应答\n- 同步更新硬件引脚、存储分区、OTA流程和主机通信协议文档\n- 已使用SDCC重新编译,应用代码大小为5512字节,链接地址为0x8800
This commit is contained in:
十七
2026-11-03 11:29:55 +08:00
parent d275a3523b
commit 42a4650a78
30 changed files with 2318 additions and 108 deletions
+9 -2
View File
@@ -3,7 +3,8 @@
* @brief 蓝牙 Mesh 继电器硬件板级接口定义。
*
* 本阶段先提供稳定的硬件抽象接口,不在业务层直接操作 GPIO 寄存器。
* PA1 的有效电平已经确认:高电平吸合、低电平断开;PD3 高电平点亮 LED3。
* PA1 的有效电平已经确认:高电平吸合、低电平断开;PB5 为低电平点亮的
* 蓝牙组网/故障指示灯,PD3 为高电平点亮的继电器状态灯。
*/
#ifndef BOARD_H
#define BOARD_H
@@ -22,9 +23,15 @@ uint8_t Board_GetRelay(void);
/** 读取 JDY-28M STAT 状态,1 表示模块报告已组网。 */
uint8_t Board_ReadMeshJoined(void);
/** 设置 LED3 点亮状态,1 表示点亮,0 表示熄灭。 */
/** 设置蓝牙组网/故障指示灯,1表示点亮,0表示熄灭;硬件低电平点亮。 */
void Board_SetLed3(uint8_t on);
/** 设置继电器状态灯,1表示点亮,0表示熄灭;硬件高电平点亮。 */
void Board_SetRelayLed(uint8_t on);
/** 周期驱动PB4程序状态灯;正常运行500ms翻转,OTA期间100ms翻转。 */
void Board_StatusLedTask(uint8_t ota_active);
/** 设置 PWRC:1 表示拉低进入 AT 窗口,0 表示恢复高电平通信。 */
void Board_SetBluetoothAtWindow(uint8_t enabled);