From 073b47d0d2004fff8fac390c13ce9429b831e87d Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 12 Sep 2024 13:42:41 +0800 Subject: [PATCH] V113 --- .vscode/settings.json | 3 ++- README.md | 4 ++++ stm32components | 2 +- usrc/app_main.cpp | 4 ++-- usrc/base/gflag/gflag.c | 11 ++++++----- usrc/base/gflag/gflag.h | 8 ++------ usrc/project_configs.h | 2 +- usrc/protocol_processer_impl/public_cmd_processer.cpp | 2 +- 8 files changed, 19 insertions(+), 17 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 77869a8..48a42a8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -83,7 +83,8 @@ "stm32irq.h": "c", "project_configs.h": "c", "*.bak": "c", - "stm32f4xx.h": "c" + "stm32f4xx.h": "c", + "gflag.h": "c" }, "files.autoGuessEncoding": false, "files.encoding": "utf8" diff --git a/README.md b/README.md index 81522fe..78bc9aa 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,10 @@ 1.修复tmc5160电机控制错误 V112 1.修复ADC采集导致的代码卡死BUG + V113 + 1.添加电压不稳掉电检测功能 + 2.添加看门狗 + 3.添加复位原因检查和上报 ``` diff --git a/stm32components b/stm32components index 4e7f7f3..2d392a8 160000 --- a/stm32components +++ b/stm32components @@ -1 +1 @@ -Subproject commit 4e7f7f3c3e59d813586e88ef6e30ffe8c8594653 +Subproject commit 2d392a81f356b3987da8eb7883dd002585c446b2 diff --git a/usrc/app_main.cpp b/usrc/app_main.cpp index 0f02d9f..e535a01 100644 --- a/usrc/app_main.cpp +++ b/usrc/app_main.cpp @@ -140,10 +140,10 @@ void umain() { SysMgr::ins()->dumpSysInfo(); ZLOGI(TAG, "="); zcanbus_send_report(kreport_device_reset, NULL, 0, 100); - // MX_IWDG_Init(); + MX_IWDG_Init(); while (true) { osDelay(30); debug_light_ctrl(); - // HAL_IWDG_Refresh(&hiwdg); + HAL_IWDG_Refresh(&hiwdg); } } diff --git a/usrc/base/gflag/gflag.c b/usrc/base/gflag/gflag.c index 40b2b2c..2b31ee5 100644 --- a/usrc/base/gflag/gflag.c +++ b/usrc/base/gflag/gflag.c @@ -5,17 +5,18 @@ #include "cmsis_os.h" -bool gInitErrorFlag = false; -uint32_t gBoardFlag = 0; -bool gEnableReportFlag = true; +bool gInitErrorFlag = false; +bool gEnableReportFlag = true; +uint8_t gResetFlag = 0; void gBoardFlagSetResetFlag() { vPortEnterCritical(); - ZSET_BIT(gBoardFlag, 0); + gResetFlag = 1; vPortExitCritical(); } void gBoardFlagClearResetFlag() { vPortEnterCritical(); - ZCLEAR_BIT(gBoardFlag, 0); + gResetFlag = 0; vPortExitCritical(); } +bool gBoardFlagGetResetFlag() { return gResetFlag; } diff --git a/usrc/base/gflag/gflag.h b/usrc/base/gflag/gflag.h index 17d020c..5c0b3aa 100644 --- a/usrc/base/gflag/gflag.h +++ b/usrc/base/gflag/gflag.h @@ -11,15 +11,11 @@ extern "C" { #define ZSET_BIT(val, bit) (val |= (1 << bit)) extern bool gInitErrorFlag; -/** - * bit: - * 0: board reset flag (1:reset) - */ -extern uint32_t gBoardFlag; -extern bool gEnableReportFlag; +extern bool gEnableReportFlag; void gBoardFlagSetResetFlag(); void gBoardFlagClearResetFlag(); +bool gBoardFlagGetResetFlag(); #ifdef __cplusplus } diff --git a/usrc/project_configs.h b/usrc/project_configs.h index ee08681..4ea2a3e 100644 --- a/usrc/project_configs.h +++ b/usrc/project_configs.h @@ -15,7 +15,7 @@ * @brief 基础配置 * */ -#define SOFTWARE_VERSION 112 // 软件版本 +#define SOFTWARE_VERSION 113 // 软件版本 #define HARDWARE_VERSION 1 // 硬件版本 #define PROJECT "transmit_disinfection_micro_re" // 工程名称 #define SN_HEADER "SN" // SN号前缀 diff --git a/usrc/protocol_processer_impl/public_cmd_processer.cpp b/usrc/protocol_processer_impl/public_cmd_processer.cpp index 9f9ccdb..b763d8a 100644 --- a/usrc/protocol_processer_impl/public_cmd_processer.cpp +++ b/usrc/protocol_processer_impl/public_cmd_processer.cpp @@ -48,7 +48,7 @@ void PublicCmdProcesser::fn_heart_ping(ProcessContext* cxt) { static report_heatpacket_data_t heatpacket; heatpacket.boardType = PublicBoard::ins()->getBoardTypeId(); heatpacket.heartIndex = GET_PARAM(0); - heatpacket.flag = gBoardFlag; + heatpacket.flag = gBoardFlagGetResetFlag() ? SysMgr::ins()->chipGetResetReason() : 0; zcanbus_send_report(kreport_heatpacket_pong, (uint8_t*)&heatpacket, sizeof(heatpacket), 30); } void PublicCmdProcesser::fn_clear_reset_flag(ProcessContext* cxt) {