燕建军 8 miesięcy temu
rodzic
commit
b2a20e7cbf
70 zmienionych plików z 2469 dodań i 1917 usunięć
  1. 87 58
      .idea/workspace.xml
  2. 3 7
      CMakeLists.txt
  3. 3 1
      CMakeLists_template.txt
  4. 1 1
      Core/Inc/FreeRTOSConfig.h
  5. 16 18
      Core/Inc/ffx_master.h
  6. 7 1
      Core/Inc/main.h
  7. 16 3
      Core/Inc/mini_gateway_master.h
  8. 24 9
      Core/Inc/modbus.h
  9. 18 9
      Core/Inc/modbus_slave.h
  10. 3 0
      Core/Inc/usart.h
  11. 102 84
      Core/Src/ffx_master.c
  12. 14 11
      Core/Src/freertos.c
  13. 1 0
      Core/Src/main.c
  14. 137 53
      Core/Src/mini_gateway_master.c
  15. 45 5
      Core/Src/modbus.c
  16. 18 1
      Core/Src/modbus_slave.c
  17. 1 1
      Core/Src/stm32f1xx_it.c
  18. 89 1
      Core/Src/usart.c
  19. 145 136
      Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h
  20. 1209 1209
      Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c
  21. BIN
      cmake-build-debug-mingw/.ninja_deps
  22. 178 106
      cmake-build-debug-mingw/.ninja_log
  23. 6 6
      cmake-build-debug-mingw/CMakeCache.txt
  24. BIN
      cmake-build-debug-mingw/CMakeFiles/3.28.1/CMakeDetermineCompilerABI_C.bin
  25. BIN
      cmake-build-debug-mingw/CMakeFiles/3.28.1/CMakeDetermineCompilerABI_CXX.bin
  26. 42 42
      cmake-build-debug-mingw/CMakeFiles/CMakeConfigureLog.yaml
  27. 3 3
      cmake-build-debug-mingw/CMakeFiles/TargetDirectories.txt
  28. 18 4
      cmake-build-debug-mingw/CMakeFiles/clion-Debug-MinGW-log.txt
  29. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj
  30. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj
  31. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/gpio.c.obj
  32. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/main.c.obj
  33. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj
  34. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus.c.obj
  35. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_msp.c.obj
  36. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_timebase_tim.c.obj
  37. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_it.c.obj
  38. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/syscalls.c.obj
  39. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/sysmem.c.obj
  40. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/system_stm32f1xx.c.obj
  41. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/usart.c.obj
  42. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Startup/startup_stm32f103rctx.s.obj
  43. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c.obj
  44. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c.obj
  45. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c.obj
  46. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c.obj
  47. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c.obj
  48. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c.obj
  49. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c.obj
  50. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c.obj
  51. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c.obj
  52. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c.obj
  53. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c.obj
  54. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c.obj
  55. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c.obj
  56. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c.obj
  57. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj
  58. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj
  59. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj
  60. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj
  61. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c.obj
  62. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj
  63. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj
  64. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj
  65. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj
  66. BIN
      cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj
  67. 1 1
      cmake-build-debug-mingw/CMakeFiles/rules.ninja
  68. 253 127
      cmake-build-debug-mingw/build.ninja
  69. 2 2
      cmake-build-debug-mingw/cmake_install.cmake
  70. 27 18
      gmv-gateway-board.ioc

+ 87 - 58
.idea/workspace.xml

@@ -20,65 +20,28 @@
     </configurations>
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="01ce1271-fbf8-4e14-b10b-a2875bdb8cd4" name="更改" comment="">
-      <change afterPath="$PROJECT_DIR$/.idea/codeStyles/codeStyleConfig.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Core/Inc/modbus_slave.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Core/Src/modbus_slave.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/bsd.txt" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/gpl.txt" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/lgpl.txt" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/ascii/mbascii.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/ascii/mbascii.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils_m.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdiag.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc_m.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncfile.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding_m.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput_m.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncother.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/functions/mbutils.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mb.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mb_m.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mbconfig.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mbframe.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mbfunc.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mbport.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mbproto.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/include/mbutils.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/mb.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbcrc.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbcrc.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbrtu.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbrtu.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/tcp/mbtcp.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/modbus/tcp/mbtcp.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portcritical.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portevent.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portserial.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/porttimer.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/port/port.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/port/user_mb_app.c" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeModbus/port/user_mb_app.h" afterDir="false" />
+    <list default="true" id="01ce1271-fbf8-4e14-b10b-a2875bdb8cd4" name="更改" comment="更新">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.mxproject" beforeDir="false" afterPath="$PROJECT_DIR$/.mxproject" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CMakeLists.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CMakeLists_template.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists_template.txt" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Core/Inc/FreeRTOSConfig.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/FreeRTOSConfig.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/Core/Inc/ffx_master.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/ffx_master.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Core/Inc/main.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/main.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/Core/Inc/mini_gateway_master.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/mini_gateway_master.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Core/Inc/stm32f1xx_it.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/stm32f1xx_it.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Core/Inc/modbus.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/modbus.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/Inc/usart.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/usart.h" 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/main.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/main.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.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/modbus.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$/Core/Src/stm32f1xx_it.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/stm32f1xx_it.c" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/.cmake/api/v1/reply/cache-v2-c2d184a70121e4b5cc51.json" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/.cmake/api/v1/reply/cmakeFiles-v1-27eb94a99a8aa9ca0fc1.json" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/.cmake/api/v1/reply/codemodel-v2-6b33da970254852e2625.json" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/.cmake/api/v1/reply/index-2024-10-17T10-08-27-0165.json" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/.cmake/api/v1/reply/target-gmv-gateway-board.elf-Debug-326a890ddc764dc957b2.json" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/Core/Src/usart.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/usart.c" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h" beforeDir="false" afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c" beforeDir="false" afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h" beforeDir="false" afterPath="$PROJECT_DIR$/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h" 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/CMakeCache.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeCache.txt" afterDir="false" />
@@ -126,7 +89,6 @@
       <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/rules.ninja" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/CMakeFiles/rules.ninja" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/Testing/Temporary/LastTest.log" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/Testing/Temporary/LastTest.log" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/build.ninja" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/build.ninja" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug-mingw/cmake_install.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug-mingw/cmake_install.cmake" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/gmv-gateway-board.ioc" beforeDir="false" afterPath="$PROJECT_DIR$/gmv-gateway-board.ioc" afterDir="false" />
@@ -139,10 +101,29 @@
   <component name="ClangdSettings">
     <option name="formatViaClangd" value="false" />
   </component>
+  <component name="EmbeddedSvdWindowState">
+    <option name="columnWidths">
+      <list>
+        <option value="212" />
+        <option value="92" />
+        <option value="1102" />
+      </list>
+    </option>
+    <option name="columnOrder">
+      <list>
+        <option value="名称" />
+        <option value="值" />
+        <option value="描述" />
+      </list>
+    </option>
+  </component>
   <component name="ExecutionTargetManager" SELECTED_TARGET="CMakeBuildProfile:Debug-MinGW" />
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
+  <component name="PerforceDirect.Settings">
+    <option name="CHARSET" value="无" />
+  </component>
   <component name="ProjectApplicationVersion">
     <option name="ide" value="CLion" />
     <option name="majorVersion" value="2024" />
@@ -168,35 +149,36 @@
     "cf.first.check.clang-format": "false",
     "cidr.known.project.marker": "true",
     "git-widget-placeholder": "master",
-    "last_opened_file_path": "C:/Users/DELL/Desktop/1729591886844.jpg",
+    "last_opened_file_path": "C:/Users/DELL/Desktop/gmv-gateway-board/Core/Src",
     "node.js.detected.package.eslint": "true",
     "node.js.detected.package.tslint": "true",
     "node.js.selected.package.eslint": "(autodetect)",
     "node.js.selected.package.tslint": "(autodetect)",
     "nodejs_package_manager_path": "npm",
-    "settings.editor.selected.configurable": "fileTemplates",
+    "settings.editor.selected.configurable": "preferences.sourceCode.C/C++",
     "structure.view.defaults.are.configured": "true",
     "vue.rearranger.settings.migration": "true"
   }
 }]]></component>
   <component name="RecentsManager">
     <key name="CopyFile.RECENT_KEYS">
+      <recent name="C:\Users\DELL\Desktop\gmv-gateway-board\Core\Src" />
       <recent name="C:\Users\DELL\Desktop\gmv-gateway-board\Middlewares\Third_Party" />
       <recent name="C:\Users\DELL\Desktop\gmv-gateway-board\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2" />
       <recent name="C:\Users\DELL\CLionProjects\gmv-gateway-board\Core\Inc" />
       <recent name="C:\Users\DELL\CLionProjects\gmv-gateway-board\Core\Src" />
-      <recent name="C:\Users\DELL\CLionProjects\gmv-gateway-board\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2" />
     </key>
     <key name="MoveFile.RECENT_KEYS">
+      <recent name="C:\Users\DELL\Desktop\gmv-gateway-board\Core\Inc" />
       <recent name="C:\Users\DELL\Desktop\gmv-gateway-board\Core\Src" />
       <recent name="C:\Users\DELL\CLionProjects\gmv-gateway-board\Core\Src" />
       <recent name="C:\Users\DELL\CLionProjects\gmv-gateway-board\Core\Inc" />
     </key>
   </component>
   <component name="RunManager" selected="OpenOCD 下载并运行.OCD gmv-gateway-board">
-    <configuration default="true" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true">
+    <configuration default="true" type="CLionExternalRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true">
       <method v="2">
-        <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
+        <option name="CLION.EXTERNAL.BUILD" enabled="true" />
       </method>
     </configuration>
     <configuration name="gmv-gateway-board.elf" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="gmv-gateway-board" TARGET_NAME="gmv-gateway-board.elf" CONFIG_NAME="Debug-MinGW" RUN_TARGET_PROJECT_NAME="gmv-gateway-board" RUN_TARGET_NAME="gmv-gateway-board.elf">
@@ -234,8 +216,39 @@
       <workItem from="1729559621578" duration="4148000" />
       <workItem from="1729577088491" duration="602000" />
       <workItem from="1729580056881" duration="10586000" />
-      <workItem from="1729651575018" duration="8708000" />
+      <workItem from="1729651575018" duration="10266000" />
+      <workItem from="1729740236295" duration="15559000" />
+      <workItem from="1729818456376" duration="8114000" />
+      <workItem from="1729904914346" duration="701000" />
+      <workItem from="1729926643266" duration="11453000" />
+      <workItem from="1730164286202" duration="15395000" />
+      <workItem from="1730250475204" duration="16292000" />
+      <workItem from="1730336727350" duration="27208000" />
+      <workItem from="1730423231909" duration="19411000" />
+      <workItem from="1730682596471" duration="186000" />
+      <workItem from="1730682790198" duration="1245000" />
+      <workItem from="1730706734748" duration="7032000" />
+      <workItem from="1730769082877" duration="20666000" />
+      <workItem from="1730859117113" duration="133000" />
+      <workItem from="1730863020055" duration="12455000" />
     </task>
+    <task id="LOCAL-00001" summary="更新和功能">
+      <option name="closed" value="true" />
+      <created>1729673832888</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1729673832888</updated>
+    </task>
+    <task id="LOCAL-00002" summary="更新">
+      <option name="closed" value="true" />
+      <created>1729674085656</created>
+      <option name="number" value="00002" />
+      <option name="presentableId" value="LOCAL-00002" />
+      <option name="project" value="LOCAL" />
+      <updated>1729674085656</updated>
+    </task>
+    <option name="localTasksCounter" value="3" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -246,6 +259,22 @@
     <isAutomaticFoundErrors value="true" />
     <isAutomaticReloadCMake value="true" />
   </component>
+  <component name="Vcs.Log.Tabs.Properties">
+    <option name="TAB_STATES">
+      <map>
+        <entry key="MAIN">
+          <value>
+            <State />
+          </value>
+        </entry>
+      </map>
+    </option>
+  </component>
+  <component name="VcsManagerConfiguration">
+    <MESSAGE value="更新和功能" />
+    <MESSAGE value="更新" />
+    <option name="LAST_COMMIT_MESSAGE" value="更新" />
+  </component>
   <component name="XSLT-Support.FileAssociations.UIState">
     <expand />
     <select />

+ 3 - 7
CMakeLists.txt

@@ -49,13 +49,9 @@ else ()
     add_compile_options(-Og -g)
 endif ()
 
-include_directories(Core/Inc Drivers/STM32F1xx_HAL_Driver/Inc/Legacy
-        Drivers/STM32F1xx_HAL_Driver/Inc Middlewares/Third_Party/FreeRTOS/Source/include
-        Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 Drivers/CMSIS/Device/ST/STM32F1xx/Include Drivers/CMSIS/Include
-        Middlewares/Third_Party/FreeModbus/modbus/include
-        Middlewares/Third_Party/FreeModbus/port
-        Middlewares/Third_Party/FreeModbus/modbus/rtu
-)
+include_directories(Core/Inc Drivers/STM32F1xx_HAL_Driver/Inc/Legacy Drivers/STM32F1xx_HAL_Driver/Inc Middlewares/Third_Party/FreeRTOS/Source/include Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 Drivers/CMSIS/Device/ST/STM32F1xx/Include Drivers/CMSIS/Include Middlewares/Third_Party/FreeModbus/modbus/include
+                                                                        Middlewares/Third_Party/FreeModbus/port
+                                                                        Middlewares/Third_Party/FreeModbus/modbus/rtu)
 
 add_definitions(-DDEBUG -DUSE_HAL_DRIVER -DSTM32F103xE)
 

+ 3 - 1
CMakeLists_template.txt

@@ -48,7 +48,9 @@ else ()
     add_compile_options(-Og -g)
 endif ()
 
-include_directories(${includes})
+include_directories(${includes} Middlewares/Third_Party/FreeModbus/modbus/include
+                                                                        Middlewares/Third_Party/FreeModbus/port
+                                                                        Middlewares/Third_Party/FreeModbus/modbus/rtu)
 
 add_definitions(${defines})
 

+ 1 - 1
Core/Inc/FreeRTOSConfig.h

@@ -60,7 +60,7 @@
 #define configTICK_RATE_HZ                       ((TickType_t)1000)
 #define configMAX_PRIORITIES                     ( 56 )
 #define configMINIMAL_STACK_SIZE                 ((uint16_t)128)
-#define configTOTAL_HEAP_SIZE                    ((size_t)10240)
+#define configTOTAL_HEAP_SIZE                    ((size_t)1024*25)
 #define configMAX_TASK_NAME_LEN                  ( 16 )
 #define configUSE_TRACE_FACILITY                 1
 #define configUSE_16_BIT_TICKS                   0

+ 16 - 18
Core/Inc/ffx_master.h

@@ -7,29 +7,27 @@
 
 #include "main.h"
 
-#define SLAVE_ADDRESS_START 1
-#define SLAVE_ADDRESS_END 5
-
-#define POWER_FFX_ADDRESS 0
-#define SET_TEMP_FFX_ADDRESS 0x0E
-#define FAN_SPEED_FFX_ADDRESS 0x4
-#define TEMP_ON_FFX_ADDRESS 0x11
-#define TEMP_OFF_FFX_ADDRESS 0x12
-#define INNER_NUM_FFX_ADDRESS 0x59
-
-#define POWER_REG_ADDRESS 0
-#define WORK_MODE_REG_ADDRESS 1
-#define FAN_SPEED_REG_ADDRESS 4
-#define SET_TEMP_REG_ADDRESS 14
-#define INNER_REG_ADDRESS 88
-
-typedef struct {
+#define SLAVE_ADDRESS_START 1       // 从机地址起始
+#define SLAVE_ADDRESS_END 8         // 从机地址结束
+
+#define POWER_FFX_ADDRESS 0             //开关机状态
+#define SET_TEMP_FFX_ADDRESS 0x0E       //设定温度
+#define FAN_SPEED_FFX_ADDRESS 0x4       //风扇转速
+#define INNER_NUM_FFX_ADDRESS 0x59      //线控器设定内机号地址
+
+#define INNER_REG_ADDRESS 5
+
+typedef struct
+{
     uint8_t power;
     uint8_t mode;
     uint8_t fan_speed;
     uint8_t set_temp;
     uint8_t inner_num;
-}ffx_status_t;
+    uint8_t humidity_on;
+    uint8_t humidity_off;
+} ffx_status_t;
+
 /**
  * init ffx master
  */

+ 7 - 1
Core/Inc/main.h

@@ -31,7 +31,13 @@ extern "C" {
 
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
-
+#include <stdio.h>
+#define ENABLE_DEBUG 1
+#if ENABLE_DEBUG > 0
+#define DEBUG_PRINTF(...) printf("DEBUG: " __VA_ARGS__)
+#else
+#define DEBUG_PRINTF(...) do {} while (0)
+#endif
 /* USER CODE END Includes */
 
 /* Exported types ------------------------------------------------------------*/

+ 16 - 3
Core/Inc/mini_gateway_master.h

@@ -7,9 +7,22 @@
 
 #include "ffx_master.h"
 
-#define MINI_GATEWAY_SLAVE_ADDRESS 0x01
-#define INNER_GROUP1_REG_ADDRESS 10
-#define INNER_GROUP2_REG_ADDRESS 11
+#define INNER_SLAVE_ADDRESS_START 1
+#define INNER_POWER_ON 0xAA
+#define INNER_POWER_OFF 0x55
+#define INNER_SLAVE_ADDRESS_END 8
+#define MINI_GATEWAY_SLAVE_ADDRESS 0x01     // MINI_GATEWAI从机地址
+#define MINI_GATEWAY_INNER_POWER_ADDRESS 102 // 寄存器地址
+#define MINI_GATEWAY_INNER_COIL_ADDRESS 120 // 内机1,线圈起始地址,1~8
+#define MINI_GATEWAY_INNER_COIL2_ADDRESS 128// 内机9,线圈起始地址,9~16
+#define MINI_GATEWAY_INNER_COIL_ERROR1_ADDRESS (319 + 64 * 0)   // 内机1总故障
+#define MINI_GATEWAY_INNER_COIL_ERROR2_ADDRESS (319 + 64 * 1)   // 内机2总故障
+#define MINI_GATEWAY_INNER_COIL_ERROR3_ADDRESS (319 + 64 * 2)   // 内机3总故障
+#define MINI_GATEWAY_INNER_COIL_ERROR4_ADDRESS (319 + 64 * 3)   // 内机4总故障
+#define MINI_GATEWAY_INNER_COIL_ERROR5_ADDRESS (319 + 64 * 4)   // 内机5总故障
+#define MINI_GATEWAY_INNER_COIL_ERROR6_ADDRESS (319 + 64 * 5)   // 内机6总故障
+#define MINI_GATEWAY_INNER_COIL_ERROR7_ADDRESS (319 + 64 * 6)   // 内机7总故障
+#define MINI_GATEWAY_INNER_COIL_ERROR8_ADDRESS (319 + 64 * 7)   // 内机8总故障
 
 void mini_gateway_master_init(void);
 

+ 24 - 9
Core/Inc/modbus.h

@@ -24,7 +24,6 @@
     SOFTWARE.
 */
 
-
 /** @file */
 
 /*! \mainpage nanoMODBUS - A compact MODBUS RTU/TCP C library for microcontrollers
@@ -42,12 +41,12 @@
 
 #include <stdbool.h>
 #include <stdint.h>
+#include <string.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
-#define NMBS_SERVER_DISABLED
-#define NMBS_STRERROR_DISABLED
+
 /**
  * nanoMODBUS errors.
  * Values <= 0 are library errors, > 0 are modbus exceptions.
@@ -140,6 +139,8 @@ typedef enum nmbs_transport {
  * A return value between `0` and `count - 1` will be treated as if a timeout occurred on the transport side. All other
  * values will be treated as transport errors.
  *
+ * Additionally, an optional crc_calc() function can be defined to override the default nanoMODBUS CRC calculation function.
+ *
  * These methods accept a pointer to arbitrary user-data, which is the arg member of this struct.
  * After the creation of an instance it can be changed with nmbs_set_platform_arg().
  */
@@ -149,7 +150,10 @@ typedef struct nmbs_platform_conf {
                     void* arg); /*!< Bytes read transport function pointer */
     int32_t (*write)(const uint8_t* buf, uint16_t count, int32_t byte_timeout_ms,
                      void* arg); /*!< Bytes write transport function pointer */
-    void* arg;                   /*!< User data, will be passed to functions above */
+    uint16_t (*crc_calc)(const uint8_t* data, uint32_t length,
+                         void* arg); /*!< CRC calculation function pointer. Optional */
+    void* arg;                       /*!< User data, will be passed to functions above */
+    uint32_t initialized; /*!< Reserved, workaround for older user code not calling nmbs_platform_conf_create() */
 } nmbs_platform_conf;
 
 
@@ -172,7 +176,7 @@ typedef struct nmbs_callbacks {
                                        void* arg);
 #endif
 
-#ifndef NMBS_SERVER_READ_HOLDING_REGISTERS_DISABLED
+#if !defined(NMBS_SERVER_READ_HOLDING_REGISTERS_DISABLED) || !defined(NMBS_SERVER_READ_WRITE_REGISTERS_DISABLED)
     nmbs_error (*read_holding_registers)(uint16_t address, uint16_t quantity, uint16_t* registers_out, uint8_t unit_id,
                                          void* arg);
 #endif
@@ -195,7 +199,7 @@ typedef struct nmbs_callbacks {
                                        void* arg);
 #endif
 
-#ifndef NMBS_SERVER_WRITE_MULTIPLE_REGISTERS_DISABLED
+#if !defined(NMBS_SERVER_WRITE_MULTIPLE_REGISTERS_DISABLED) || !defined(NMBS_SERVER_READ_WRITE_REGISTERS_DISABLED)
     nmbs_error (*write_multiple_registers)(uint16_t address, uint16_t quantity, const uint16_t* registers,
                                            uint8_t unit_id, void* arg);
 #endif
@@ -217,7 +221,8 @@ typedef struct nmbs_callbacks {
 #endif
 #endif
 
-    void* arg;    // User data, will be passed to functions above
+    void* arg;               // User data, will be passed to functions above
+    uint32_t initialized;    // Reserved, workaround for older user code not calling nmbs_callbacks_create()
 } nmbs_callbacks;
 
 
@@ -227,7 +232,7 @@ typedef struct nmbs_callbacks {
  */
 typedef struct nmbs_t {
     struct {
-        uint8_t buf[25];
+        uint8_t buf[260];
         uint16_t buf_idx;
 
         uint8_t unit_id;
@@ -269,6 +274,11 @@ void nmbs_set_read_timeout(nmbs_t* nmbs, int32_t timeout_ms);
  */
 void nmbs_set_byte_timeout(nmbs_t* nmbs, int32_t timeout_ms);
 
+/** Create a new nmbs_platform_conf struct.
+ * @param platform_conf pointer to the nmbs_platform_conf instance
+ */
+void nmbs_platform_conf_create(nmbs_platform_conf* platform_conf);
+
 /** Set the pointer to user data argument passed to platform functions.
  * @param nmbs pointer to the nmbs_t instance
  * @param arg user data argument
@@ -276,6 +286,11 @@ void nmbs_set_byte_timeout(nmbs_t* nmbs, int32_t timeout_ms);
 void nmbs_set_platform_arg(nmbs_t* nmbs, void* arg);
 
 #ifndef NMBS_SERVER_DISABLED
+/** Create a new nmbs_callbacks struct.
+ * @param callbacks pointer to the nmbs_callbacks instance
+ */
+void nmbs_callbacks_create(nmbs_callbacks* callbacks);
+
 /** Create a new Modbus server.
  * @param nmbs pointer to the nmbs_t instance where the client will be created.
  * @param address_rtu RTU address of this server. Can be 0 if transport is not RTU.
@@ -511,7 +526,7 @@ nmbs_error nmbs_receive_raw_pdu_response(nmbs_t* nmbs, uint8_t* data_out, uint8_
  * @param data Data
  * @param length Length of the data
  */
-uint16_t nmbs_crc_calc(const uint8_t* data, uint32_t length);
+uint16_t nmbs_crc_calc(const uint8_t* data, uint32_t length, void* arg);
 
 #ifndef NMBS_STRERROR_DISABLED
 /** Convert a nmbs_error to string

+ 18 - 9
Core/Inc/modbus_slave.h

@@ -7,15 +7,24 @@
 #include "main.h"
 // 定义从机寄存器开始地址和长度
 #define S_REG_HOLDING_START           0
-#define S_REG_HOLDING_NREGS           20
-
-#define COMMUNICATION_REG_ADDRESS 0 // 当前从机通讯地址
-#define POWER_REG_ADDRESS 1 // 电源地址
-#define WORK_MODE_REG_ADDRESS 2
-#define FAN_SPEED_REG_ADDRESS 3
-#define SET_TEMP_REG_ADDRESS 4
-
-
+#define S_REG_HOLDING_NREGS           30
+
+//#define COMMUNICATION_REG_ADDRESS 0 // 当前从机通讯地址
+#define POWER_REG_ADDRESS 0 // 电源地址
+#define WORK_MODE_REG_ADDRESS 1 // 运行模式
+#define FAN_SPEED_REG_ADDRESS 4 // 风扇转速
+#define SET_TEMP_REG_ADDRESS 14 // 设定温度
+#define INNER_GROUP1_REG_ADDRESS 10
+#define INNER_GROUP2_REG_ADDRESS 11
+#define TEMP_ON_FFX_ADDRESS 17
+#define TEMP_OFF_FFX_ADDRESS 18
+#define INNER_ERROR1_REG_ADDRESS 20     //40021
+#define INNER_ERROR2_REG_ADDRESS 21     //40022
+#define INNER_ERROR3_REG_ADDRESS 22
+#define INNER_ERROR4_REG_ADDRESS 23
+
+#define LED_ERROR_GPIO_Port GPIOB
+#define LED_ERROR_Pin GPIO_PIN_12
 /**
  * 开启485从机
  * @param address 从机地址

+ 3 - 0
Core/Inc/usart.h

@@ -34,6 +34,8 @@ extern "C" {
 
 extern UART_HandleTypeDef huart4;
 
+extern UART_HandleTypeDef huart1;
+
 extern UART_HandleTypeDef huart2;
 
 extern UART_HandleTypeDef huart3;
@@ -43,6 +45,7 @@ extern UART_HandleTypeDef huart3;
 /* USER CODE END Private defines */
 
 void MX_UART4_Init(void);
+void MX_USART1_UART_Init(void);
 void MX_USART2_UART_Init(void);
 void MX_USART3_UART_Init(void);
 

+ 102 - 84
Core/Src/ffx_master.c

@@ -1,7 +1,7 @@
 //
 // Created by DELL on 2024/10/16.
 //
-
+#include "main.h"
 #include "ffx_master.h"
 #include "modbus.h"
 #include "usart.h"
@@ -10,132 +10,150 @@
 #include "modbus_slave.h"
 
 static nmbs_t nmbs;
-static uint8_t slaves[5] = {0}; // 保存已经存在的从站号
-static uint8_t index = 0;
+uint8_t slaves[SLAVE_ADDRESS_END] = {0}; // 保存已经存在的从站号
+static uint8_t index_2 = 0;
+static osMutexId_t ffx_mutex;
+extern uint8_t error_count;
+uint8_t buffer_reg[10]; // 保存读取到的寄存器值
 void search_ffx_slave();
-
+uint8_t is_slave_exist = 0;
 
 static int32_t uart_read(uint8_t *buf, uint16_t count, int32_t byte_timeout_ms,
-                         void *arg)
-{
+                         void *arg) {
     HAL_StatusTypeDef status = HAL_UART_Receive(&huart2, buf, count, byte_timeout_ms);
-    if (status == HAL_OK)
-    {
+    if (status == HAL_OK) {
         return count;
-    } else
-    {
+    } else {
         return 0;
     }
 }
 
 static int32_t uart_write(const uint8_t *buf, uint16_t count, int32_t byte_timeout_ms,
-                          void *arg)
-{
+                          void *arg) {
     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
     HAL_UART_Transmit(&huart2, buf, count, byte_timeout_ms);
     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);
     return count;
 }
+
 // task
-_Noreturn void ffx_poll_task(void *pv){
-    for (;;)
-    {
-        search_ffx_slave();
-        HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
-        osDelay(1000 * 60);
+_Noreturn void ffx_poll_task(void *pv) {
+    for (;;) {
+        if (osMutexAcquire(ffx_mutex, osWaitForever) == osOK) {
+            search_ffx_slave();
+            osMutexRelease(ffx_mutex);
+        }
+        osDelay(1000 * 60 * 10);
     }
 }
-_Noreturn void ffx_mater_task(void *pv)
-{
-    for (;;)
-    {
-        ffx_status_t ffxStatus;
-        bool is_power_on = false;
-        for (int i = 0; i < sizeof(slaves); i++)
-        {
-            if (slaves[i] != 0)
-            {
-                nmbs_set_destination_rtu_address(&nmbs, slaves[i]);
-                uint16_t data[10];
-                uint16_t inner_data[1];
-                nmbs_error err = nmbs_read_holding_registers(&nmbs, POWER_FFX_ADDRESS, 2, data);
-                osDelay(200);
-                nmbs_read_holding_registers(&nmbs, INNER_NUM_FFX_ADDRESS, 1, &inner_data[0]);
-                osDelay(200);
-                nmbs_read_holding_registers(&nmbs, SET_TEMP_FFX_ADDRESS, 1, &data[2]);
-                osDelay(200);
-                nmbs_read_holding_registers(&nmbs, FAN_SPEED_FFX_ADDRESS, 1, &data[3]);
-                osDelay(200);
-                nmbs_read_holding_registers(&nmbs, TEMP_ON_FFX_ADDRESS, 1, &data[4]);
-                osDelay(200);
-                nmbs_read_holding_registers(&nmbs, TEMP_OFF_FFX_ADDRESS, 1, &data[5]);
-                if (err == NMBS_ERROR_NONE)
-                {
-                    ffxStatus.power = data[0];
-                    ffxStatus.mode = data[1];
-                    ffxStatus.set_temp = data[2];
-                    ffxStatus.fan_speed = data[3];
-                    ffxStatus.inner_num = inner_data[0];
-                    if (ffxStatus.power && !(is_power_on))
-                    {
-                        is_power_on = true;
-                        set_reg_value(POWER_REG_ADDRESS, ffxStatus.power);
-                        set_reg_value(WORK_MODE_REG_ADDRESS, ffxStatus.mode);
-                        set_reg_value(INNER_REG_ADDRESS, ffxStatus.inner_num);
-                        set_reg_value(FAN_SPEED_REG_ADDRESS, ffxStatus.fan_speed);
-                        set_reg_value(SET_TEMP_REG_ADDRESS, ffxStatus.set_temp);
-                        set_reg_value(TEMP_ON_FFX_ADDRESS, data[4]);
-                        set_reg_value(TEMP_OFF_FFX_ADDRESS, data[5]);
+
+bool get_ffx_status(ffx_status_t *ffxStatus) {
+    uint16_t ffx_ststus[3] = {0};
+    nmbs_error err = nmbs_read_holding_registers(&nmbs, POWER_FFX_ADDRESS, 2, ffx_ststus);
+    if (err == NMBS_ERROR_NONE) {
+        ffxStatus->power = ffx_ststus[0];
+        ffxStatus->mode = ffx_ststus[1];
+    } else {
+        return false;
+    }
+    uint16_t data;
+    err = nmbs_read_holding_registers(&nmbs, INNER_NUM_FFX_ADDRESS, 1, &data);
+    if (err == NMBS_ERROR_NONE) {
+        ffxStatus->inner_num = data;
+    }
+    err = nmbs_read_holding_registers(&nmbs, SET_TEMP_FFX_ADDRESS, 1, &data);
+    if (err == NMBS_ERROR_NONE) {
+        ffxStatus->set_temp = data;
+    }
+    err = nmbs_read_holding_registers(&nmbs, FAN_SPEED_FFX_ADDRESS, 1, &data);
+    if (err == NMBS_ERROR_NONE) {
+        ffxStatus->fan_speed = data;
+    }
+    err = nmbs_read_holding_registers(&nmbs, TEMP_ON_FFX_ADDRESS, 1, &data);
+    if (err == NMBS_ERROR_NONE) {
+        ffxStatus->humidity_on = data;
+    }
+    err = nmbs_read_holding_registers(&nmbs, TEMP_OFF_FFX_ADDRESS, 1, &data);
+    if (err == NMBS_ERROR_NONE) {
+        ffxStatus->humidity_off = data;
+    }
+    return true;
+}
+
+
+_Noreturn void ffx_mater_task(void *pv) {
+    uint8_t error_count = 0;
+    uint8_t is_error_ffx[8] = {0};
+    for (;;) {
+        if (osMutexAcquire(ffx_mutex, osWaitForever) == osOK) {
+            ffx_status_t ffxStatus;
+            for (int i = 0; i < sizeof(slaves) + 1; i++) {
+                if (slaves[i] != 0) {
+                    nmbs_set_destination_rtu_address(&nmbs, slaves[i]);
+                    if (get_ffx_status(&ffxStatus)) {
+                        set_reg_value(TEMP_ON_FFX_ADDRESS, ffxStatus.humidity_on);
+                        set_reg_value(TEMP_OFF_FFX_ADDRESS, ffxStatus.humidity_off);
+                        set_reg_value(INNER_ERROR2_REG_ADDRESS, 0);
+                        osDelay(300);
+                        sync_ac_status(&ffxStatus);
+                        is_error_ffx[i] = 0;
+                        error_count ++;
+                    } else{
+                        error_count++;
+                        if(error_count >= 10){
+                            set_reg_value(INNER_ERROR2_REG_ADDRESS, 1);
+                        }
                     }
-                    sync_ac_status(&ffxStatus);
+                    osDelay(2000);
                 }
-                osDelay(500);
             }
+            osMutexRelease(ffx_mutex);
         }
-        HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12);// LED闪烁
-        if ((ffxStatus.power == 0) && (is_power_on == false))
-        {
-            set_reg_value(POWER_REG_ADDRESS, ffxStatus.power);
-        }
+        osDelay(1000);
     }
 }
 
 // 检测从机是否存在
-bool check_slave_exist(uint8_t slave_addr)
-{
+bool check_slave_exist(uint8_t slave_addr) {
     nmbs_set_destination_rtu_address(&nmbs, slave_addr);
     uint16_t result;
-    HAL_Delay(300);
+    osDelay(100);
     nmbs_error err = nmbs_read_holding_registers(&nmbs, 0x01, 1, &result);
     return err == NMBS_ERROR_NONE;
 }
 
 // 轮询从站
-void search_ffx_slave()
-{
-    for (int i = SLAVE_ADDRESS_START; i <= SLAVE_ADDRESS_END; i++)
-    {
+void search_ffx_slave() {
+    for (int i = SLAVE_ADDRESS_START; i <= SLAVE_ADDRESS_END; i++) {
         bool exist = check_slave_exist(i);
-        if (exist)
-        {
-            slaves[index] = i;
-            index++;
+        if (exist) {
+            slaves[i] = i;
+            set_reg_value(INNER_ERROR2_REG_ADDRESS, 0);
+        }
+        osDelay(200);
+        if (exist == NMBS_ERROR_NONE) {
+            exist = check_slave_exist(i);
+            if (exist != NMBS_ERROR_NONE) {
+                slaves[i] = i;
+                set_reg_value(INNER_ERROR2_REG_ADDRESS, 0);
+            }else{
+                set_reg_value(INNER_ERROR2_REG_ADDRESS, 1);
+            }
         }
-//        HAL_Delay(500);
+        osDelay(200);
     }
-    index = 0;
 }
 
-void ffx_master_init()
-{
+void ffx_master_init() {
+    ffx_mutex = osMutexNew(NULL);
     nmbs_platform_conf platformConf;// 配置uart
+    nmbs_platform_conf_create(&platformConf);
     platformConf.transport = NMBS_TRANSPORT_RTU;// RTU
     platformConf.read = &uart_read;     // 读写函数
     platformConf.write = &uart_write;   // 读写函数
     nmbs_client_create(&nmbs, &platformConf);// 创建客户端
-    nmbs_set_read_timeout(&nmbs, 100);
-    nmbs_set_byte_timeout(&nmbs, 100);
-//    search_ffx_slave();
+    nmbs_set_read_timeout(&nmbs, 400);
+    nmbs_set_byte_timeout(&nmbs, 400);
     // 开启轮询任务
     osThreadNew(ffx_poll_task, NULL, NULL);
     osThreadNew(ffx_mater_task, NULL, NULL);

+ 14 - 11
Core/Src/freertos.c

@@ -25,6 +25,8 @@
 
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
+#define LED_STATE_GPIO_Port GPIOC
+#define LED_STATE_Pin GPIO_PIN_13
 
 /* USER CODE END Includes */
 
@@ -75,19 +77,19 @@ void MX_FREERTOS_Init(void) {
   /* USER CODE END Init */
 
   /* USER CODE BEGIN RTOS_MUTEX */
-  /* add mutexes, ... */
+    /* add mutexes, ... */
   /* USER CODE END RTOS_MUTEX */
 
   /* USER CODE BEGIN RTOS_SEMAPHORES */
-  /* add semaphores, ... */
+    /* add semaphores, ... */
   /* USER CODE END RTOS_SEMAPHORES */
 
   /* USER CODE BEGIN RTOS_TIMERS */
-  /* start timers, add new ones, ... */
+    /* start timers, add new ones, ... */
   /* USER CODE END RTOS_TIMERS */
 
   /* USER CODE BEGIN RTOS_QUEUES */
-  /* add queues, ... */
+    /* add queues, ... */
   /* USER CODE END RTOS_QUEUES */
 
   /* Create the thread(s) */
@@ -95,11 +97,11 @@ void MX_FREERTOS_Init(void) {
   defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes);
 
   /* USER CODE BEGIN RTOS_THREADS */
-  /* add threads, ... */
+    /* add threads, ... */
   /* USER CODE END RTOS_THREADS */
 
   /* USER CODE BEGIN RTOS_EVENTS */
-  /* add events, ... */
+    /* add events, ... */
   /* USER CODE END RTOS_EVENTS */
 
 }
@@ -114,11 +116,12 @@ void MX_FREERTOS_Init(void) {
 void StartDefaultTask(void *argument)
 {
   /* USER CODE BEGIN StartDefaultTask */
-  /* Infinite loop */
-  for(;;)
-  {
-    osDelay(1);
-  }
+    /* Infinite loop */
+    for (;;)
+    {
+        HAL_GPIO_TogglePin(LED_STATE_GPIO_Port, LED_STATE_Pin);
+        osDelay(500);
+    }
   /* USER CODE END StartDefaultTask */
 }
 

+ 1 - 0
Core/Src/main.c

@@ -96,6 +96,7 @@ int main(void)
   MX_USART2_UART_Init();
   MX_USART3_UART_Init();
   MX_TIM2_Init();
+  MX_USART1_UART_Init();
   /* USER CODE BEGIN 2 */
     ffx_master_init();
     mini_gateway_master_init();

+ 137 - 53
Core/Src/mini_gateway_master.c

@@ -9,46 +9,44 @@
 #include "cmsis_os2.h"
 #include "modbus_slave.h"
 
+uint8_t error_count = 0;
 static nmbs_t nmbs;
+extern uint8_t slaves[SLAVE_ADDRESS_END]; // 保存已经存在的从站号
+//static osMutexId_t mini_mutex;
+extern uint8_t is_slave_exist;
+static uint8_t coil[INNER_SLAVE_ADDRESS_END] = {0};
 
 static int32_t uart_read(uint8_t *buf, uint16_t count, int32_t byte_timeout_ms,
-                         void *arg)
-{
+                         void *arg) {
     HAL_StatusTypeDef status = HAL_UART_Receive(&huart4, buf, count, byte_timeout_ms);
-    if (status == HAL_OK)
-    {
+    if (status == HAL_OK) {
         return count;
-    } else
-    {
+    } else {
         return 0;
     }
 }
 
 static int32_t uart_write(const uint8_t *buf, uint16_t count, int32_t byte_timeout_ms,
-                          void *arg)
-{
+                          void *arg) {
     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);
     HAL_UART_Transmit(&huart4, buf, count, byte_timeout_ms);
     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);
     return count;
 }
 
-void sync_ac_status(ffx_status_t *status)
-{
+void sync_ac_status(ffx_status_t *status) {
     uint16_t power;
     uint16_t mode;
     uint16_t fan_speed;
     uint16_t set_temp;
-    if (status->power == 0x01)
-    {
+    if (status->power == 0x01) {
         power = 0xAA;
         fan_speed = status->fan_speed + 1;
         set_temp = status->set_temp;
     } else
         power = 0x55;
     mode = status->mode + 1;
-    switch (status->mode)
-    {
+    switch (status->mode) {
         case 0://制冷模式
             mode = status->mode + 1;
             break;
@@ -67,56 +65,142 @@ void sync_ac_status(ffx_status_t *status)
         default:
             break;
     }
-    uint16_t regs[5] = {power, mode, set_temp, fan_speed, 0};
-//    nmbs_write_multiple_registers(&nmbs, 102 + 25 * (status->inner_num - 1), 5, regs);
+    uint16_t regs[5] = {power, mode, set_temp * 10, fan_speed, 0};
+    nmbs_error err2 = nmbs_write_multiple_registers(&nmbs, 102 + 25 * (status->inner_num - 1), 5, regs);
+    if (err2 == NMBS_ERROR_NONE) {
+        set_reg_value(INNER_ERROR1_REG_ADDRESS, 0);
+        error_count = 0;
+    } else {
+        set_reg_value(INNER_ERROR1_REG_ADDRESS, 1);
+        error_count++;
+    }
+}
+
+_Noreturn void mini_mater_task(void *pv) {
+    uint8_t is_error_ffx[8] = {0};
+    for (;;) {
+//        if (osMutexAcquire(mini_mutex, osWaitForever) == osOK) {
+            bool is_power_on = false;
+            ffx_status_t status;
+            for (int i = 0; i < sizeof(coil); i++) {
+                if (coil[i] != 0) {
+                    uint16_t data[10];
+                    uint8_t inner_num = i + 1;
+                    nmbs_error err = nmbs_read_holding_registers(&nmbs,
+                                                                 (MINI_GATEWAY_INNER_POWER_ADDRESS + 25 * i),
+                                                                 4, &data[0]);
+                    if (err == NMBS_ERROR_NONE) {
+                        status.power = data[0];
+                        status.mode = data[1];
+                        status.fan_speed = data[3] - 2;
+                        status.set_temp = data[2] / 10;
+                        status.inner_num = inner_num;
+                        if ((status.power == INNER_POWER_ON) && (is_power_on == false)) {
+                            osDelay(100);
+                            is_power_on = true;
+                            set_reg_value(POWER_REG_ADDRESS, status.power);
+                            set_reg_value(WORK_MODE_REG_ADDRESS, status.mode);
+                            set_reg_value(FAN_SPEED_REG_ADDRESS, status.fan_speed);
+                            set_reg_value(SET_TEMP_REG_ADDRESS, status.set_temp);
+                            set_reg_value(INNER_ERROR1_REG_ADDRESS, 0);
+                            error_count = 0;
+                        }
+                    } else {
+                        error_count++;
+                        is_error_ffx[i]++;
+                        is_power_on = true;
+                        if ((status.power == INNER_POWER_OFF) && is_error_ffx[i] > 3) {
+                            set_reg_value(INNER_ERROR1_REG_ADDRESS, 1);
+                            set_reg_value(POWER_REG_ADDRESS, status.power);
+                            error_count = 0;
+                            is_error_ffx[i] = 0;
+                        }
+                    }
+                }
+                osDelay(1000);
+            }
+            if ((status.power == INNER_POWER_OFF) && (is_power_on == false)) {
+                set_reg_value(INNER_ERROR1_REG_ADDRESS, 0);
+                set_reg_value(POWER_REG_ADDRESS, status.power);
+                error_count = 0;
+            }
+            osDelay(1000);
+//            osMutexRelease(mini_mutex);
+//        }
+    }
 }
 
-_Noreturn void mini_mater_task(void *pv)
-{
-    for (;;)
-    {
-//        for (uint8_t i = 0; i < 10; i++)
-//        {
-//            bool regs[1] = {0};
-//            nmbs_error err = nmbs_read_coils(&nmbs, 120 + i, 1, &regs[0]);
-//            osDelay(300);
-//            if (err == NMBS_ERROR_NONE)
-//            {
-//                set_reg_value(INNER_POWER_REG_ADDRESS + i -1, regs[0]);
-//            }
+// 检测从机是否存在
+bool check_inner_slave_exist(uint8_t slave_addr) {
+    nmbs_set_destination_rtu_address(&nmbs, slave_addr);    // 设置从机地址
+    bool result;
+    osDelay(100);
+    nmbs_read_coils(&nmbs, MINI_GATEWAY_INNER_COIL_ADDRESS + slave_addr - 1, 1, &result);
+    if (result) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+_Noreturn void gateway_poll_task(void *pv) {
+    uint8_t count = 0;
+    for (;;) {
+        nmbs_bitfield regs = {0};
+//        if (osMutexAcquire(mini_mutex, osWaitForever) == osOK) {
+            for (int i = 0; i <= INNER_SLAVE_ADDRESS_END; i++) {
+                coil[i] = 0;
+            }
+            nmbs_error err1 = nmbs_read_coils(&nmbs, MINI_GATEWAY_INNER_COIL_ADDRESS, 8, &regs[0]);
+            nmbs_read_coils(&nmbs, MINI_GATEWAY_INNER_COIL2_ADDRESS, 8, &regs[1]);
+            nmbs_read_coils(&nmbs, MINI_GATEWAY_INNER_COIL_ERROR3_ADDRESS, 1, &regs[3]);
+            nmbs_read_coils(&nmbs, MINI_GATEWAY_INNER_COIL_ERROR4_ADDRESS, 1, &regs[4]);
+            osDelay(500);
+            if (err1 == NMBS_ERROR_NONE) {
+                set_reg_value(INNER_GROUP1_REG_ADDRESS, regs[0]);
+                set_reg_value(INNER_GROUP2_REG_ADDRESS, regs[1]);
+                set_reg_value(INNER_ERROR1_REG_ADDRESS, 0);
+                set_reg_value(INNER_ERROR3_REG_ADDRESS, regs[3] << 2);
+                set_reg_value(INNER_ERROR4_REG_ADDRESS, regs[4] << 3);
+                error_count = 0;
+                uint8_t buf;
+                for (int i = 0; i <= INNER_SLAVE_ADDRESS_END; i++) {
+                    buf = (regs[0] - is_slave_exist) << (7 - i);
+                    coil[i] = buf >> (7);
+                }
+            } else {
+                nmbs_error err2 = nmbs_read_coils(&nmbs, MINI_GATEWAY_INNER_COIL_ADDRESS, 8, &regs[0]);
+                osDelay(300);
+                if (err2 == NMBS_ERROR_NONE) {
+                    uint8_t buf;
+                    for (int i = 0; i <= INNER_SLAVE_ADDRESS_END; i++) {
+                        buf = (regs[0] - is_slave_exist) << (7 - i);
+                        coil[i] = buf >> (7);
+                    }
+                    error_count = 0;
+                    set_reg_value(INNER_GROUP1_REG_ADDRESS, regs[0]);
+                }
+            }
+            count--;
+            osDelay(500);
+//            osMutexRelease(mini_mutex);
+            osDelay(1000 * 60 * 10);
 //        }
-        osDelay(300);
-        HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
-        osDelay(1);
     }
 }
 
-void mini_gateway_master_init(void)
-{
+void mini_gateway_master_init(void) {
+//    mini_mutex = osMutexNew(NULL);
     nmbs_platform_conf platformConf;// 配置uart
+    nmbs_platform_conf_create(&platformConf);
     platformConf.transport = NMBS_TRANSPORT_RTU;// RTU
-    platformConf.read = &uart_read;     // 读写函数
+    platformConf.read = &uart_read;     // 读写函数1
     platformConf.write = &uart_write;   // 读写函数
     nmbs_client_create(&nmbs, &platformConf);// 创建客户端
-    nmbs_set_read_timeout(&nmbs, 1000);//
-    nmbs_set_byte_timeout(&nmbs, 1000);
+    nmbs_set_read_timeout(&nmbs, 300);
+    nmbs_set_byte_timeout(&nmbs, 300);
     nmbs_set_destination_rtu_address(&nmbs, MINI_GATEWAY_SLAVE_ADDRESS);
-    for (uint8_t i = 0; i < 2; i++)
-    {
-        bool regs[2] = {0};
-        nmbs_error err = nmbs_read_coils(&nmbs, 120, 8, &regs[0]);
-        osDelay(300);
-        nmbs_error err_2 = nmbs_read_coils(&nmbs, 120, 8, &regs[0]);
-        osDelay(300);
-        if ((err_2 == NMBS_ERROR_NONE) && (err == NMBS_ERROR_NONE))
-        {
-            set_reg_value(INNER_GROUP1_REG_ADDRESS, regs[0]);
-            set_reg_value(INNER_GROUP2_REG_ADDRESS, regs[1]);
-        } else
-        {
-            i = 0;
-        }
-    }
 
+    osThreadNew(gateway_poll_task, NULL, NULL);
     osThreadNew(mini_mater_task, NULL, NULL);
 }

+ 45 - 5
Core/Src/modbus.c

@@ -30,6 +30,8 @@
 #include <stdint.h>
 #include <string.h>
 
+#define NMBS_UNUSED_PARAM(x) ((x) = (x))
+
 #ifdef NMBS_DEBUG
 #include <stdio.h>
 #define NMBS_DEBUG_PRINT(...) printf(__VA_ARGS__)
@@ -57,10 +59,12 @@ static void discard_1(nmbs_t* nmbs) {
 
 
 #ifndef NMBS_SERVER_DISABLED
+#if !defined(NMBS_SERVER_READ_FILE_RECORD_DISABLED) || !defined(NMBS_SERVER_WRITE_FILE_RECORD_DISABLED)
 static void discard_n(nmbs_t* nmbs, uint16_t n) {
     nmbs->msg.buf_idx += n;
 }
 #endif
+#endif
 
 
 static uint16_t get_2(nmbs_t* nmbs) {
@@ -77,8 +81,9 @@ static void put_2(nmbs_t* nmbs, uint16_t data) {
     nmbs->msg.buf_idx += 2;
 }
 
-
+#define NMBS_SERVER_DISABLED
 #ifndef NMBS_SERVER_DISABLED
+#if !defined(NMBS_SERVER_READ_DEVICE_IDENTIFICATION_DISABLED)
 static void set_1(nmbs_t* nmbs, uint8_t data, uint8_t index) {
     nmbs->msg.buf[index] = data;
 }
@@ -89,6 +94,7 @@ static void set_2(nmbs_t* nmbs, uint16_t data, uint8_t index) {
     nmbs->msg.buf[index + 1] = (uint8_t) data;
 }
 #endif
+#endif
 
 
 static uint8_t* get_n(nmbs_t* nmbs, uint16_t n) {
@@ -99,12 +105,15 @@ static uint8_t* get_n(nmbs_t* nmbs, uint16_t n) {
 
 
 #ifndef NMBS_SERVER_DISABLED
+#if !defined(NMBS_SERVER_READ_DEVICE_IDENTIFICATION_DISABLED)
 static void put_n(nmbs_t* nmbs, const uint8_t* data, uint8_t size) {
     memcpy(&nmbs->msg.buf[nmbs->msg.buf_idx], data, size);
     nmbs->msg.buf_idx += size;
 }
+#endif
 
 
+#if !defined(NMBS_SERVER_WRITE_FILE_RECORD_DISABLED)
 static uint16_t* get_regs(nmbs_t* nmbs, uint16_t n) {
     uint16_t* msg_buf_ptr = (uint16_t*) (nmbs->msg.buf + nmbs->msg.buf_idx);
     nmbs->msg.buf_idx += n * 2;
@@ -114,6 +123,7 @@ static uint16_t* get_regs(nmbs_t* nmbs, uint16_t n) {
     return msg_buf_ptr;
 }
 #endif
+#endif
 
 
 #ifndef NMBS_CLIENT_DISABLED
@@ -177,7 +187,8 @@ nmbs_error nmbs_create(nmbs_t* nmbs, const nmbs_platform_conf* platform_conf) {
 
     nmbs->byte_timeout_ms = -1;
     nmbs->read_timeout_ms = -1;
-    if (!platform_conf)
+
+    if (!platform_conf || platform_conf->initialized != 0xFFFFDEBE)
         return NMBS_ERROR_INVALID_ARGUMENT;
 
     if (platform_conf->transport != NMBS_TRANSPORT_RTU && platform_conf->transport != NMBS_TRANSPORT_TCP)
@@ -202,6 +213,14 @@ void nmbs_set_byte_timeout(nmbs_t* nmbs, int32_t timeout_ms) {
 }
 
 
+void nmbs_platform_conf_create(nmbs_platform_conf* platform_conf) {
+    memset(platform_conf, 0, sizeof(nmbs_platform_conf));
+    platform_conf->crc_calc = nmbs_crc_calc;
+    // Workaround for older user code not calling nmbs_platform_conf_create()
+    platform_conf->initialized = 0xFFFFDEBE;
+}
+
+
 void nmbs_set_destination_rtu_address(nmbs_t* nmbs, uint8_t address) {
     nmbs->dest_address_rtu = address;
 }
@@ -212,7 +231,8 @@ void nmbs_set_platform_arg(nmbs_t* nmbs, void* arg) {
 }
 
 
-uint16_t nmbs_crc_calc(const uint8_t* data, uint32_t length) {
+uint16_t nmbs_crc_calc(const uint8_t* data, uint32_t length, void* arg) {
+    NMBS_UNUSED_PARAM(arg);
     uint16_t crc = 0xFFFF;
     for (uint32_t i = 0; i < length; i++) {
         crc ^= (uint16_t) data[i];
@@ -269,7 +289,7 @@ static nmbs_error recv_msg_footer(nmbs_t* nmbs) {
     NMBS_DEBUG_PRINT("\n");
 
     if (nmbs->platform.transport == NMBS_TRANSPORT_RTU) {
-        uint16_t crc = nmbs_crc_calc(nmbs->msg.buf, nmbs->msg.buf_idx);
+        uint16_t crc = nmbs->platform.crc_calc(nmbs->msg.buf, nmbs->msg.buf_idx, nmbs->platform.arg);
 
         nmbs_error err = recv(nmbs, 2);
         if (err != NMBS_ERROR_NONE)
@@ -367,6 +387,7 @@ static void put_msg_header(nmbs_t* nmbs, uint16_t data_length) {
 
 
 #ifndef NMBS_SERVER_DISABLED
+#if !defined(NMBS_SERVER_READ_DEVICE_IDENTIFICATION_DISABLED)
 static void set_msg_header_size(nmbs_t* nmbs, uint16_t data_length) {
     if (nmbs->platform.transport == NMBS_TRANSPORT_TCP) {
         data_length += 2;
@@ -374,13 +395,14 @@ static void set_msg_header_size(nmbs_t* nmbs, uint16_t data_length) {
     }
 }
 #endif
+#endif
 
 
 static nmbs_error send_msg(nmbs_t* nmbs) {
     NMBS_DEBUG_PRINT("\n");
 
     if (nmbs->platform.transport == NMBS_TRANSPORT_RTU) {
-        uint16_t crc = nmbs_crc_calc(nmbs->msg.buf, nmbs->msg.buf_idx);
+        uint16_t crc = nmbs->platform.crc_calc(nmbs->msg.buf, nmbs->msg.buf_idx, nmbs->platform.arg);
         put_2(nmbs, crc);
     }
 
@@ -493,6 +515,9 @@ static void put_req_header(nmbs_t* nmbs, uint16_t data_length) {
 #endif
 
 
+#if !defined(NMBS_CLIENT_DISABLED) ||                                                                                  \
+        (!defined(NMBS_SERVER_DISABLED) &&                                                                             \
+         (!defined(NMBS_SERVER_READ_COILS_DISABLED) || !defined(NMBS_SERVER_READ_DISCRETE_INPUTS_DISABLED)))
 static nmbs_error recv_read_discrete_res(nmbs_t* nmbs, nmbs_bitfield values) {
     nmbs_error err = recv_res_header(nmbs);
     if (err != NMBS_ERROR_NONE)
@@ -527,8 +552,12 @@ static nmbs_error recv_read_discrete_res(nmbs_t* nmbs, nmbs_bitfield values) {
 
     return NMBS_ERROR_NONE;
 }
+#endif
 
 
+#if !defined(NMBS_CLIENT_DISABLED) ||                                                                                  \
+        (!defined(NMBS_SERVER_DISABLED) && (!defined(NMBS_SERVER_READ_HOLDING_REGISTERS_DISABLED) ||                   \
+                                            !defined(NMBS_SERVER_READ_INPUT_REGISTERS_DISABLED)))
 static nmbs_error recv_read_registers_res(nmbs_t* nmbs, uint16_t quantity, uint16_t* registers) {
     nmbs_error err = recv_res_header(nmbs);
     if (err != NMBS_ERROR_NONE)
@@ -565,6 +594,7 @@ static nmbs_error recv_read_registers_res(nmbs_t* nmbs, uint16_t quantity, uint1
 
     return NMBS_ERROR_NONE;
 }
+#endif
 
 
 nmbs_error recv_write_single_coil_res(nmbs_t* nmbs, uint16_t address, uint16_t value_req) {
@@ -1838,11 +1868,20 @@ static nmbs_error handle_req_fc(nmbs_t* nmbs) {
 }
 
 
+void nmbs_callbacks_create(nmbs_callbacks* callbacks) {
+    memset(callbacks, 0, sizeof(nmbs_callbacks));
+    callbacks->initialized = 0xFFFFDEBE;
+}
+
+
 nmbs_error nmbs_server_create(nmbs_t* nmbs, uint8_t address_rtu, const nmbs_platform_conf* platform_conf,
                               const nmbs_callbacks* callbacks) {
     if (platform_conf->transport == NMBS_TRANSPORT_RTU && address_rtu == 0)
         return NMBS_ERROR_INVALID_ARGUMENT;
 
+    if (!callbacks || callbacks->initialized != 0xFFFFDEBE)
+        return NMBS_ERROR_INVALID_ARGUMENT;
+
     nmbs_error ret = nmbs_create(nmbs, platform_conf);
     if (ret != NMBS_ERROR_NONE)
         return ret;
@@ -1988,6 +2027,7 @@ nmbs_error nmbs_write_single_coil(nmbs_t* nmbs, uint16_t address, bool value) {
     return NMBS_ERROR_NONE;
 }
 
+
 nmbs_error nmbs_write_single_register(nmbs_t* nmbs, uint16_t address, uint16_t value) {
     msg_state_req(nmbs, 6);
     put_req_header(nmbs, 4);

+ 18 - 1
Core/Src/modbus_slave.c

@@ -7,6 +7,8 @@
 #include "mb.h"
 #include "cmsis_os2.h"
 
+extern uint8_t error_count;
+
 USHORT usSRegHoldStart = S_REG_HOLDING_START;
 static USHORT usSRegHoldBuf[S_REG_HOLDING_NREGS];
 const static osThreadAttr_t task_attributes = {
@@ -113,18 +115,33 @@ _Noreturn static void slave_485_task(void *pv)
 {
     eMBErrorCode code;
     uint8_t slave_addr = (uint8_t) pv;
+    uint8_t led_count = 0;
+    uint16_t reg_value;
     eMBInit(MB_RTU, slave_addr, 3, 9600, MB_PAR_NONE);
     eMBEnable();
     for (;;)
     {
         eMBPoll();
+        if ((led_count > 10) && (get_reg_value(INNER_ERROR2_REG_ADDRESS) || get_reg_value(INNER_ERROR1_REG_ADDRESS)))
+        {
+            reg_value ++;
+            if (reg_value > 20)
+            {
+                HAL_GPIO_TogglePin(LED_ERROR_GPIO_Port, LED_ERROR_Pin);
+//                HAL_GPIO_WritePin(LED_ERROR_GPIO_Port, LED_ERROR_Pin, GPIO_PIN_RESET);
+            }
+        } else
+        {
+            HAL_GPIO_WritePin(LED_ERROR_GPIO_Port, LED_ERROR_Pin, GPIO_PIN_SET);
+            reg_value = 0;
+        }
+        led_count++;
         osDelay(5);
     }
 }
 
 void start_485_slave(uint8_t address)//启动485从机
 {
-    usSRegHoldBuf[0] = address; // init current communication address
     osThreadNew(slave_485_task, (void *) address, &task_attributes);
 }
 

+ 1 - 1
Core/Src/stm32f1xx_it.c

@@ -20,9 +20,9 @@
 /* Includes ------------------------------------------------------------------*/
 #include "main.h"
 #include "stm32f1xx_it.h"
-#include "port.h"
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
+#include "port.h"
 /* USER CODE END Includes */
 
 /* Private typedef -----------------------------------------------------------*/

+ 89 - 1
Core/Src/usart.c

@@ -21,10 +21,24 @@
 #include "usart.h"
 
 /* USER CODE BEGIN 0 */
-
+int _read(int file, char *ptr, int len) {
+    /* receive data from serial huart1 */
+    HAL_UART_Receive(&huart1, ptr, len, 1000);
+    return (len);
+}
+void uart1_send(uint8_t *pdata, uint16_t len) {
+    HAL_UART_Transmit(&huart1, pdata, len, 1000);
+}
+//redirect _write to huart1,necessary for printf
+int _write(int file, char *ptr, int len) {
+    /* send data to serial huart1 */
+    uart1_send( ptr, len);
+    return len;
+}
 /* USER CODE END 0 */
 
 UART_HandleTypeDef huart4;
+UART_HandleTypeDef huart1;
 UART_HandleTypeDef huart2;
 UART_HandleTypeDef huart3;
 
@@ -55,6 +69,35 @@ void MX_UART4_Init(void)
 
   /* USER CODE END UART4_Init 2 */
 
+}
+/* USART1 init function */
+
+void MX_USART1_UART_Init(void)
+{
+
+  /* USER CODE BEGIN USART1_Init 0 */
+
+  /* USER CODE END USART1_Init 0 */
+
+  /* USER CODE BEGIN USART1_Init 1 */
+
+  /* USER CODE END USART1_Init 1 */
+  huart1.Instance = USART1;
+  huart1.Init.BaudRate = 115200;
+  huart1.Init.WordLength = UART_WORDLENGTH_8B;
+  huart1.Init.StopBits = UART_STOPBITS_1;
+  huart1.Init.Parity = UART_PARITY_NONE;
+  huart1.Init.Mode = UART_MODE_TX_RX;
+  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
+  if (HAL_UART_Init(&huart1) != HAL_OK)
+  {
+    Error_Handler();
+  }
+  /* USER CODE BEGIN USART1_Init 2 */
+
+  /* USER CODE END USART1_Init 2 */
+
 }
 /* USART2 init function */
 
@@ -149,6 +192,33 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
 
   /* USER CODE END UART4_MspInit 1 */
   }
+  else if(uartHandle->Instance==USART1)
+  {
+  /* USER CODE BEGIN USART1_MspInit 0 */
+
+  /* USER CODE END USART1_MspInit 0 */
+    /* USART1 clock enable */
+    __HAL_RCC_USART1_CLK_ENABLE();
+
+    __HAL_RCC_GPIOA_CLK_ENABLE();
+    /**USART1 GPIO Configuration
+    PA9     ------> USART1_TX
+    PA10     ------> USART1_RX
+    */
+    GPIO_InitStruct.Pin = GPIO_PIN_9;
+    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+    GPIO_InitStruct.Pin = GPIO_PIN_10;
+    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+    GPIO_InitStruct.Pull = GPIO_NOPULL;
+    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+  /* USER CODE BEGIN USART1_MspInit 1 */
+
+  /* USER CODE END USART1_MspInit 1 */
+  }
   else if(uartHandle->Instance==USART2)
   {
   /* USER CODE BEGIN USART2_MspInit 0 */
@@ -234,6 +304,24 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
 
   /* USER CODE END UART4_MspDeInit 1 */
   }
+  else if(uartHandle->Instance==USART1)
+  {
+  /* USER CODE BEGIN USART1_MspDeInit 0 */
+
+  /* USER CODE END USART1_MspDeInit 0 */
+    /* Peripheral clock disable */
+    __HAL_RCC_USART1_CLK_DISABLE();
+
+    /**USART1 GPIO Configuration
+    PA9     ------> USART1_TX
+    PA10     ------> USART1_RX
+    */
+    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
+
+  /* USER CODE BEGIN USART1_MspDeInit 1 */
+
+  /* USER CODE END USART1_MspDeInit 1 */
+  }
   else if(uartHandle->Instance==USART2)
   {
   /* USER CODE BEGIN USART2_MspDeInit 0 */

+ 145 - 136
Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h

@@ -1,7 +1,5 @@
-/* --------------------------------------------------------------------------
- * Portions Copyright © 2017 STMicroelectronics International N.V. All rights reserved.
- * Portions Copyright (c) 2013-2017 ARM Limited. All rights reserved.
- * --------------------------------------------------------------------------
+/*
+ * Copyright (c) 2013-2019 ARM Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -17,8 +15,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  *
+ * ----------------------------------------------------------------------
+ *
+ * $Date:        10. January 2017
+ * $Revision:    V2.1.0
+ *
  * Project:      CMSIS-RTOS API
- * Title:        cmsis_os.h header file
+ * Title:        cmsis_os.h FreeRTOS header file
  *
  * Version 0.02
  *    Initial Proposal Phase
@@ -36,7 +39,7 @@
  * Version 1.02
  *    Control functions for short timeouts in microsecond resolution:
  *    Added: osKernelSysTick, osKernelSysTickFrequency, osKernelSysTickMicroSec
- *    Removed: osSignalGet
+ *    Removed: osSignalGet 
  * Version 2.0.0
  *    OS objects creation without macros (dynamic creation and resource allocation):
  *     - added: osXxxxNew functions which replace osXxxxCreate
@@ -64,7 +67,7 @@
  *     - added: osThreadSuspend, osThreadResume
  *     - added: osThreadJoin, osThreadDetach, osThreadExit
  *     - added: osThreadGetCount, osThreadEnumerate
- *     - added: Thread Flags (moved from Signals)
+ *     - added: Thread Flags (moved from Signals) 
  *    Signals:
  *     - renamed osSignals to osThreadFlags (moved to Thread Flags)
  *     - changed return value of Set/Clear/Wait functions
@@ -107,7 +110,7 @@
  *     - added: osMessageQueueGetCapacity, osMessageQueueGetMsgSize
  *     - added: osMessageQueueGetCount, osMessageQueueGetSpace
  *     - added: osMessageQueueReset, osMessageQueueDelete
- *    Mail Queue:
+ *    Mail Queue: 
  *     - deprecated (superseded by extended Message Queue functionality)
  * Version 2.1.0
  *    Support for critical and uncritical sections (nesting safe):
@@ -116,16 +119,22 @@
  *    Updated Thread and Event Flags:
  *    - changed flags parameter and return type from int32_t to uint32_t
  *---------------------------------------------------------------------------*/
-
+ 
 #ifndef CMSIS_OS_H_
 #define CMSIS_OS_H_
 
-#define osCMSIS             0x20001U    ///< API version (main[31:16].sub[15:0])
+#include "FreeRTOS.h"
+#include "task.h"
 
-#define osCMSIS_FreeRTOS    0xA0001U    ///< RTOS identification and version (main[31:16].sub[15:0])
+#define RTOS_ID_n             ((tskKERNEL_VERSION_MAJOR << 16) | (tskKERNEL_VERSION_MINOR))
+#define RTOS_ID_s             ("FreeRTOS " tskKERNEL_VERSION_NUMBER)
 
-#define osKernelSystemId    "FreeRTOS V10.0.1" ///< RTOS identification string
+#define osCMSIS               0x20001U  ///< API version (main[31:16].sub[15:0])
 
+#define osCMSIS_FreeRTOS      RTOS_ID_n ///< RTOS identification and version (main[31:16].sub[15:0])
+ 
+#define osKernelSystemId      RTOS_ID_s ///< RTOS identification string
+ 
 #define osFeature_MainThread  0         ///< main thread      1=main can be thread, 0=not available
 #define osFeature_Signals     24U       ///< maximum number of Signal Flags available per thread
 #define osFeature_Semaphore   65535U    ///< maximum count for \ref osSemaphoreCreate function
@@ -134,7 +143,7 @@
 #define osFeature_Pool        0         ///< Memory Pools:    1=available, 0=not available
 #define osFeature_MessageQ    1         ///< Message Queues:  1=available, 0=not available
 #define osFeature_MailQ       0         ///< Mail Queues:     1=available, 0=not available
-
+ 
 #if   defined(__CC_ARM)
 #define os_InRegs __value_in_regs
 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
@@ -142,18 +151,17 @@
 #else
 #define os_InRegs
 #endif
-
+ 
 #include "cmsis_os2.h"
-#include "FreeRTOS.h"
-
+ 
 #ifdef  __cplusplus
 extern "C"
 {
 #endif
-
-
+ 
+ 
 // ==== Enumerations, structures, defines ====
-
+ 
 /// Priority values.
 #if (osCMSIS < 0x20000U)
 typedef enum {
@@ -173,10 +181,10 @@ typedef enum {
 
 /// Entry point of a thread.
 typedef void (*os_pthread) (void const *argument);
-
+ 
 /// Entry point of a timer call back function.
 typedef void (*os_ptimer) (void const *argument);
-
+ 
 /// Timer type.
 #if (osCMSIS < 0x20000U)
 typedef enum {
@@ -186,10 +194,10 @@ typedef enum {
 #else
 #define os_timer_type osTimerType_t
 #endif
-
+ 
 /// Timeout value.
 #define osWaitForever       0xFFFFFFFFU ///< Wait forever timeout value.
-
+ 
 /// Status code values returned by CMSIS-RTOS functions.
 #if (osCMSIS < 0x20000U)
 typedef enum {
@@ -221,48 +229,48 @@ typedef int32_t                  osStatus;
 #define osErrorValue            (-127)
 #define osErrorPriority         (-128)
 #endif
-
-
+ 
+ 
 // >>> the following data type definitions may be adapted towards a specific RTOS
-
+ 
 /// Thread ID identifies the thread.
 #if (osCMSIS < 0x20000U)
 typedef void *osThreadId;
 #else
 #define osThreadId osThreadId_t
 #endif
-
+ 
 /// Timer ID identifies the timer.
 #if (osCMSIS < 0x20000U)
 typedef void *osTimerId;
 #else
 #define osTimerId osTimerId_t
 #endif
-
+ 
 /// Mutex ID identifies the mutex.
 #if (osCMSIS < 0x20000U)
 typedef void *osMutexId;
 #else
 #define osMutexId osMutexId_t
 #endif
-
+ 
 /// Semaphore ID identifies the semaphore.
 #if (osCMSIS < 0x20000U)
 typedef void *osSemaphoreId;
 #else
 #define osSemaphoreId osSemaphoreId_t
 #endif
-
+ 
 /// Pool ID identifies the memory pool.
 typedef void *osPoolId;
-
+ 
 /// Message ID identifies the message queue.
 typedef void *osMessageQId;
-
+ 
 /// Mail ID identifies the mail queue.
 typedef void *osMailQId;
-
-
+ 
+ 
 /// Thread Definition structure contains startup information of a thread.
 #if (osCMSIS < 0x20000U)
 typedef struct os_thread_def {
@@ -277,7 +285,7 @@ typedef struct os_thread_def {
   osThreadAttr_t                attr;   ///< thread attributes
 } osThreadDef_t;
 #endif
-
+ 
 /// Timer Definition structure contains timer parameters.
 #if (osCMSIS < 0x20000U)
 typedef struct os_timer_def {
@@ -289,7 +297,7 @@ typedef struct os_timer_def {
   osTimerAttr_t                 attr;   ///< timer attributes
 } osTimerDef_t;
 #endif
-
+ 
 /// Mutex Definition structure contains setup information for a mutex.
 #if (osCMSIS < 0x20000U)
 typedef struct os_mutex_def {
@@ -298,7 +306,7 @@ typedef struct os_mutex_def {
 #else
 #define osMutexDef_t osMutexAttr_t
 #endif
-
+ 
 /// Semaphore Definition structure contains setup information for a semaphore.
 #if (osCMSIS < 0x20000U)
 typedef struct os_semaphore_def {
@@ -307,7 +315,7 @@ typedef struct os_semaphore_def {
 #else
 #define osSemaphoreDef_t osSemaphoreAttr_t
 #endif
-
+ 
 /// Definition structure for memory block allocation.
 #if (osCMSIS < 0x20000U)
 typedef struct os_pool_def {
@@ -322,7 +330,7 @@ typedef struct os_pool_def {
   osMemoryPoolAttr_t            attr;   ///< memory pool attributes
 } osPoolDef_t;
 #endif
-
+ 
 /// Definition structure for message queue.
 #if (osCMSIS < 0x20000U)
 typedef struct os_messageQ_def {
@@ -335,7 +343,7 @@ typedef struct os_messageQ_def {
   osMessageQueueAttr_t          attr;   ///< message queue attributes
 } osMessageQDef_t;
 #endif
-
+ 
 /// Definition structure for mail queue.
 #if (osCMSIS < 0x20000U)
 typedef struct os_mailQ_def {
@@ -352,8 +360,8 @@ typedef struct os_mailQ_def {
   osMessageQueueAttr_t       mq_attr;   ///< message queue attributes
 } osMailQDef_t;
 #endif
-
-
+ 
+ 
 /// Event structure contains detailed information about an event.
 typedef struct {
   osStatus                    status;   ///< status code: event or error information
@@ -367,44 +375,44 @@ typedef struct {
     osMessageQId          message_id;   ///< message id obtained by \ref osMessageCreate
   } def;                                ///< event definition
 } osEvent;
-
-
+ 
+ 
 //  ==== Kernel Management Functions ====
-
+ 
 /// Initialize the RTOS Kernel for creating objects.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osKernelInitialize (void);
 #endif
-
+ 
 /// Start the RTOS Kernel scheduler.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osKernelStart (void);
 #endif
-
+ 
 /// Check if the RTOS kernel is already started.
 /// \return 0 RTOS is not started, 1 RTOS is started.
 #if (osCMSIS < 0x20000U)
 int32_t osKernelRunning(void);
 #endif
-
+ 
 #if (defined(osFeature_SysTick) && (osFeature_SysTick != 0))  // System Timer available
-
+ 
 /// Get the RTOS kernel system timer counter.
-/// \return RTOS kernel system timer as 32-bit value
+/// \return RTOS kernel system timer as 32-bit value 
 #if (osCMSIS < 0x20000U)
 uint32_t osKernelSysTick (void);
 #else
 #define  osKernelSysTick osKernelGetSysTimerCount
 #endif
-
+ 
 /// The RTOS kernel system timer frequency in Hz.
 /// \note Reflects the system timer setting and is typically defined in a configuration file.
 #if (osCMSIS < 0x20000U)
 #define osKernelSysTickFrequency 100000000
 #endif
-
+ 
 /// Convert a microseconds value to a RTOS kernel system timer value.
 /// \param         microsec     time value in microseconds.
 /// \return time value normalized to the \ref osKernelSysTickFrequency
@@ -413,23 +421,23 @@ uint32_t osKernelSysTick (void);
 #else
 #define osKernelSysTickMicroSec(microsec) (((uint64_t)microsec *  osKernelGetSysTimerFreq()) / 1000000)
 #endif
-
+ 
 #endif  // System Timer available
-
-
+ 
+ 
 //  ==== Thread Management Functions ====
-
+ 
 /// Create a Thread Definition with function, priority, and stack requirements.
 /// \param         name          name of the thread function.
 /// \param         priority      initial priority of the thread function.
-/// \param         instances     number of possible thread instances (used to statically allocate memory).
+/// \param         instances     number of possible thread instances.
 /// \param         stacksz       stack size (in bytes) requirements for the thread function.
 #if defined (osObjectsExternal)  // object is external
 #define osThreadDef(name, priority, instances, stacksz) \
 extern const osThreadDef_t os_thread_def_##name
 #else                            // define the object
 #define osThreadDef(name, priority, instances, stacksz) \
-static uint32_t os_thread_stack##name[(stacksz)?(((stacksz+3)/4)):1]; \
+static uint64_t os_thread_stack##name[(stacksz)?(((stacksz+7)/8)):1]; \
 static StaticTask_t os_thread_cb_##name; \
 const osThreadDef_t os_thread_def_##name = \
 { (name), \
@@ -437,27 +445,27 @@ const osThreadDef_t os_thread_def_##name = \
     (instances == 1) ? (&os_thread_cb_##name) : NULL,\
     (instances == 1) ? sizeof(StaticTask_t) : 0U, \
     ((stacksz) && (instances == 1)) ? (&os_thread_stack##name) : NULL, \
-    4*((stacksz+3)/4), \
+    8*((stacksz+7)/8), \
     (priority), 0U, 0U } }
 #endif
-
+ 
 /// Access a Thread definition.
 /// \param         name          name of the thread definition object.
 #define osThread(name) \
 &os_thread_def_##name
-
+ 
 /// Create a thread and add it to Active Threads and set it to state READY.
 /// \param[in]     thread_def    thread definition referenced with \ref osThread.
 /// \param[in]     argument      pointer that is passed to the thread function as start argument.
 /// \return thread ID for reference by other functions or NULL in case of error.
 osThreadId osThreadCreate (const osThreadDef_t *thread_def, void *argument);
-
+ 
 /// Return the thread ID of the current running thread.
 /// \return thread ID for reference by other functions or NULL in case of error.
 #if (osCMSIS < 0x20000U)
 osThreadId osThreadGetId (void);
 #endif
-
+ 
 /// Change priority of a thread.
 /// \param[in]     thread_id     thread ID obtained by \ref osThreadCreate or \ref osThreadGetId.
 /// \param[in]     priority      new priority value for the thread function.
@@ -465,70 +473,70 @@ osThreadId osThreadGetId (void);
 #if (osCMSIS < 0x20000U)
 osStatus osThreadSetPriority (osThreadId thread_id, osPriority priority);
 #endif
-
+ 
 /// Get current priority of a thread.
 /// \param[in]     thread_id     thread ID obtained by \ref osThreadCreate or \ref osThreadGetId.
 /// \return current priority value of the specified thread.
 #if (osCMSIS < 0x20000U)
 osPriority osThreadGetPriority (osThreadId thread_id);
 #endif
-
+ 
 /// Pass control to next thread that is in state \b READY.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osThreadYield (void);
 #endif
-
+ 
 /// Terminate execution of a thread.
 /// \param[in]     thread_id     thread ID obtained by \ref osThreadCreate or \ref osThreadGetId.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osThreadTerminate (osThreadId thread_id);
 #endif
-
-
+ 
+ 
 //  ==== Signal Management ====
-
+ 
 /// Set the specified Signal Flags of an active thread.
 /// \param[in]     thread_id     thread ID obtained by \ref osThreadCreate or \ref osThreadGetId.
 /// \param[in]     signals       specifies the signal flags of the thread that should be set.
 /// \return previous signal flags of the specified thread or 0x80000000 in case of incorrect parameters.
 int32_t osSignalSet (osThreadId thread_id, int32_t signals);
-
+ 
 /// Clear the specified Signal Flags of an active thread.
 /// \param[in]     thread_id     thread ID obtained by \ref osThreadCreate or \ref osThreadGetId.
 /// \param[in]     signals       specifies the signal flags of the thread that shall be cleared.
 /// \return previous signal flags of the specified thread or 0x80000000 in case of incorrect parameters or call from ISR.
 int32_t osSignalClear (osThreadId thread_id, int32_t signals);
-
+ 
 /// Wait for one or more Signal Flags to become signaled for the current \b RUNNING thread.
 /// \param[in]     signals       wait until all specified signal flags set or 0 for any single signal flag.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
 /// \return event flag information or error code.
 os_InRegs osEvent osSignalWait (int32_t signals, uint32_t millisec);
-
-
+ 
+ 
 //  ==== Generic Wait Functions ====
-
+ 
 /// Wait for Timeout (Time Delay).
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue "time delay" value
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osDelay (uint32_t millisec);
 #endif
-
+ 
 #if (defined (osFeature_Wait) && (osFeature_Wait != 0))  // Generic Wait available
-
+ 
 /// Wait for Signal, Message, Mail, or Timeout.
 /// \param[in] millisec          \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out
 /// \return event that contains signal, message, or mail information or error code.
 os_InRegs osEvent osWait (uint32_t millisec);
-
+ 
 #endif  // Generic Wait available
-
-
+ 
+ 
 //  ==== Timer Management Functions ====
-
+ 
 /// Define a Timer object.
 /// \param         name          name of the timer object.
 /// \param         function      name of the timer call back function.
@@ -541,19 +549,19 @@ static StaticTimer_t os_timer_cb_##name; \
 const osTimerDef_t os_timer_def_##name = \
 { (function), { NULL, 0U, (&os_timer_cb_##name), sizeof(StaticTimer_t) } }
 #endif
-
+ 
 /// Access a Timer definition.
 /// \param         name          name of the timer object.
 #define osTimer(name) \
 &os_timer_def_##name
-
+ 
 /// Create and Initialize a timer.
 /// \param[in]     timer_def     timer object referenced with \ref osTimer.
 /// \param[in]     type          osTimerOnce for one-shot or osTimerPeriodic for periodic behavior.
 /// \param[in]     argument      argument to the timer call back function.
 /// \return timer ID for reference by other functions or NULL in case of error.
 osTimerId osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument);
-
+ 
 /// Start or restart a timer.
 /// \param[in]     timer_id      timer ID obtained by \ref osTimerCreate.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue "time delay" value of the timer.
@@ -561,24 +569,24 @@ osTimerId osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void
 #if (osCMSIS < 0x20000U)
 osStatus osTimerStart (osTimerId timer_id, uint32_t millisec);
 #endif
-
+ 
 /// Stop a timer.
 /// \param[in]     timer_id      timer ID obtained by \ref osTimerCreate.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osTimerStop (osTimerId timer_id);
 #endif
-
+ 
 /// Delete a timer.
 /// \param[in]     timer_id      timer ID obtained by \ref osTimerCreate.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osTimerDelete (osTimerId timer_id);
 #endif
-
-
+ 
+ 
 //  ==== Mutex Management Functions ====
-
+ 
 /// Define a Mutex.
 /// \param         name          name of the mutex object.
 #if defined (osObjectsExternal)  // object is external
@@ -590,17 +598,17 @@ static StaticSemaphore_t os_mutex_cb_##name; \
 const osMutexDef_t os_mutex_def_##name = \
 { NULL, osMutexRecursive | osMutexPrioInherit, (&os_mutex_cb_##name), sizeof(StaticSemaphore_t) }
 #endif
-
+ 
 /// Access a Mutex definition.
 /// \param         name          name of the mutex object.
 #define osMutex(name) \
 &os_mutex_def_##name
-
+ 
 /// Create and Initialize a Mutex object.
 /// \param[in]     mutex_def     mutex definition referenced with \ref osMutex.
 /// \return mutex ID for reference by other functions or NULL in case of error.
 osMutexId osMutexCreate (const osMutexDef_t *mutex_def);
-
+ 
 /// Wait until a Mutex becomes available.
 /// \param[in]     mutex_id      mutex ID obtained by \ref osMutexCreate.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
@@ -610,26 +618,26 @@ osStatus osMutexWait (osMutexId mutex_id, uint32_t millisec);
 #else
 #define  osMutexWait osMutexAcquire
 #endif
-
+ 
 /// Release a Mutex that was obtained by \ref osMutexWait.
 /// \param[in]     mutex_id      mutex ID obtained by \ref osMutexCreate.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osMutexRelease (osMutexId mutex_id);
 #endif
-
+ 
 /// Delete a Mutex object.
 /// \param[in]     mutex_id      mutex ID obtained by \ref osMutexCreate.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osMutexDelete (osMutexId mutex_id);
 #endif
-
-
+ 
+ 
 //  ==== Semaphore Management Functions ====
-
+ 
 #if (defined (osFeature_Semaphore) && (osFeature_Semaphore != 0U))  // Semaphore available
-
+ 
 /// Define a Semaphore object.
 /// \param         name          name of the semaphore object.
 #if defined (osObjectsExternal)  // object is external
@@ -641,45 +649,45 @@ static StaticSemaphore_t os_semaphore_cb_##name; \
 const osSemaphoreDef_t os_semaphore_def_##name = \
 { NULL, 0U, (&os_semaphore_cb_##name), sizeof(StaticSemaphore_t) }
 #endif
-
+ 
 /// Access a Semaphore definition.
 /// \param         name          name of the semaphore object.
 #define osSemaphore(name) \
 &os_semaphore_def_##name
-
+ 
 /// Create and Initialize a Semaphore object.
 /// \param[in]     semaphore_def semaphore definition referenced with \ref osSemaphore.
 /// \param[in]     count         maximum and initial number of available tokens.
 /// \return semaphore ID for reference by other functions or NULL in case of error.
 osSemaphoreId osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count);
-
+ 
 /// Wait until a Semaphore token becomes available.
 /// \param[in]     semaphore_id  semaphore object referenced with \ref osSemaphoreCreate.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
 /// \return number of available tokens, or -1 in case of incorrect parameters.
 int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec);
-
+ 
 /// Release a Semaphore token.
 /// \param[in]     semaphore_id  semaphore object referenced with \ref osSemaphoreCreate.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osSemaphoreRelease (osSemaphoreId semaphore_id);
 #endif
-
+ 
 /// Delete a Semaphore object.
 /// \param[in]     semaphore_id  semaphore object referenced with \ref osSemaphoreCreate.
 /// \return status code that indicates the execution status of the function.
 #if (osCMSIS < 0x20000U)
 osStatus osSemaphoreDelete (osSemaphoreId semaphore_id);
 #endif
-
+ 
 #endif  // Semaphore available
-
-
+ 
+ 
 //  ==== Memory Pool Management Functions ====
 
 #if (defined(osFeature_Pool) && (osFeature_Pool != 0))  // Memory Pool available
-
+ 
 /// \brief Define a Memory Pool.
 /// \param         name          name of the memory pool.
 /// \param         no            maximum number of blocks (objects) in the memory pool.
@@ -690,42 +698,42 @@ extern const osPoolDef_t os_pool_def_##name
 #else                            // define the object
 #define osPoolDef(name, no, type) \
 const osPoolDef_t os_pool_def_##name = \
-{ (no), sizeof(type), NULL }
+{ (no), sizeof(type), {NULL} }
 #endif
-
+ 
 /// \brief Access a Memory Pool definition.
 /// \param         name          name of the memory pool
 #define osPool(name) \
 &os_pool_def_##name
-
+ 
 /// Create and Initialize a Memory Pool object.
 /// \param[in]     pool_def      memory pool definition referenced with \ref osPool.
 /// \return memory pool ID for reference by other functions or NULL in case of error.
 osPoolId osPoolCreate (const osPoolDef_t *pool_def);
-
+ 
 /// Allocate a memory block from a Memory Pool.
 /// \param[in]     pool_id       memory pool ID obtain referenced with \ref osPoolCreate.
 /// \return address of the allocated memory block or NULL in case of no memory available.
 void *osPoolAlloc (osPoolId pool_id);
-
+ 
 /// Allocate a memory block from a Memory Pool and set memory block to zero.
 /// \param[in]     pool_id       memory pool ID obtain referenced with \ref osPoolCreate.
 /// \return address of the allocated memory block or NULL in case of no memory available.
 void *osPoolCAlloc (osPoolId pool_id);
-
+ 
 /// Return an allocated memory block back to a Memory Pool.
 /// \param[in]     pool_id       memory pool ID obtain referenced with \ref osPoolCreate.
 /// \param[in]     block         address of the allocated memory block to be returned to the memory pool.
 /// \return status code that indicates the execution status of the function.
 osStatus osPoolFree (osPoolId pool_id, void *block);
-
+ 
 #endif  // Memory Pool available
-
-
+ 
+ 
 //  ==== Message Queue Management Functions ====
-
+ 
 #if (defined(osFeature_MessageQ) && (osFeature_MessageQ != 0))  // Message Queue available
-
+  
 /// \brief Create a Message Queue Definition.
 /// \param         name          name of the queue.
 /// \param         queue_sz      maximum number of messages in the queue.
@@ -742,38 +750,38 @@ const osMessageQDef_t os_messageQ_def_##name = \
   { NULL, 0U, (&os_mq_cb_##name), sizeof(StaticQueue_t), \
               (&os_mq_data_##name), sizeof(os_mq_data_##name) } }
 #endif
-
+ 
 /// \brief Access a Message Queue Definition.
 /// \param         name          name of the queue
 #define osMessageQ(name) \
 &os_messageQ_def_##name
-
+ 
 /// Create and Initialize a Message Queue object.
 /// \param[in]     queue_def     message queue definition referenced with \ref osMessageQ.
 /// \param[in]     thread_id     thread ID (obtained by \ref osThreadCreate or \ref osThreadGetId) or NULL.
 /// \return message queue ID for reference by other functions or NULL in case of error.
 osMessageQId osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id);
-
+ 
 /// Put a Message to a Queue.
 /// \param[in]     queue_id      message queue ID obtained with \ref osMessageCreate.
 /// \param[in]     info          message information.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
 /// \return status code that indicates the execution status of the function.
 osStatus osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t millisec);
-
+ 
 /// Get a Message from a Queue or timeout if Queue is empty.
 /// \param[in]     queue_id      message queue ID obtained with \ref osMessageCreate.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
 /// \return event information that includes status code.
 os_InRegs osEvent osMessageGet (osMessageQId queue_id, uint32_t millisec);
-
+ 
 #endif  // Message Queue available
-
-
+ 
+ 
 //  ==== Mail Queue Management Functions ====
-
+ 
 #if (defined(osFeature_MailQ) && (osFeature_MailQ != 0))  // Mail Queue available
-
+ 
 /// \brief Create a Mail Queue Definition.
 /// \param         name          name of the queue.
 /// \param         queue_sz      maximum number of mails in the queue.
@@ -786,52 +794,53 @@ extern const osMailQDef_t os_mailQ_def_##name
 const osMailQDef_t os_mailQ_def_##name = \
 { (queue_sz), sizeof(type), NULL }
 #endif
-
+ 
 /// \brief Access a Mail Queue Definition.
 /// \param         name          name of the queue
 #define osMailQ(name) \
 &os_mailQ_def_##name
-
+ 
 /// Create and Initialize a Mail Queue object.
 /// \param[in]     queue_def     mail queue definition referenced with \ref osMailQ.
 /// \param[in]     thread_id     thread ID (obtained by \ref osThreadCreate or \ref osThreadGetId) or NULL.
 /// \return mail queue ID for reference by other functions or NULL in case of error.
 osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id);
-
+ 
 /// Allocate a memory block for mail from a mail memory pool.
 /// \param[in]     queue_id      mail queue ID obtained with \ref osMailCreate.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out
 /// \return pointer to memory block that can be filled with mail or NULL in case of error.
 void *osMailAlloc (osMailQId queue_id, uint32_t millisec);
-
+ 
 /// Allocate a memory block for mail from a mail memory pool and set memory block to zero.
 /// \param[in]     queue_id      mail queue ID obtained with \ref osMailCreate.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out
 /// \return pointer to memory block that can be filled with mail or NULL in case of error.
 void *osMailCAlloc (osMailQId queue_id, uint32_t millisec);
-
+ 
 /// Put a Mail into a Queue.
 /// \param[in]     queue_id      mail queue ID obtained with \ref osMailCreate.
 /// \param[in]     mail          pointer to memory with mail to put into a queue.
 /// \return status code that indicates the execution status of the function.
 osStatus osMailPut (osMailQId queue_id, const void *mail);
-
+ 
 /// Get a Mail from a Queue or timeout if Queue is empty.
 /// \param[in]     queue_id      mail queue ID obtained with \ref osMailCreate.
 /// \param[in]     millisec      \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out.
 /// \return event information that includes status code.
 os_InRegs osEvent osMailGet (osMailQId queue_id, uint32_t millisec);
-
+ 
 /// Free a memory block by returning it to a mail memory pool.
 /// \param[in]     queue_id      mail queue ID obtained with \ref osMailCreate.
 /// \param[in]     mail          pointer to memory block that was obtained with \ref osMailGet.
 /// \return status code that indicates the execution status of the function.
 osStatus osMailFree (osMailQId queue_id, void *mail);
-
+ 
 #endif  // Mail Queue available
-
+ 
+ 
 #ifdef  __cplusplus
 }
 #endif
-
+ 
 #endif  // CMSIS_OS_H_

Plik diff jest za duży
+ 1209 - 1209
Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c


BIN
cmake-build-debug-mingw/.ninja_deps


+ 178 - 106
cmake-build-debug-mingw/.ninja_log

@@ -1,107 +1,179 @@
 # ninja log v6
-1163	2073	7509483376352891	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding.c.obj	f4267e91064d9e38
-9	673	7512895043602271	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-2490	3671	7509478622131202	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c.obj	6c0223c37410b9b6
-4	353	7512931572942161	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/led.cpp.obj	a2ed9f56f243f4f3
-2377	3592	7509478620997241	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c.obj	d473059a8c42e1b7
-86	1328	7509478598097469	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj	488b546fd0401b54
-1956	2759	7509483384272865	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbrtu.c.obj	ce09c3a94d74ec54
-2073	2761	7509483385447734	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/tcp/mbtcp.c.obj	9b09a9fae28faf2b
-704	1918	7509478604279215	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_msp.c.obj	a09db25ac34bc5c
-865	1875	7509483373362022	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc_m.c.obj	f0c3d243bc5672df
-193	1442	7509478599158710	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/gpio.c.obj	cae894cc54e00456
-106	701	7512895044579377	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/main.c.obj	cbc1b3153b918dca
-6114	7349	7509478658370524	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj	fab666565700010d
-2263	3509	7509478619871899	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c.obj	2f96ff616864dab9
-72	433	7512931573632156	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-584	1806	7509478603076109	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus.c.obj	e6e25f88100c4bb0
-826	2021	7509478605498054	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_timebase_tim.c.obj	b9081ea27a1fe7ef
-1573	2633	7509483380449778	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncother.c.obj	ed2187230f3ac0db
-130	1384	7509483366019369	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_it.c.obj	5dc587b88b9c0c0d
-1039	2263	7509478607625197	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/syscalls.c.obj	d9bdce492fce6e2
-1211	2377	7509478609345551	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/sysmem.c.obj	8c44462201ed5840
-6274	7349	7509478659979837	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj	ab6a024bb7fce73f
-1328	2490	7509478610519710	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/system_stm32f1xx.c.obj	d2b497595dcc6f3e
-2760	3956	7509478624831050	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c.obj	15349ad6c2c50c82
-1528	2760	7509478612502757	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/usart.c.obj	bfe8c2204f5d0b6b
-723	1768	7509483371952136	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc.c.obj	ef8fdac7f2093dd4
-1630	2885	7509478613543232	CMakeFiles/gmv-gateway-board.elf.dir/Core/Startup/startup_stm32f103rctx.s.obj	86c38990d68fc275
-6765	7351	7509478664882946	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj	511b661de417ebdc
-1806	3000	7509478615294566	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c.obj	ca1ef5f0f4479189
-5969	7262	7509478656921032	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/user_mb_app.c.obj	461205c0acf988b8
-2021	3251	7509478617441106	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c.obj	201595e00fe68eae
-1918	3131	7509478616416571	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c.obj	309aac907ef90dcf
-2112	3377	7509478618351262	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c.obj	ccc9e8a62e99a967
-2635	3773	7509478623587217	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c.obj	4f0e587ee685a7a4
-2885	4078	7509478626086143	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c.obj	98aba44c6631b8c9
-2219	2762	7509483386908129	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portcritical.c.obj	d7f5885e4219b344
-3000	4228	7509478627228536	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c.obj	328a35b3d40d661b
-3131	4347	7509478628543812	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c.obj	eb5676f473eb343d
-3251	4475	7509478629748982	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c.obj	647b5f0fb1ac64ec
-558	1687	7509483370297212	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils_m.c.obj	5a3037369906be8
-3377	4625	7509478631011773	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c.obj	685efae61c2f03ca
-7024	7509	7509478667472878	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj	2d104472c8870760
-6404	7350	7509478661278499	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj	50e627d39ccd8004
-6511	7351	7509478662344698	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj	c40ab40237b3027f
-7141	7685	7509478668647047	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj	b30eda5bd576dd90
-6602	7351	7509478663246593	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c.obj	5bb1a90961e72600
-434	1078	7512931577245161	gmv-gateway-board.elf	2369f5f8cafc0e41
-7263	7655	7509478669857647	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj	52b9c0a41efb7fd7
-6899	7440	7509478666226459	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj	a39628c2cb25665a
-425	1573	7509483368973478	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils.c.obj	5cc41ea2bc135e9
-6	1191	7512932725333724	build.ninja	8f8da1363b934af3
-1442	2635	7509478611664119	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/tim.c.obj	3aa237f439484f33
-282	1456	7509483367541767	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/ascii/mbascii.c.obj	bfab5db9b9ae44c7
-3773	5016	7509478634973147	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdiag.c.obj	19fe52dce0bee3bb
-1002	1956	7509483374739926	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncfile.c.obj	5a7aa3fb7875566e
-1275	2219	7509483377464274	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding_m.c.obj	21c0be396a76e6b3
-2633	3055	7509483391038785	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/porttimer.c.obj	4e446420144bdffc
-1385	2343	7509483378567611	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput.c.obj	d61b072a66812a74
-1876	2759	7509483383472169	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbcrc.c.obj	84307e430b50a3cd
-1456	2513	7509483379278145	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput_m.c.obj	6bf7fb7ce50749db
-1687	2758	7509483381580305	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbutils.c.obj	7b545cbcce54b502
-1768	2758	7509483382389401	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/mb.c.obj	3790a9391464854
-2343	2881	7509483388145826	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portevent.c.obj	b671c0cd0b7a6f25
-2513	2959	7509483389843272	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portserial.c.obj	cb7a0da40981cc24
-154	656	7509485264052364	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	8274da526cc7281a
-9	318	7512932742426782	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/led.c.obj	597213607b05167f
-319	944	7512932745534193	gmv-gateway-board.elf	a28e4dc80e50c58b
-7	313	7512932901319988	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/led.c.obj	597213607b05167f
-314	900	7512932904384740	gmv-gateway-board.elf	a28e4dc80e50c58b
-59	14212	7513659101626210	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	8274da526cc7281a
-14212	16377	7513659243158927	gmv-gateway-board.elf	a28e4dc80e50c58b
-28	373	7513659809175278	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-377	947	7513659812669646	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	445	7513663526212707	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-88	494	7513663527063028	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/main.c.obj	cbc1b3153b918dca
-192	574	7513663528097832	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-575	1123	7513663531929051	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	371	7513672841955404	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-378	1028	7513672845696025	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	331	7513673976202087	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-333	939	7513673979503165	gmv-gateway-board.elf	a28e4dc80e50c58b
-6	336	7513674367064474	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-342	1036	7513674370421551	gmv-gateway-board.elf	a28e4dc80e50c58b
-3	370	7513674908387979	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-373	948	7513674912089202	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	454	7513677975147012	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-82	481	7513677975926511	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/main.c.obj	cbc1b3153b918dca
-185	552	7513677976957490	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-553	1137	7513677980636891	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	373	7513693778812446	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-96	461	7513693779737007	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-466	1102	7513693783429351	gmv-gateway-board.elf	a28e4dc80e50c58b
-5	370	7513695328209752	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-372	987	7513695331873729	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	335	7513697420792293	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	abed1a0678601283
-340	955	7513697424151183	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	339	7513700393638412	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-340	946	7513700396994940	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	332	7513701296490013	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-333	914	7513701299785948	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	318	7513707629644217	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-319	863	7513707632793546	gmv-gateway-board.elf	a28e4dc80e50c58b
-6	368	7513709159861804	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-369	995	7513709163484978	gmv-gateway-board.elf	a28e4dc80e50c58b
-4	389	7513710492619188	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	df4f48cfc5af53e5
-390	1033	7513710496476690	gmv-gateway-board.elf	a28e4dc80e50c58b
+4302	5219	7524101386598413	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding.c.obj	c16d78a5d5f41306
+5	403	7524962258624595	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+2606	3505	7524101369646628	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c.obj	f5238abe658f39cb
+2464	3356	7524101368212925	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c.obj	853df26b17a79a32
+4	336	7525682212021360	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj	8e78e9a3bef9dd01
+5219	6374	7524101395764842	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/tcp/mbtcp.c.obj	ffa6e3e4c0e5ffb5
+5108	6279	7524101394664534	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbrtu.c.obj	5510a7315de5dbfe
+915	1651	7524101352736759	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_msp.c.obj	3d55d812615153cf
+226	1269	7524101345833025	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/gpio.c.obj	70eb6152550c8693
+4061	4879	7524101384187308	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc_m.c.obj	a2e825e13dec8b25
+5913	7068	7524101402703892	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj	d72827ed6ee2e491
+109	478	7524755053350704	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/main.c.obj	55f34e283414df62
+70	412	7525682212673389	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	2715bb4eda440042
+2356	3249	7524101367146245	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c.obj	c3d66db775c321b3
+687	1535	7524101350457715	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus.c.obj	304db7c1c85a35df
+996	1773	7524101353535379	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_timebase_tim.c.obj	f1718a2c63201e69
+4699	5684	7524101390575565	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncother.c.obj	e3e056502a180d57
+1105	1878	7524101354623875	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_it.c.obj	79651096d763a4cb
+1269	1991	7524101356268937	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/syscalls.c.obj	3ab15fb95dda7462
+1360	2128	7524101357182118	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/sysmem.c.obj	53712d039717c308
+1440	2234	7524101357982510	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/system_stm32f1xx.c.obj	5958f4206ce22012
+6030	7069	7524101403882408	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj	ba555ef6c02da0a4
+3916	4699	7524101382731254	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc.c.obj	97dbab932b0e50b6
+1651	2464	7524101360092425	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/usart.c.obj	b76b7287830e7c86
+2872	3750	7524101372305955	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c.obj	71c212dfddadb141
+1773	2606	7524101361310711	CMakeFiles/gmv-gateway-board.elf.dir/Core/Startup/startup_stm32f103rctx.s.obj	54796add52dbe389
+1878	2720	7524101362359100	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c.obj	9f04a917cdd88a32
+5798	6968	7524101401560831	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/user_mb_app.c.obj	309636fdb363195c
+6520	7071	7524101408787716	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj	a449d230b4377516
+1991	2872	7524101363492188	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c.obj	6bd5d770a1b49d6d
+2128	2988	7524101364860713	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c.obj	8d469eca250cb04a
+2234	3143	7524101365926819	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c.obj	c0300c08d6128413
+2720	3687	7524101370781510	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c.obj	94eb54e1583ea016
+5329	6520	7524101396858140	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portcritical.c.obj	6002c04392b3f71e
+2988	3830	7524101373456831	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c.obj	8b51162577029222
+3143	3916	7524101375009003	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c.obj	712d74b675bdef23
+3250	5005	7524101376080155	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c.obj	9504366e394d9595
+3751	4491	7524101381089466	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils_m.c.obj	b87a4e93a0bfb11
+3356	4061	7524101377139654	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c.obj	2afb9f7193ed5acc
+3505	4220	7524101378634777	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c.obj	2399cc9ea379cab6
+6169	7070	7524101405275340	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj	bb77bf9541a56750
+6741	7188	7524101410992625	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj	96775fff7edf780b
+6279	7070	7524101406375214	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj	387a88653ad81c6e
+412	962	7525682216095782	gmv-gateway-board.elf	96c62e9a0ba4e015
+6374	7070	7524101407320478	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c.obj	32e82fdfaa77eb0e
+6866	7397	7524101412239043	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj	99a4163af41b9d44
+3687	4383	7524101380454668	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils.c.obj	1d59f1909f4edd34
+6641	7143	7524101409987734	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj	9363333b45fe9eb2
+6968	7388	7524101413261132	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj	159ad25951601609
+6	1191	7525684471078654	build.ninja	8f8da1363b934af3
+1535	2356	7524101358927711	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/tim.c.obj	8ab8361ecfb2465f
+3618	4301	7524101379767465	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/ascii/mbascii.c.obj	5a15e9298c4921f7
+3830	4592	7524101381876752	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdiag.c.obj	dfbeabc5faa7910
+4220	5108	7524101385778268	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncfile.c.obj	ac2ed75b5c69da83
+5684	6865	7524101400424318	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/porttimer.c.obj	bcfe77a81820d904
+4383	5328	7524101387408708	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding_m.c.obj	abf472d845e73151
+5006	6169	7524101393635994	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbcrc.c.obj	31dab9b5cf2ca095
+4491	5443	7524101388491941	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput.c.obj	d8380d77c6bb57d7
+4592	5574	7524101389493973	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput_m.c.obj	bfe8c71037bff0d7
+4795	5913	7524101391532950	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbutils.c.obj	f63fc3905bf6e053
+4879	6029	7524101392372928	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/mb.c.obj	1e56de13510f78ca
+5443	6641	7524101398009924	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portevent.c.obj	7f691681fbc62d
+5574	6741	7524101399325427	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portserial.c.obj	1b6c42240b4f72ed
+808	4795	7524101351658540	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+306	1360	7524101346633585	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/led.c.obj	14535b7ca6ff80e7
+9	1155	7525684883719686	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+112	1217	7525684884754947	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj	8e78e9a3bef9dd01
+204	1289	7525684885671094	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/gpio.c.obj	70eb6152550c8693
+295	1447	7525684886574051	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/led.c.obj	14535b7ca6ff80e7
+482	1579	7525684888443639	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/main.c.obj	55f34e283414df62
+787	1685	7525684891500513	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus.c.obj	304db7c1c85a35df
+1002	1874	7525684893651500	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_msp.c.obj	3d55d812615153cf
+1098	2004	7525684894604349	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_hal_timebase_tim.c.obj	f1718a2c63201e69
+1156	2176	7525684895186408	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/stm32f1xx_it.c.obj	79651096d763a4cb
+1217	2358	7525684895796084	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/syscalls.c.obj	3ab15fb95dda7462
+1289	2479	7525684896520287	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/sysmem.c.obj	53712d039717c308
+1447	2623	7525684898099918	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/system_stm32f1xx.c.obj	5958f4206ce22012
+1579	2738	7525684899424580	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/tim.c.obj	8ab8361ecfb2465f
+1685	2844	7525684900487238	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/usart.c.obj	b76b7287830e7c86
+1874	2947	7525684902372813	CMakeFiles/gmv-gateway-board.elf.dir/Core/Startup/startup_stm32f103rctx.s.obj	54796add52dbe389
+2004	3052	7525684903673405	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c.obj	9f04a917cdd88a32
+2176	3157	7525684905397073	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c.obj	6bd5d770a1b49d6d
+2358	3273	7525684907210102	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c.obj	8d469eca250cb04a
+2479	3391	7525684908428527	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c.obj	c0300c08d6128413
+2624	3481	7525684909872140	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c.obj	c3d66db775c321b3
+2738	3587	7525684911006968	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c.obj	853df26b17a79a32
+2844	3702	7525684912070967	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c.obj	f5238abe658f39cb
+2947	3793	7525684913097504	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c.obj	94eb54e1583ea016
+3052	3854	7525684914146200	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c.obj	71c212dfddadb141
+3157	3924	7525684915201126	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c.obj	8b51162577029222
+3273	4026	7525684916363382	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c.obj	712d74b675bdef23
+3391	4158	7525684917533778	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c.obj	9504366e394d9595
+3482	4291	7525684918450377	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c.obj	2afb9f7193ed5acc
+3587	4391	7525684919501794	CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c.obj	2399cc9ea379cab6
+597	4472	7525684889604444	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	2715bb4eda440042
+3702	4543	7525684920641173	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/ascii/mbascii.c.obj	5a15e9298c4921f7
+3793	4630	7525684921559311	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils.c.obj	1d59f1909f4edd34
+3854	4726	7525684922162141	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfunccoils_m.c.obj	b87a4e93a0bfb11
+3924	4900	7525684922865659	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdiag.c.obj	dfbeabc5faa7910
+4026	5001	7525684923898963	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc.c.obj	97dbab932b0e50b6
+4158	5068	7525684925213903	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncdisc_m.c.obj	a2e825e13dec8b25
+4291	5150	7525684926538221	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncfile.c.obj	ac2ed75b5c69da83
+4391	5263	7525684927536180	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding.c.obj	c16d78a5d5f41306
+4472	5359	7525684928354089	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncholding_m.c.obj	abf472d845e73151
+4543	5488	7525684929059208	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput.c.obj	d8380d77c6bb57d7
+908	5623	7525684892702969	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+4630	5716	7525684929939373	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncinput_m.c.obj	bfe8c71037bff0d7
+4726	5830	7525684930887916	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbfuncother.c.obj	e3e056502a180d57
+4900	5931	7525684932628121	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/functions/mbutils.c.obj	f63fc3905bf6e053
+5002	6029	7525684933643748	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/mb.c.obj	1e56de13510f78ca
+5068	6145	7525684934312541	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbcrc.c.obj	31dab9b5cf2ca095
+5151	6271	7525684935140014	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/rtu/mbrtu.c.obj	5510a7315de5dbfe
+5263	6361	7525684936259318	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/modbus/tcp/mbtcp.c.obj	ffa6e3e4c0e5ffb5
+5360	6519	7525684937221898	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portcritical.c.obj	6002c04392b3f71e
+5488	6627	7525684938516073	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portevent.c.obj	7f691681fbc62d
+5624	6730	7525684939862452	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/portserial.c.obj	1b6c42240b4f72ed
+5716	6843	7525684940783396	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/cmsis_rtos2/porttimer.c.obj	bcfe77a81820d904
+5831	6939	7525684941936319	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeModbus/port/user_mb_app.c.obj	309636fdb363195c
+6029	7028	7525684943916576	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj	ba555ef6c02da0a4
+6145	7029	7525684945084532	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj	bb77bf9541a56750
+6271	7030	7525684946337999	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj	387a88653ad81c6e
+6361	7031	7525684947241412	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c.obj	32e82fdfaa77eb0e
+6519	7031	7525684948815270	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj	a449d230b4377516
+6627	7105	7525684949907185	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj	9363333b45fe9eb2
+6730	7191	7525684950933728	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj	96775fff7edf780b
+6939	7310	7525684953021950	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj	159ad25951601609
+6843	7333	7525684952058162	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj	99a4163af41b9d44
+7	774	7525685282202439	CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj	d72827ed6ee2e491
+775	1512	7525685289890158	gmv-gateway-board.elf	96c62e9a0ba4e015
+5	400	7525702375627977	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	2715bb4eda440042
+401	1065	7525702379580238	gmv-gateway-board.elf	96c62e9a0ba4e015
+5	391	7525750079130808	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+77	468	7525750079847769	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	2715bb4eda440042
+468	1132	7525750083766249	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	363	7525750390433175	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+363	963	7525750394023122	gmv-gateway-board.elf	96c62e9a0ba4e015
+5	358	7525751458967004	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+358	999	7525751462499698	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	378	7525768904736978	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+378	1032	7525768908477268	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	372	7525770404103117	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+373	1049	7525770407799865	gmv-gateway-board.elf	96c62e9a0ba4e015
+5	386	7525780985696093	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+387	1020	7525780989513795	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	364	7525793534985719	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+365	991	7525793538593759	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	356	7525793965972173	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+357	1055	7525793969499402	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	370	7525800155350471	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+371	995	7525800159024221	gmv-gateway-board.elf	96c62e9a0ba4e015
+6	335	7525801272876993	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+336	889	7525801276173588	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	375	7525804000006298	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+375	1066	7525804003722464	gmv-gateway-board.elf	96c62e9a0ba4e015
+5	373	7525805060987738	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+374	1033	7525805064681657	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	374	7525806583424026	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj	8e78e9a3bef9dd01
+79	460	7525806584172954	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/mini_gateway_master.c.obj	2715bb4eda440042
+460	1006	7525806587986083	gmv-gateway-board.elf	96c62e9a0ba4e015
+5	324	7525806692906213	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj	8e78e9a3bef9dd01
+325	961	7525806696102084	gmv-gateway-board.elf	96c62e9a0ba4e015
+7	396	7525807867189015	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/freertos.c.obj	8e78e9a3bef9dd01
+93	513	7525807868051437	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+513	1103	7525807872249752	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	373	7525809971210922	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+374	971	7525809974911332	gmv-gateway-board.elf	96c62e9a0ba4e015
+10	356	7525810027622631	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+357	938	7525810031084120	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	319	7525810877777523	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+320	979	7525810880931105	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	349	7525811439212877	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+350	950	7525811442673135	gmv-gateway-board.elf	96c62e9a0ba4e015
+7	360	7525812568999922	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+360	985	7525812572533116	gmv-gateway-board.elf	96c62e9a0ba4e015
+4	330	7525813109635952	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/ffx_master.c.obj	bb3f9e6aaffc9871
+330	932	7525813112903170	gmv-gateway-board.elf	96c62e9a0ba4e015
+7	358	7525813690756953	CMakeFiles/gmv-gateway-board.elf.dir/Core/Src/modbus_slave.c.obj	28c1ac30baf35eca
+359	930	7525813694277687	gmv-gateway-board.elf	96c62e9a0ba4e015

+ 6 - 6
cmake-build-debug-mingw/CMakeCache.txt

@@ -1,5 +1,5 @@
 # This is the CMakeCache file.
-# For build in directory: c:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw
+# For build in directory: c:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw
 # It was generated by CMake: D:/clion/CLion 2024.1.4/bin/cmake/win/x64/bin/cmake.exe
 # You can edit this file to change values found and used by cmake.
 # If you do not want to change any of the values, simply exit the editor.
@@ -115,7 +115,7 @@ CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
 CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
 
 //Value Computed by CMake.
-CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/pkgRedirects
+CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/pkgRedirects
 
 //Install path prefix, prepended onto install directories.
 CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/gmv-gateway-board
@@ -224,13 +224,13 @@ CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
 CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
 
 //Value Computed by CMake
-gmv-gateway-board_BINARY_DIR:STATIC=C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw
+gmv-gateway-board_BINARY_DIR:STATIC=C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw
 
 //Value Computed by CMake
 gmv-gateway-board_IS_TOP_LEVEL:STATIC=ON
 
 //Value Computed by CMake
-gmv-gateway-board_SOURCE_DIR:STATIC=C:/Users/DELL/Desktop/gmv-gateway-board
+gmv-gateway-board_SOURCE_DIR:STATIC=C:/Users/DELL/Desktop/gmv-gateway-board-v
 
 
 ########################
@@ -255,7 +255,7 @@ CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
 CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 //This is the directory where this CMakeCache.txt was created
-CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw
+CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw
 //Major version of cmake used to create the current loaded cache
 CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
 //Minor version of cmake used to create the current loaded cache
@@ -324,7 +324,7 @@ CMAKE_GENERATOR_PLATFORM:INTERNAL=
 CMAKE_GENERATOR_TOOLSET:INTERNAL=
 //Source directory with the top level CMakeLists.txt file for this
 // project
-CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/DELL/Desktop/gmv-gateway-board
+CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/DELL/Desktop/gmv-gateway-board-v
 //ADVANCED property for variable: CMAKE_LINKER
 CMAKE_LINKER-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS

BIN
cmake-build-debug-mingw/CMakeFiles/3.28.1/CMakeDetermineCompilerABI_C.bin


BIN
cmake-build-debug-mingw/CMakeFiles/3.28.1/CMakeDetermineCompilerABI_CXX.bin


+ 42 - 42
cmake-build-debug-mingw/CMakeFiles/CMakeConfigureLog.yaml

@@ -49,7 +49,7 @@ events:
       Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
       
       The C compiler identification is GNU, found in:
-        C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/3.28.1/CompilerIdC/CMakeCCompilerId.o
+        C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/3.28.1/CompilerIdC/CMakeCCompilerId.o
       
   -
     kind: "message-v1"
@@ -91,7 +91,7 @@ events:
       Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
       
       The CXX compiler identification is GNU, found in:
-        C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/3.28.1/CompilerIdCXX/CMakeCXXCompilerId.o
+        C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/3.28.1/CompilerIdCXX/CMakeCXXCompilerId.o
       
   -
     kind: "message-v1"
@@ -115,8 +115,8 @@ events:
     checks:
       - "Detecting C compiler ABI info"
     directories:
-      source: "C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-xq7tgo"
-      binary: "C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-xq7tgo"
+      source: "C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-ne9avu"
+      binary: "C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-ne9avu"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_C_FLAGS_DEBUG: "-g"
@@ -125,10 +125,10 @@ events:
       variable: "CMAKE_C_ABI_COMPILED"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-xq7tgo'
+        Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-ne9avu'
         
-        Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_7683a
-        [1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c"
+        Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_aa859
+        [1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c"
         Using built-in specs.
         COLLECT_GCC=D:\\clion\\10.2021.10\\bin\\arm-none-eabi-gcc.exe
         Target: arm-none-eabi
@@ -136,8 +136,8 @@ events:
         Thread model: single
         Supported LTO compression algorithms: zlib
         gcc version 10.3.1 20210824 (release) (GNU Arm Embedded Toolchain 10.3-2021.10) 
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
-         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccL6fKnF.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
+         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccFEF9Q6.s
         GNU C17 (GNU Arm Embedded Toolchain 10.3-2021.10) version 10.3.1 20210824 (release) (arm-none-eabi)
         	compiled by GNU C version 7.3-win32 20180312, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version isl-0.18-GMP
         
@@ -158,13 +158,13 @@ events:
         
         GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
         Compiler executable checksum: f3937ce18b4177bfd408ca565336596a
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
-         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccL6fKnF.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
+         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccFEF9Q6.s
         GNU assembler version 2.36.1 (arm-none-eabi) using BFD version (GNU Arm Embedded Toolchain 10.3-2021.10) 2.36.1.20210621
         COMPILER_PATH=d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/;d:/clion/10.2021.10/bin/../lib/gcc/;d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/
         LIBRARY_PATH=d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/;d:/clion/10.2021.10/bin/../lib/gcc/;d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/;d:/clion/10.2021.10/bin/../arm-none-eabi/lib/
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d
-        [2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_7683a.a && arm-none-eabi-ar qc libcmTC_7683a.a  CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_7683a.a && cd ."
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d
+        [2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_aa859.a && arm-none-eabi-ar qc libcmTC_aa859.a  CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_aa859.a && cd ."
         
       exitCode: 0
   -
@@ -196,10 +196,10 @@ events:
     message: |
       Parsed C implicit link information:
         link line regex: [^( *|.*[/\\])(arm-none-eabi-ld\\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
-        ignore line: [Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-xq7tgo']
+        ignore line: [Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-ne9avu']
         ignore line: []
-        ignore line: [Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_7683a]
-        ignore line: [[1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c"]
+        ignore line: [Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_aa859]
+        ignore line: [[1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c"]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=D:\\clion\\10.2021.10\\bin\\arm-none-eabi-gcc.exe]
         ignore line: [Target: arm-none-eabi]
@@ -207,8 +207,8 @@ events:
         ignore line: [Thread model: single]
         ignore line: [Supported LTO compression algorithms: zlib]
         ignore line: [gcc version 10.3.1 20210824 (release) (GNU Arm Embedded Toolchain 10.3-2021.10) ]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
-        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccL6fKnF.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
+        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccFEF9Q6.s]
         ignore line: [GNU C17 (GNU Arm Embedded Toolchain 10.3-2021.10) version 10.3.1 20210824 (release) (arm-none-eabi)]
         ignore line: [	compiled by GNU C version 7.3-win32 20180312  GMP version 6.1.0  MPFR version 3.1.4  MPC version 1.0.3  isl version isl-0.18-GMP]
         ignore line: []
@@ -229,8 +229,8 @@ events:
         ignore line: []
         ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
         ignore line: [Compiler executable checksum: f3937ce18b4177bfd408ca565336596a]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
-        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccL6fKnF.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
+        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccFEF9Q6.s]
         ignore line: [GNU assembler version 2.36.1 (arm-none-eabi) using BFD version (GNU Arm Embedded Toolchain 10.3-2021.10) 2.36.1.20210621]
         ignore line: [COMPILER_PATH=d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/]
         ignore line: [d:/clion/10.2021.10/bin/../lib/gcc/]
@@ -239,8 +239,8 @@ events:
         ignore line: [d:/clion/10.2021.10/bin/../lib/gcc/]
         ignore line: [d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/]
         ignore line: [d:/clion/10.2021.10/bin/../arm-none-eabi/lib/]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d]
-        ignore line: [[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_7683a.a && arm-none-eabi-ar qc libcmTC_7683a.a  CMakeFiles/cmTC_7683a.dir/CMakeCCompilerABI.c.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_7683a.a && cd ."]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d]
+        ignore line: [[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_aa859.a && arm-none-eabi-ar qc libcmTC_aa859.a  CMakeFiles/cmTC_aa859.dir/CMakeCCompilerABI.c.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_aa859.a && cd ."]
         ignore line: []
         ignore line: []
         implicit libs: []
@@ -258,8 +258,8 @@ events:
     checks:
       - "Detecting CXX compiler ABI info"
     directories:
-      source: "C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-qvudpy"
-      binary: "C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-qvudpy"
+      source: "C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-2vfuio"
+      binary: "C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-2vfuio"
     cmakeVariables:
       CMAKE_CXX_FLAGS: ""
       CMAKE_CXX_FLAGS_DEBUG: "-g"
@@ -268,10 +268,10 @@ events:
       variable: "CMAKE_CXX_ABI_COMPILED"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-qvudpy'
+        Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-2vfuio'
         
-        Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_414c4
-        [1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-g++.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp"
+        Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_6d194
+        [1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-g++.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp"
         Using built-in specs.
         COLLECT_GCC=D:\\clion\\10.2021.10\\bin\\arm-none-eabi-g++.exe
         Target: arm-none-eabi
@@ -279,8 +279,8 @@ events:
         Thread model: single
         Supported LTO compression algorithms: zlib
         gcc version 10.3.1 20210824 (release) (GNU Arm Embedded Toolchain 10.3-2021.10) 
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
-         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1plus.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccx6w6XV.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
+         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1plus.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccAibG9k.s
         GNU C++14 (GNU Arm Embedded Toolchain 10.3-2021.10) version 10.3.1 20210824 (release) (arm-none-eabi)
         	compiled by GNU C version 7.3-win32 20180312, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3, isl version isl-0.18-GMP
         
@@ -307,13 +307,13 @@ events:
         
         GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
         Compiler executable checksum: f8787892a7c5aa84cea58dce52be7118
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
-         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccx6w6XV.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'
+         d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccAibG9k.s
         GNU assembler version 2.36.1 (arm-none-eabi) using BFD version (GNU Arm Embedded Toolchain 10.3-2021.10) 2.36.1.20210621
         COMPILER_PATH=d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/;d:/clion/10.2021.10/bin/../lib/gcc/;d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/\x0d
         LIBRARY_PATH=d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/;d:/clion/10.2021.10/bin/../lib/gcc/;d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/;d:/clion/10.2021.10/bin/../arm-none-eabi/lib/\x0d
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d
-        [2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_414c4.a && arm-none-eabi-ar qc libcmTC_414c4.a  CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_414c4.a && cd ."
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d
+        [2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_6d194.a && arm-none-eabi-ar qc libcmTC_6d194.a  CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_6d194.a && cd ."
         
       exitCode: 0
   -
@@ -351,10 +351,10 @@ events:
     message: |
       Parsed CXX implicit link information:
         link line regex: [^( *|.*[/\\])(arm-none-eabi-ld\\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
-        ignore line: [Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-qvudpy']
+        ignore line: [Change Dir: 'C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/CMakeScratch/TryCompile-2vfuio']
         ignore line: []
-        ignore line: [Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_414c4]
-        ignore line: [[1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-g++.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp"]
+        ignore line: [Run Build Command(s): "D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -v cmTC_6d194]
+        ignore line: [[1/2] D:\\clion\\10.2021.10\\bin\\arm-none-eabi-g++.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj -c "D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp"]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=D:\\clion\\10.2021.10\\bin\\arm-none-eabi-g++.exe]
         ignore line: [Target: arm-none-eabi]
@@ -362,8 +362,8 @@ events:
         ignore line: [Thread model: single]
         ignore line: [Supported LTO compression algorithms: zlib]
         ignore line: [gcc version 10.3.1 20210824 (release) (GNU Arm Embedded Toolchain 10.3-2021.10) ]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
-        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1plus.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccx6w6XV.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
+        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/cc1plus.exe -quiet -v -iprefix d:\\clion\\10.2021.10\\bin\\../lib/gcc/arm-none-eabi/10.3.1/ -isysroot d:\\clion\\10.2021.10\\bin\\../arm-none-eabi -D__USES_INITFINI__ D:/clion/CLion 2024.1.4/bin/cmake/win/x64/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=arm7tdmi -mfloat-abi=soft -marm -mlibarch=armv4t -march=armv4t -auxbase-strip CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj -version -fdiagnostics-color=always -o C:\\Users\\DELL\\AppData\\Local\\Temp\\ccAibG9k.s]
         ignore line: [GNU C++14 (GNU Arm Embedded Toolchain 10.3-2021.10) version 10.3.1 20210824 (release) (arm-none-eabi)]
         ignore line: [	compiled by GNU C version 7.3-win32 20180312  GMP version 6.1.0  MPFR version 3.1.4  MPC version 1.0.3  isl version isl-0.18-GMP]
         ignore line: []
@@ -390,8 +390,8 @@ events:
         ignore line: []
         ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
         ignore line: [Compiler executable checksum: f8787892a7c5aa84cea58dce52be7118]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
-        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccx6w6XV.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t']
+        ignore line: [ d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\DELL\\AppData\\Local\\Temp\\ccAibG9k.s]
         ignore line: [GNU assembler version 2.36.1 (arm-none-eabi) using BFD version (GNU Arm Embedded Toolchain 10.3-2021.10) 2.36.1.20210621]
         ignore line: [COMPILER_PATH=d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/]
         ignore line: [d:/clion/10.2021.10/bin/../lib/gcc/]
@@ -400,8 +400,8 @@ events:
         ignore line: [d:/clion/10.2021.10/bin/../lib/gcc/]
         ignore line: [d:/clion/10.2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/]
         ignore line: [d:/clion/10.2021.10/bin/../arm-none-eabi/lib/\x0d]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d]
-        ignore line: [[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_414c4.a && arm-none-eabi-ar qc libcmTC_414c4.a  CMakeFiles/cmTC_414c4.dir/CMakeCXXCompilerABI.cpp.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_414c4.a && cd ."]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t'\x0d]
+        ignore line: [[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && "D:\\clion\\CLion 2024.1.4\\bin\\cmake\\win\\x64\\bin\\cmake.exe" -E rm -f libcmTC_6d194.a && arm-none-eabi-ar qc libcmTC_6d194.a  CMakeFiles/cmTC_6d194.dir/CMakeCXXCompilerABI.cpp.obj && D:\\clion\\10.2021.10\\bin\\arm-none-eabi-ranlib.exe libcmTC_6d194.a && cd ."]
         ignore line: []
         ignore line: []
         implicit libs: []

+ 3 - 3
cmake-build-debug-mingw/CMakeFiles/TargetDirectories.txt

@@ -1,3 +1,3 @@
-C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir
-C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/edit_cache.dir
-C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/CMakeFiles/rebuild_cache.dir
+C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir
+C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/edit_cache.dir
+C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/CMakeFiles/rebuild_cache.dir

+ 18 - 4
cmake-build-debug-mingw/CMakeFiles/clion-Debug-MinGW-log.txt

@@ -1,5 +1,19 @@
-"D:\clion\CLion 2024.1.4\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug "-DCMAKE_MAKE_PROGRAM=D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -G Ninja -S C:\Users\DELL\Desktop\gmv-gateway-board -B C:\Users\DELL\Desktop\gmv-gateway-board\cmake-build-debug-mingw
+"D:\clion\CLion 2024.1.4\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug "-DCMAKE_MAKE_PROGRAM=D:/clion/CLion 2024.1.4/bin/ninja/win/x64/ninja.exe" -G Ninja -S C:\Users\DELL\Desktop\gmv-gateway-board-v -B C:\Users\DELL\Desktop\gmv-gateway-board-v\cmake-build-debug-mingw
+-- The C compiler identification is GNU 10.3.1
+-- The CXX compiler identification is GNU 10.3.1
+-- The ASM compiler identification is GNU
+-- Found assembler: D:/clion/10.2021.10/bin/arm-none-eabi-gcc.exe
+-- Detecting C compiler ABI info
+-- Detecting C compiler ABI info - done
+-- Check for working C compiler: D:/clion/10.2021.10/bin/arm-none-eabi-gcc.exe - skipped
+-- Detecting C compile features
+-- Detecting C compile features - done
+-- Detecting CXX compiler ABI info
+-- Detecting CXX compiler ABI info - done
+-- Check for working CXX compiler: D:/clion/10.2021.10/bin/arm-none-eabi-g++.exe - skipped
+-- Detecting CXX compile features
+-- Detecting CXX compile features - done
 -- Minimal optimization, debug info included
--- Configuring done (0.6s)
--- Generating done (0.0s)
--- Build files have been written to: C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw
+-- Configuring done (9.2s)
+-- Generating done (0.1s)
+-- Build files have been written to: C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw

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/gpio.c.obj


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


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


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


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


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


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


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


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


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


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


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Core/Startup/startup_stm32f103rctx.s.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj


BIN
cmake-build-debug-mingw/CMakeFiles/gmv-gateway-board.elf.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj


+ 1 - 1
cmake-build-debug-mingw/CMakeFiles/rules.ninja

@@ -52,7 +52,7 @@ rule CUSTOM_COMMAND
 # Rule for re-running cmake.
 
 rule RERUN_CMAKE
-  command = "D:\clion\CLion 2024.1.4\bin\cmake\win\x64\bin\cmake.exe" --regenerate-during-build -SC:\Users\DELL\Desktop\gmv-gateway-board -BC:\Users\DELL\Desktop\gmv-gateway-board\cmake-build-debug-mingw
+  command = "D:\clion\CLion 2024.1.4\bin\cmake\win\x64\bin\cmake.exe" --regenerate-during-build -SC:\Users\DELL\Desktop\gmv-gateway-board-v -BC:\Users\DELL\Desktop\gmv-gateway-board-v\cmake-build-debug-mingw
   description = Re-running CMake...
   generator = 1
 

Plik diff jest za duży
+ 253 - 127
cmake-build-debug-mingw/build.ninja


+ 2 - 2
cmake-build-debug-mingw/cmake_install.cmake

@@ -1,4 +1,4 @@
-# Install script for directory: C:/Users/DELL/Desktop/gmv-gateway-board
+# Install script for directory: C:/Users/DELL/Desktop/gmv-gateway-board-v
 
 # Set the install prefix
 if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -45,5 +45,5 @@ endif()
 
 string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
        "${CMAKE_INSTALL_MANIFEST_FILES}")
-file(WRITE "C:/Users/DELL/Desktop/gmv-gateway-board/cmake-build-debug-mingw/${CMAKE_INSTALL_MANIFEST}"
+file(WRITE "C:/Users/DELL/Desktop/gmv-gateway-board-v/cmake-build-debug-mingw/${CMAKE_INSTALL_MANIFEST}"
      "${CMAKE_INSTALL_MANIFEST_CONTENT}")

+ 27 - 18
gmv-gateway-board.ioc

@@ -4,7 +4,7 @@ CAD.pinconfig=
 CAD.provider=
 FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,configTOTAL_HEAP_SIZE
 FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
-FREERTOS.configTOTAL_HEAP_SIZE=10240
+FREERTOS.configTOTAL_HEAP_SIZE=1024*25
 FREERTOS.configUSE_NEWLIB_REENTRANT=1
 File.Version=6
 GPIO.groupedBy=
@@ -17,27 +17,30 @@ Mcu.IP2=RCC
 Mcu.IP3=SYS
 Mcu.IP4=TIM2
 Mcu.IP5=UART4
-Mcu.IP6=USART2
-Mcu.IP7=USART3
-Mcu.IPNb=8
+Mcu.IP6=USART1
+Mcu.IP7=USART2
+Mcu.IP8=USART3
+Mcu.IPNb=9
 Mcu.Name=STM32F103R(C-D-E)Tx
 Mcu.Package=LQFP64
 Mcu.Pin0=PC13-TAMPER-RTC
 Mcu.Pin1=PD0-OSC_IN
 Mcu.Pin10=PB13
-Mcu.Pin11=PA13
-Mcu.Pin12=PA14
-Mcu.Pin13=PA15
-Mcu.Pin14=PC10
-Mcu.Pin15=PC11
-Mcu.Pin16=PB4
-Mcu.Pin17=PB5
-Mcu.Pin18=PB8
-Mcu.Pin19=PB9
+Mcu.Pin11=PA9
+Mcu.Pin12=PA10
+Mcu.Pin13=PA13
+Mcu.Pin14=PA14
+Mcu.Pin15=PA15
+Mcu.Pin16=PC10
+Mcu.Pin17=PC11
+Mcu.Pin18=PB4
+Mcu.Pin19=PB5
 Mcu.Pin2=PD1-OSC_OUT
-Mcu.Pin20=VP_FREERTOS_VS_CMSIS_V2
-Mcu.Pin21=VP_SYS_VS_tim1
-Mcu.Pin22=VP_TIM2_VS_ClockSourceINT
+Mcu.Pin20=PB8
+Mcu.Pin21=PB9
+Mcu.Pin22=VP_FREERTOS_VS_CMSIS_V2
+Mcu.Pin23=VP_SYS_VS_tim1
+Mcu.Pin24=VP_TIM2_VS_ClockSourceINT
 Mcu.Pin3=PA1
 Mcu.Pin4=PA2
 Mcu.Pin5=PA3
@@ -45,7 +48,7 @@ Mcu.Pin6=PB2
 Mcu.Pin7=PB10
 Mcu.Pin8=PB11
 Mcu.Pin9=PB12
-Mcu.PinsNb=23
+Mcu.PinsNb=25
 Mcu.ThirdPartyNb=0
 Mcu.UserConstants=
 Mcu.UserName=STM32F103RCTx
@@ -74,6 +77,8 @@ NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
 PA1.Locked=true
 PA1.Signal=GPIO_Output
+PA10.Mode=Asynchronous
+PA10.Signal=USART1_RX
 PA13.Mode=Serial_Wire
 PA13.Signal=SYS_JTMS-SWDIO
 PA14.Mode=Serial_Wire
@@ -84,6 +89,8 @@ PA2.Mode=Asynchronous
 PA2.Signal=USART2_TX
 PA3.Mode=Asynchronous
 PA3.Signal=USART2_RX
+PA9.Mode=Asynchronous
+PA9.Signal=USART1_TX
 PB10.Mode=Asynchronous
 PB10.Signal=USART3_TX
 PB11.Mode=Asynchronous
@@ -143,7 +150,7 @@ ProjectManager.ToolChainLocation=
 ProjectManager.UAScriptAfterPath=
 ProjectManager.UAScriptBeforePath=
 ProjectManager.UnderRoot=true
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_UART4_Init-UART4-false-HAL-true,4-MX_USART2_UART_Init-USART2-false-HAL-true,5-MX_USART3_UART_Init-USART3-false-HAL-true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_UART4_Init-UART4-false-HAL-true,4-MX_USART2_UART_Init-USART2-false-HAL-true,5-MX_USART3_UART_Init-USART3-false-HAL-true,6-MX_TIM2_Init-TIM2-false-HAL-true,7-MX_USART1_UART_Init-USART1-false-HAL-true
 RCC.ADCFreqValue=36000000
 RCC.AHBFreq_Value=72000000
 RCC.APB1CLKDivider=RCC_HCLK_DIV2
@@ -175,6 +182,8 @@ TIM2.Prescaler=71
 UART4.BaudRate=9600
 UART4.IPParameters=VirtualMode,BaudRate
 UART4.VirtualMode=Asynchronous
+USART1.IPParameters=VirtualMode
+USART1.VirtualMode=VM_ASYNC
 USART2.BaudRate=9600
 USART2.IPParameters=VirtualMode,BaudRate
 USART2.VirtualMode=VM_ASYNC

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików