feat: add STM8 mesh relay firmware

This commit is contained in:
十七
2026-11-02 20:30:08 +08:00
commit d275a3523b
27 changed files with 2985 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
/**
* @file app_config.h
* @brief STM8 蓝牙 Mesh 继电器固件的统一配置入口。
*
* 本文件集中保存当前已经确认的协议和业务常量,避免在多个 C 文件中
* 重复定义相同数字。后续接入真实寄存器时,硬件相关宏也应优先放在此处
* 或独立的 board_config.h 中,便于人工维护和更换 PCB。
*/
#ifndef APP_CONFIG_H
#define APP_CONFIG_H
/** 系统节拍周期,单位为毫秒。 */
#define SYSTEM_TICK_MS 1u
/** JDY-28M 与 STM8 固定通信波特率。 */
#define JDY28M_UART_BAUDRATE 9600ul
/** PWRC 拉低后进入 AT 指令窗口的等待时间。 */
#define JDY28M_AT_ENTRY_WAIT_MS 10ul
/** JDY-28M RESET 低电平脉冲时间。 */
#define JDY28M_RESET_PULSE_MS 500ul
/** 释放 RESET 后等待模块启动完成的时间。 */
#define JDY28M_RESET_STARTUP_WAIT_MS 1500ul
/** 默认电流阈值,单位为 mA。 */
#define DEFAULT_CURRENT_THRESHOLD_MA 100u
/** 电流故障产生和恢复的连续确认时间,单位为毫秒。 */
#define CURRENT_FAULT_CONFIRM_MS 10000ul
/** Mesh 状态连续确认时间,单位为毫秒。 */
#define MESH_STATUS_CONFIRM_MS 3000ul
/** 蓝牙初始化故障 LED 的亮灭周期,单位为毫秒。 */
#define LED_INIT_FAULT_PERIOD_MS 300ul
/** 未组网 LED 的亮灭周期,单位为毫秒。 */
#define LED_NOT_JOINED_PERIOD_MS 1000ul
/** ACS712 采样建议使用的 RMS 窗口,单位为毫秒。 */
#define CURRENT_RMS_WINDOW_MS 100ul
/** 业务协议帧头第一个字节。 */
#define BUSINESS_FRAME_HEAD_0 0x55u
/** 业务协议帧头第二个字节。 */
#define BUSINESS_FRAME_HEAD_1 0xAAu
#endif