Browse Source

master-250906-修复电源寄存器偶尔读取为0的问题

燕建军 2 days ago
parent
commit
40b2a61828

+ 13 - 22
.idea/workspace.xml

@@ -23,25 +23,7 @@
     </configurations>
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="01ce1271-fbf8-4e14-b10b-a2875bdb8cd4" name="更改" comment="master-250828">
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Inc/constants_is_three.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/constants_is_three.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Inc/modbus_slave.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/modbus_slave.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Src/constants_is_three.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/constants_is_three.c" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Src/ffx_master.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/ffx_master.c" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Src/freertos.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/freertos.c" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Src/mini_gateway_master.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/mini_gateway_master.c" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Src/modbus_slave.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/modbus_slave.c" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/.ninja_deps" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/.ninja_deps" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/.ninja_log" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/.ninja_log" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.bin" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.bin" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.elf" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.elf" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.hex" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.hex" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.map" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/gmv-gateway-board.map" afterDir="false" />
-    </list>
+    <list default="true" id="01ce1271-fbf8-4e14-b10b-a2875bdb8cd4" name="更改" comment="master-250906-修复电源寄存器偶尔读取为0的问题" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -261,7 +243,7 @@
       <workItem from="1756429197308" duration="5737000" />
       <workItem from="1756689150634" duration="11219000" />
       <workItem from="1756867413714" duration="6077000" />
-      <workItem from="1757122718490" duration="11589000" />
+      <workItem from="1757122718490" duration="12854000" />
     </task>
     <task id="LOCAL-00001" summary="更新和功能">
       <option name="closed" value="true" />
@@ -439,7 +421,15 @@
       <option name="project" value="LOCAL" />
       <updated>1756360758894</updated>
     </task>
-    <option name="localTasksCounter" value="23" />
+    <task id="LOCAL-00023" summary="master-250906-修复电源寄存器偶尔读取为0的问题">
+      <option name="closed" value="true" />
+      <created>1757140356204</created>
+      <option name="number" value="00023" />
+      <option name="presentableId" value="LOCAL-00023" />
+      <option name="project" value="LOCAL" />
+      <updated>1757140356204</updated>
+    </task>
+    <option name="localTasksCounter" value="24" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -473,7 +463,8 @@
     <MESSAGE value="master-250311" />
     <MESSAGE value="master-250407" />
     <MESSAGE value="master-250828" />
-    <option name="LAST_COMMIT_MESSAGE" value="master-250828" />
+    <MESSAGE value="master-250906-修复电源寄存器偶尔读取为0的问题" />
+    <option name="LAST_COMMIT_MESSAGE" value="master-250906-修复电源寄存器偶尔读取为0的问题" />
   </component>
   <component name="XDebuggerManager">
     <watches-manager>

+ 6 - 4
Core/Src/ffx_master.c

@@ -93,10 +93,10 @@ bool get_ffx_status(ffx_status_t *ffxStatus) {
 _Noreturn void ffx_mater_task(void *pv) {
     uint8_t fresh_air_set = 0;
     uint8_t error_count[9] = {0};
-    bool fresh_air_flag = false;
+    uint8_t fresh_air_flag = 0;
 //    uint8_t is_error_ffx[8] = {0};
     for (;;) {
-        fresh_air_flag = false;
+        fresh_air_flag = 0;
         osStatus_t status = osMutexAcquire(mutexHandle, osWaitForever);     // 获取锁
         if (status == osOK) {
             for (int j = 0; j <= sizeof(slaves); j++) {
@@ -119,15 +119,17 @@ _Noreturn void ffx_mater_task(void *pv) {
                             sync_ac_status(&ffxStatus);
                         }
                     }
-                    if ((fresh_air_flag == false)&&(ffxStatus.power == 1)) {
+                    if (fresh_air_flag == 0){
                         if((ffxStatus.humidity_on != 0) && (ffxStatus.humidity_off != 0)){
                             set_reg_value(HUMP_ON_FFX_ADDRESS, ffxStatus.humidity_on);
+                        }
+                        if(ffxStatus.humidity_off != 0){
                             set_reg_value(HUMP_OFF_FFX_ADDRESS, ffxStatus.humidity_off);
                         }
                         if (ffxStatus.fresh_air_system != 2)
                             set_reg_value(FRESH_AIR_MODE_REG_ADDRESS, 4);
                         else set_reg_value(FRESH_AIR_MODE_REG_ADDRESS, 2);
-                        fresh_air_flag = true;
+                        fresh_air_flag = 1;
                     }
                     ffxStatus.power = 0;
                     ffxStatus.inner_num = 0xAA;

BIN
cmake-build-debug-mingw/.ninja_deps


+ 8 - 0
cmake-build-debug-mingw/.ninja_log

@@ -110,3 +110,11 @@
 1124	3138	7788426151456970	gmv-gateway-board.elf	a9596ba2c15b2137
 10	1172	7788433554432213	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
 1173	3272	7788433566065767	gmv-gateway-board.elf	a9596ba2c15b2137
+6	1159	7788439801861029	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+1159	3210	7788439813385688	gmv-gateway-board.elf	a9596ba2c15b2137
+8	1143	7788442601486083	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+1144	3229	7788442612844411	gmv-gateway-board.elf	a9596ba2c15b2137
+6	1253	7788445992456742	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+1254	3347	7788446004939428	gmv-gateway-board.elf	a9596ba2c15b2137
+8	1226	7788450476817799	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+1226	3265	7788450489006580	gmv-gateway-board.elf	a9596ba2c15b2137

BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/main.c.obj


BIN
cmake-build-debug-mingw/gmv-gateway-board.bin


BIN
cmake-build-debug-mingw/gmv-gateway-board.elf


File diff suppressed because it is too large
+ 3389 - 3389
cmake-build-debug-mingw/gmv-gateway-board.hex


File diff suppressed because it is too large
+ 840 - 841
cmake-build-debug-mingw/gmv-gateway-board.map


+ 1 - 0
readme.md

@@ -65,5 +65,6 @@
 | 40027 | 故障信息      | R    | 0:无故障;1:有故障;                                       |
 | 40028 | 故障信息      | R    | 0:无故障;1:有故障;                                       |
 | 40029 | 故障信息      | R    | 0:无故障;1:有故障;                                       |
+| 40030 | 三恒/内机 开关机      | R    | 0x01: 开;0x00:关                                 |
 
 

Some files were not shown because too many files changed in this diff