feat: 新增全功率运行时间段(FPO)功能

- bsp.h: LayoutPara_t 新增 FPOTimeStart/FPOTime 字段, 移除BOM, 声明TimeGet
- main.h: 声明 IsFullPowerTime
- main.c: 新增 IsFullPowerTime() 判断函数(支持跨天), 睡眠条件加FPO检查, AppInit中FPO参数初始化与校验
- SGCP.h: 新增 GWTOMD_CMD_SET_FPO=0x0A, GW_STATUS_SET_FPO 枚举, 声明 ToGWSetFPORes
- SGCP.c: 实现 ToGWSetFPORes() 回应帧, GWTOMD_CMD_SET_FPO 接收处理(校验/存Flash), 两个GwRevLoopHandler新增GW_STATUS_SET_FPO case
- UartDebug.c: 新增 fpocfg 调试命令(配置后向网关发送0x0A通知), para输出FPO信息, DEBUG_CMD_CNT 17->18
- bsp.c: TimeGet 去除UTC+8偏移(RTC已存本地时间)
This commit is contained in:
2026-08-17 10:36:33 +08:00
parent 0f8bed829e
commit f239690002
8 changed files with 262 additions and 34 deletions
+4 -1
View File
@@ -98,6 +98,7 @@ typedef enum {
GW_STATUS_CALI,
GW_STATUS_READ_SENSOR,
GW_STATUS_SET_COL_TIME,
GW_STATUS_SET_FPO,//设置全功率运行时间段
GW_STATUS_SYNC_TIME,
GW_STATUS_UPLOAD_SENSOR,//主动上报模式时会使用该状态
GW_STATUS_WAIT_UPLOAD,//主动上报模式时会使用该状态
@@ -125,7 +126,8 @@ typedef enum {
GWTOMD_CMD_LOGIN = 0x00, //0x00,设备注册
GWTOMD_CMD_CALI = 0x01, //0x01, 校准指令
GWTOMD_CMD_READ_UPLOAD_SENSOR = 0x02, //0x02,读取数据指令or上传数据指令
GWTOMD_CMD_SET_COL_TIME = 0x05, //0x05,设置采集时间间隔
GWTOMD_CMD_SET_FPO = 0x0A, //0x0A, 设置全功率运行时间段(低功耗设备)
GWTOMD_CMD_SET_COL_TIME = 0x05, //0x05,设置采集时间间隔
GWTOMD_CMD_SYNC_TIME = 0x06, //0x06,时间同步
GWTOMD_CMD_SET_LASER = 0x08,//打开or关闭激光
GWTOMD_CMD_SIGNAL = 0x09,
@@ -281,6 +283,7 @@ typedef struct {
extern SGCP_t SGCP;
void SGCP1mSRoutine(void);
void ToGWSetFPORes(void);
void GwRevLoopHandler(void);
void MasRevLoopHandler(void);