diff --git a/.metadata/.ide.log b/.metadata/.ide.log index 9b1c1a5..e7e826d 100644 --- a/.metadata/.ide.log +++ b/.metadata/.ide.log @@ -1,2099 +1,312 @@ -2025-09-22 14:12:26,825 [INFO] Activator:176 - +2025-10-13 14:21:53,373 [INFO] Activator:176 - -2025-09-22 14:12:26,829 [INFO] Activator:177 - !SESSION log4j initialized -2025-09-22 14:12:31,791 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-09-22 14:12:33,276 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-09-22 14:12:33,291 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-09-22 14:12:33,291 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-09-22 14:12:33,292 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-09-22 14:12:33,296 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:12:33,297 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:12:33,299 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-09-22 14:12:33,404 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:12:33,455 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-09-22 14:12:33,455 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-09-22 14:12:33,456 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,456 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,456 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,456 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-09-22 14:12:33,515 [INFO] MainPanel:274 - HeapMemory: 268435456 -2025-09-22 14:12:33,767 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-09-22 14:12:33,768 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-09-22 14:12:33,768 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-09-22 14:12:33,768 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,768 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:12:33,768 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,769 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:12:33,769 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,769 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:12:33,769 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-09-22 14:12:33,783 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-09-22 14:12:33,785 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] -2025-09-22 14:12:33,786 [INFO] PluginManage:310 - Check plugin analytics -2025-09-22 14:12:34,090 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 -2025-09-22 14:12:34,090 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: -2025-09-22 14:12:34,090 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 -2025-09-22 14:12:34,092 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) -2025-09-22 14:12:34,093 [INFO] PluginManage:310 - Check plugin cadmodel -2025-09-22 14:12:34,096 [INFO] CADModel:105 - Init CAD model plugin -2025-09-22 14:12:34,096 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) -2025-09-22 14:12:34,096 [INFO] PluginManage:310 - Check plugin clock -2025-09-22 14:12:34,106 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) -2025-09-22 14:12:34,106 [INFO] PluginManage:310 - Check plugin ddr -2025-09-22 14:12:34,110 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) -2025-09-22 14:12:34,110 [INFO] PluginManage:310 - Check plugin filemanager -2025-09-22 14:12:34,252 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) -2025-09-22 14:12:34,252 [INFO] PluginManage:310 - Check plugin ipmanager -2025-09-22 14:12:34,258 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) -2025-09-22 14:12:34,258 [INFO] PluginManage:310 - Check plugin lpbam -2025-09-22 14:12:34,269 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) -2025-09-22 14:12:34,269 [INFO] PluginManage:310 - Check plugin memorymap -2025-09-22 14:12:34,282 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) -2025-09-22 14:12:34,282 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration -2025-09-22 14:12:34,290 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) -2025-09-22 14:12:34,291 [INFO] PluginManage:310 - Check plugin pinoutconfig -2025-09-22 14:12:34,373 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. -2025-09-22 14:12:34,508 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) -2025-09-22 14:12:34,508 [INFO] PluginManage:310 - Check plugin power -2025-09-22 14:12:34,519 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) -2025-09-22 14:12:34,520 [INFO] PluginManage:310 - Check plugin projectmanager -2025-09-22 14:12:34,538 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) -2025-09-22 14:12:34,538 [INFO] PluginManage:310 - Check plugin rif -2025-09-22 14:12:34,548 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) -2025-09-22 14:12:34,549 [INFO] PluginManage:310 - Check plugin thirdparty -2025-09-22 14:12:34,687 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) -2025-09-22 14:12:34,687 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] -2025-09-22 14:12:34,687 [INFO] PluginManage:310 - Check plugin tools -2025-09-22 14:12:34,687 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] -2025-09-22 14:12:34,688 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] -2025-09-22 14:12:34,690 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) -2025-09-22 14:12:34,690 [INFO] PluginManage:310 - Check plugin tutovideos -2025-09-22 14:12:34,861 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) -2025-09-22 14:12:34,862 [INFO] PluginManage:310 - Check plugin updater -2025-09-22 14:12:34,879 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) -2025-09-22 14:12:34,879 [INFO] PluginManage:310 - Check plugin userauth -2025-09-22 14:12:34,882 [INFO] UserAuth:118 - Init User Auth plugin -2025-09-22 14:12:34,883 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) -2025-09-22 14:12:34,883 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] -2025-09-22 14:12:35,042 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:12:35,110 [INFO] CADModel:165 - CPN selected for project level -2025-09-22 14:12:35,110 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:12:35,121 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,121 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc -2025-09-22 14:12:35,125 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,125 [INFO] PluginManager:220 - loadIPPluginJar : add usbx -2025-09-22 14:12:35,126 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,126 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs -2025-09-22 14:12:35,127 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,127 [INFO] PluginManager:220 - loadIPPluginJar : add i2c -2025-09-22 14:12:35,129 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,129 [INFO] PluginManager:220 - loadIPPluginJar : add tim -2025-09-22 14:12:35,130 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,130 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi -2025-09-22 14:12:35,133 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,133 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr -2025-09-22 14:12:35,136 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,136 [INFO] PluginManager:220 - loadIPPluginJar : add i2s -2025-09-22 14:12:35,138 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,139 [INFO] PluginManager:220 - loadIPPluginJar : add openamp -2025-09-22 14:12:35,141 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,142 [INFO] PluginManager:220 - loadIPPluginJar : add i3c -2025-09-22 14:12:35,143 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,144 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd -2025-09-22 14:12:35,146 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,146 [INFO] PluginManager:220 - loadIPPluginJar : add cryp -2025-09-22 14:12:35,148 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,148 [INFO] PluginManager:220 - loadIPPluginJar : add comp -2025-09-22 14:12:35,150 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,150 [INFO] PluginManager:220 - loadIPPluginJar : add spi -2025-09-22 14:12:35,153 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,153 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing -2025-09-22 14:12:35,156 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,156 [INFO] PluginManager:220 - loadIPPluginJar : add can -2025-09-22 14:12:35,159 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,159 [INFO] PluginManager:220 - loadIPPluginJar : add aes -2025-09-22 14:12:35,167 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,167 [INFO] PluginManager:220 - loadIPPluginJar : add adc -2025-09-22 14:12:35,170 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,170 [INFO] PluginManager:220 - loadIPPluginJar : add nvic -2025-09-22 14:12:35,175 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,175 [INFO] PluginManager:220 - loadIPPluginJar : add freertos -2025-09-22 14:12:35,180 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,180 [INFO] PluginManager:220 - loadIPPluginJar : add dma -2025-09-22 14:12:35,183 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,183 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility -2025-09-22 14:12:35,186 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,186 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm -2025-09-22 14:12:35,188 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,188 [INFO] PluginManager:220 - loadIPPluginJar : add hash -2025-09-22 14:12:35,190 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,190 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm -2025-09-22 14:12:35,191 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,192 [INFO] PluginManager:220 - loadIPPluginJar : add radio -2025-09-22 14:12:35,197 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,200 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings -2025-09-22 14:12:35,205 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,205 [INFO] PluginManager:220 - loadIPPluginJar : add gic -2025-09-22 14:12:35,206 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,206 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc -2025-09-22 14:12:35,208 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,209 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb -2025-09-22 14:12:35,211 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,211 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan -2025-09-22 14:12:35,212 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,213 [INFO] PluginManager:220 - loadIPPluginJar : add tsc -2025-09-22 14:12:35,214 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,214 [INFO] PluginManager:220 - loadIPPluginJar : add ts -2025-09-22 14:12:35,216 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,216 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu -2025-09-22 14:12:35,218 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,218 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 -2025-09-22 14:12:35,221 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,221 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy -2025-09-22 14:12:35,222 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,222 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin -2025-09-22 14:12:35,224 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,225 [INFO] PluginManager:220 - loadIPPluginJar : add opamp -2025-09-22 14:12:35,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,231 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan -2025-09-22 14:12:35,233 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,233 [INFO] PluginManager:220 - loadIPPluginJar : add usart -2025-09-22 14:12:35,236 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,236 [INFO] PluginManager:220 - loadIPPluginJar : add sai -2025-09-22 14:12:35,242 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,242 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist -2025-09-22 14:12:35,245 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,245 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager -2025-09-22 14:12:35,249 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,249 [INFO] PluginManager:220 - loadIPPluginJar : add fmc -2025-09-22 14:12:35,253 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,253 [INFO] PluginManager:220 - loadIPPluginJar : add gpio -2025-09-22 14:12:35,261 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:12:35,261 [INFO] PluginManager:220 - loadIPPluginJar : add mdma -2025-09-22 14:12:35,359 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,383 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:12:35,394 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:12:35,401 [INFO] CADModel:165 - CPN selected for project level -2025-09-22 14:12:35,402 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:12:35,402 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,402 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-09-22 14:12:35,524 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,525 [INFO] CADModel:165 - CPN selected for project level -2025-09-22 14:12:35,526 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:12:35,526 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,526 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-09-22 14:12:35,529 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,617 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,620 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) -2025-09-22 14:12:35,621 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,654 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-09-22 14:12:35,710 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,711 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,712 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,712 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-09-22 14:12:35,713 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:12:35,741 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. -2025-09-22 14:12:35,742 [INFO] Updater:1134 - Updater Version found : 6.15.0 -2025-09-22 14:12:35,757 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-09-22 14:12:36,408 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:12:36,409 [INFO] MainUpdater:289 - Updater Check For Update Now. -2025-09-22 14:12:36,409 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-09-22 14:12:36,417 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-09-22 14:12:36,418 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-09-22 14:12:36,440 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder -2025-09-22 14:12:36,614 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-09-22 14:12:37,151 [INFO] WebApp:169 - Instantiating new browser for Auth -2025-09-22 14:12:37,713 [INFO] WebApp:463 - Apply proxy settings -2025-09-22 14:12:37,714 [INFO] WebApp:548 - Chromium requires no authentication -2025-09-22 14:12:37,724 [INFO] WebApp:491 - Direct internet connection detected -2025-09-22 14:12:37,747 [INFO] WebApp:900 - Register for checkConnection events -2025-09-22 14:12:37,748 [INFO] WebApp:463 - Apply proxy settings -2025-09-22 14:12:37,748 [INFO] WebApp:548 - Chromium requires no authentication -2025-09-22 14:12:37,748 [INFO] WebApp:491 - Direct internet connection detected -2025-09-22 14:12:37,819 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 -2025-09-22 14:12:37,826 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 -2025-09-22 14:12:37,831 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 -2025-09-22 14:12:37,836 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 -2025-09-22 14:12:37,876 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 -2025-09-22 14:12:37,892 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 -2025-09-22 14:12:37,896 [INFO] WebApp:225 - Starting web application -2025-09-22 14:12:37,896 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html -2025-09-22 14:12:37,926 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 -2025-09-22 14:12:37,979 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 -2025-09-22 14:12:37,995 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 -2025-09-22 14:12:38,017 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 -2025-09-22 14:12:38,026 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 -2025-09-22 14:12:38,036 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 -2025-09-22 14:12:38,046 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 -2025-09-22 14:12:38,051 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 -2025-09-22 14:12:38,071 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:12:38,072 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:12:38,074 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-09-22 14:12:38,076 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:12:38,077 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:12:38,078 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:12:38,085 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 -2025-09-22 14:12:38,108 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 -2025-09-22 14:12:38,118 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 -2025-09-22 14:12:38,134 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 -2025-09-22 14:12:38,141 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 -2025-09-22 14:12:38,146 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 -2025-09-22 14:12:38,150 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 -2025-09-22 14:12:38,157 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 -2025-09-22 14:12:38,176 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 -2025-09-22 14:12:38,185 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 -2025-09-22 14:12:38,191 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 -2025-09-22 14:12:38,199 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 -2025-09-22 14:12:38,204 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 -2025-09-22 14:12:38,208 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 -2025-09-22 14:12:38,212 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 -2025-09-22 14:12:38,218 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 -2025-09-22 14:12:38,220 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 -2025-09-22 14:12:38,225 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 -2025-09-22 14:12:38,230 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 -2025-09-22 14:12:38,234 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 -2025-09-22 14:12:38,265 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 -2025-09-22 14:12:38,329 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 -2025-09-22 14:12:38,387 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 -2025-09-22 14:12:38,500 [INFO] WebApp:191 - Connection restablished -2025-09-22 14:12:38,582 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 -2025-09-22 14:12:38,599 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 -2025-09-22 14:12:38,604 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 -2025-09-22 14:12:38,608 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 -2025-09-22 14:12:38,614 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 -2025-09-22 14:12:38,637 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 -2025-09-22 14:12:38,649 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 -2025-09-22 14:12:38,658 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 -2025-09-22 14:12:38,663 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 -2025-09-22 14:12:38,669 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 -2025-09-22 14:12:38,688 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:12:38,689 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 -2025-09-22 14:12:38,690 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:12:38,691 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:12:38,691 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:12:38,699 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 -2025-09-22 14:12:38,709 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 -2025-09-22 14:12:38,726 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:12:38,726 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:12:38,729 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 -2025-09-22 14:12:38,730 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:12:38,736 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 -2025-09-22 14:12:38,744 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 -2025-09-22 14:12:38,749 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:12:38,762 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:12:38,763 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:12:38,763 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:12:38,781 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 -2025-09-22 14:12:38,817 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 -2025-09-22 14:12:38,826 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 -2025-09-22 14:12:38,845 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 -2025-09-22 14:12:38,851 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 -2025-09-22 14:12:38,856 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 -2025-09-22 14:12:38,873 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 -2025-09-22 14:12:38,902 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 -2025-09-22 14:12:38,910 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 -2025-09-22 14:12:38,919 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 -2025-09-22 14:12:38,937 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 -2025-09-22 14:12:38,953 [INFO] ThirdParty:978 - Integrity check success = true -2025-09-22 14:12:38,953 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] -2025-09-22 14:12:38,954 [INFO] IntegrityCheckThread:103 - End integrity checks thread -2025-09-22 14:25:50,416 [INFO] Activator:176 - - - -2025-09-22 14:25:50,417 [INFO] Activator:177 - !SESSION log4j initialized -2025-09-22 14:25:55,445 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-09-22 14:25:56,690 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-09-22 14:25:56,702 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-09-22 14:25:56,703 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-09-22 14:25:56,703 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-09-22 14:25:56,705 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:25:56,707 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:25:56,709 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-09-22 14:25:56,815 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:25:56,868 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-09-22 14:25:56,869 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-09-22 14:25:56,869 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:56,869 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:56,869 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:56,869 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-09-22 14:25:56,915 [INFO] MainPanel:274 - HeapMemory: 268435456 -2025-09-22 14:25:57,137 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-09-22 14:25:57,138 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-09-22 14:25:57,138 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:57,138 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:57,138 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ -2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:25:57,138 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-09-22 14:25:57,150 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-09-22 14:25:57,151 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] -2025-09-22 14:25:57,152 [INFO] PluginManage:310 - Check plugin analytics -2025-09-22 14:25:57,443 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 -2025-09-22 14:25:57,444 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: -2025-09-22 14:25:57,444 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 -2025-09-22 14:25:57,447 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) -2025-09-22 14:25:57,447 [INFO] PluginManage:310 - Check plugin cadmodel -2025-09-22 14:25:57,450 [INFO] CADModel:105 - Init CAD model plugin -2025-09-22 14:25:57,450 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) -2025-09-22 14:25:57,450 [INFO] PluginManage:310 - Check plugin clock -2025-09-22 14:25:57,456 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) -2025-09-22 14:25:57,456 [INFO] PluginManage:310 - Check plugin ddr -2025-09-22 14:25:57,458 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) -2025-09-22 14:25:57,458 [INFO] PluginManage:310 - Check plugin filemanager -2025-09-22 14:25:57,602 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) -2025-09-22 14:25:57,602 [INFO] PluginManage:310 - Check plugin ipmanager -2025-09-22 14:25:57,605 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) -2025-09-22 14:25:57,606 [INFO] PluginManage:310 - Check plugin lpbam -2025-09-22 14:25:57,616 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) -2025-09-22 14:25:57,616 [INFO] PluginManage:310 - Check plugin memorymap -2025-09-22 14:25:57,624 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) -2025-09-22 14:25:57,624 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration -2025-09-22 14:25:57,631 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) -2025-09-22 14:25:57,631 [INFO] PluginManage:310 - Check plugin pinoutconfig -2025-09-22 14:25:57,708 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. -2025-09-22 14:25:57,818 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) -2025-09-22 14:25:57,818 [INFO] PluginManage:310 - Check plugin power -2025-09-22 14:25:57,825 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) -2025-09-22 14:25:57,825 [INFO] PluginManage:310 - Check plugin projectmanager -2025-09-22 14:25:57,838 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) -2025-09-22 14:25:57,838 [INFO] PluginManage:310 - Check plugin rif -2025-09-22 14:25:57,846 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) -2025-09-22 14:25:57,846 [INFO] PluginManage:310 - Check plugin thirdparty -2025-09-22 14:25:57,949 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) -2025-09-22 14:25:57,949 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] -2025-09-22 14:25:57,949 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] -2025-09-22 14:25:57,950 [INFO] PluginManage:310 - Check plugin tools -2025-09-22 14:25:57,950 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] -2025-09-22 14:25:57,951 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) -2025-09-22 14:25:57,952 [INFO] PluginManage:310 - Check plugin tutovideos -2025-09-22 14:25:58,145 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) -2025-09-22 14:25:58,145 [INFO] PluginManage:310 - Check plugin updater -2025-09-22 14:25:58,164 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) -2025-09-22 14:25:58,164 [INFO] PluginManage:310 - Check plugin userauth -2025-09-22 14:25:58,168 [INFO] UserAuth:118 - Init User Auth plugin -2025-09-22 14:25:58,169 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) -2025-09-22 14:25:58,169 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] -2025-09-22 14:25:58,316 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:25:58,367 [INFO] CADModel:165 - CPN selected for project level -2025-09-22 14:25:58,367 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:25:58,375 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,375 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc -2025-09-22 14:25:58,379 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,379 [INFO] PluginManager:220 - loadIPPluginJar : add usbx -2025-09-22 14:25:58,380 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,380 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs -2025-09-22 14:25:58,382 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,382 [INFO] PluginManager:220 - loadIPPluginJar : add i2c -2025-09-22 14:25:58,383 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,383 [INFO] PluginManager:220 - loadIPPluginJar : add tim -2025-09-22 14:25:58,384 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,384 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi -2025-09-22 14:25:58,386 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,387 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr -2025-09-22 14:25:58,388 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,388 [INFO] PluginManager:220 - loadIPPluginJar : add i2s -2025-09-22 14:25:58,390 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,390 [INFO] PluginManager:220 - loadIPPluginJar : add openamp -2025-09-22 14:25:58,392 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,392 [INFO] PluginManager:220 - loadIPPluginJar : add i3c -2025-09-22 14:25:58,393 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,393 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd -2025-09-22 14:25:58,395 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,395 [INFO] PluginManager:220 - loadIPPluginJar : add cryp -2025-09-22 14:25:58,396 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,396 [INFO] PluginManager:220 - loadIPPluginJar : add comp -2025-09-22 14:25:58,397 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,398 [INFO] PluginManager:220 - loadIPPluginJar : add spi -2025-09-22 14:25:58,400 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,400 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing -2025-09-22 14:25:58,402 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,402 [INFO] PluginManager:220 - loadIPPluginJar : add can -2025-09-22 14:25:58,404 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,404 [INFO] PluginManager:220 - loadIPPluginJar : add aes -2025-09-22 14:25:58,411 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,412 [INFO] PluginManager:220 - loadIPPluginJar : add adc -2025-09-22 14:25:58,414 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,415 [INFO] PluginManager:220 - loadIPPluginJar : add nvic -2025-09-22 14:25:58,419 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,420 [INFO] PluginManager:220 - loadIPPluginJar : add freertos -2025-09-22 14:25:58,425 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,425 [INFO] PluginManager:220 - loadIPPluginJar : add dma -2025-09-22 14:25:58,427 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,427 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility -2025-09-22 14:25:58,430 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,430 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm -2025-09-22 14:25:58,431 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,432 [INFO] PluginManager:220 - loadIPPluginJar : add hash -2025-09-22 14:25:58,433 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,433 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm -2025-09-22 14:25:58,435 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,435 [INFO] PluginManager:220 - loadIPPluginJar : add radio -2025-09-22 14:25:58,440 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,442 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings -2025-09-22 14:25:58,446 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,446 [INFO] PluginManager:220 - loadIPPluginJar : add gic -2025-09-22 14:25:58,447 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,447 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc -2025-09-22 14:25:58,449 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,449 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb -2025-09-22 14:25:58,451 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,451 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan -2025-09-22 14:25:58,452 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,452 [INFO] PluginManager:220 - loadIPPluginJar : add tsc -2025-09-22 14:25:58,453 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,453 [INFO] PluginManager:220 - loadIPPluginJar : add ts -2025-09-22 14:25:58,454 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,454 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu -2025-09-22 14:25:58,456 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,456 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 -2025-09-22 14:25:58,458 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,458 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy -2025-09-22 14:25:58,458 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,459 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin -2025-09-22 14:25:58,462 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,462 [INFO] PluginManager:220 - loadIPPluginJar : add opamp -2025-09-22 14:25:58,467 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,467 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan -2025-09-22 14:25:58,469 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,469 [INFO] PluginManager:220 - loadIPPluginJar : add usart -2025-09-22 14:25:58,472 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,472 [INFO] PluginManager:220 - loadIPPluginJar : add sai -2025-09-22 14:25:58,478 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,478 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist -2025-09-22 14:25:58,480 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,480 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager -2025-09-22 14:25:58,483 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,484 [INFO] PluginManager:220 - loadIPPluginJar : add fmc -2025-09-22 14:25:58,486 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,487 [INFO] PluginManager:220 - loadIPPluginJar : add gpio -2025-09-22 14:25:58,491 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:25:58,492 [INFO] PluginManager:220 - loadIPPluginJar : add mdma -2025-09-22 14:25:58,589 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,612 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:25:58,625 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:25:58,631 [INFO] CADModel:165 - CPN selected for project level -2025-09-22 14:25:58,631 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:25:58,631 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,632 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-09-22 14:25:58,742 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,744 [INFO] CADModel:165 - CPN selected for project level -2025-09-22 14:25:58,744 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:25:58,744 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,744 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-09-22 14:25:58,749 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,813 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,817 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) -2025-09-22 14:25:58,817 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,844 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-09-22 14:25:58,900 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,901 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,901 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,901 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-09-22 14:25:58,902 [FATAL] Updater:351 - Updater called before beeing initialized -2025-09-22 14:25:58,935 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. -2025-09-22 14:25:58,937 [INFO] Updater:1134 - Updater Version found : 6.15.0 -2025-09-22 14:25:58,956 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-09-22 14:25:59,528 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:25:59,529 [INFO] MainUpdater:289 - Updater Check For Update Now. -2025-09-22 14:25:59,529 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-09-22 14:25:59,532 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-09-22 14:25:59,533 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-09-22 14:25:59,547 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder -2025-09-22 14:25:59,703 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-09-22 14:26:00,054 [INFO] WebApp:169 - Instantiating new browser for Auth -2025-09-22 14:26:00,542 [INFO] WebApp:463 - Apply proxy settings -2025-09-22 14:26:00,542 [INFO] WebApp:548 - Chromium requires no authentication -2025-09-22 14:26:00,549 [INFO] WebApp:491 - Direct internet connection detected -2025-09-22 14:26:00,565 [INFO] WebApp:900 - Register for checkConnection events -2025-09-22 14:26:00,566 [INFO] WebApp:463 - Apply proxy settings -2025-09-22 14:26:00,566 [INFO] WebApp:548 - Chromium requires no authentication -2025-09-22 14:26:00,566 [INFO] WebApp:491 - Direct internet connection detected -2025-09-22 14:26:00,682 [INFO] WebApp:225 - Starting web application -2025-09-22 14:26:00,683 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html -2025-09-22 14:26:00,757 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-09-22 14:26:01,059 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 -2025-09-22 14:26:01,067 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 -2025-09-22 14:26:01,076 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 -2025-09-22 14:26:01,080 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 -2025-09-22 14:26:01,109 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 -2025-09-22 14:26:01,124 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 -2025-09-22 14:26:01,144 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 -2025-09-22 14:26:01,190 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 -2025-09-22 14:26:01,207 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 -2025-09-22 14:26:01,221 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 -2025-09-22 14:26:01,226 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 -2025-09-22 14:26:01,233 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 -2025-09-22 14:26:01,241 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 -2025-09-22 14:26:01,246 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 -2025-09-22 14:26:01,247 [INFO] WebApp:191 - Connection restablished -2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:26:01,257 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-09-22 14:26:01,259 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 -2025-09-22 14:26:01,263 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 -2025-09-22 14:26:01,268 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 -2025-09-22 14:26:01,274 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 -2025-09-22 14:26:01,288 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 -2025-09-22 14:26:01,293 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 -2025-09-22 14:26:01,296 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 -2025-09-22 14:26:01,302 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 -2025-09-22 14:26:01,322 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 -2025-09-22 14:26:01,331 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 -2025-09-22 14:26:01,337 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 -2025-09-22 14:26:01,347 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 -2025-09-22 14:26:01,352 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 -2025-09-22 14:26:01,355 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 -2025-09-22 14:26:01,362 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 -2025-09-22 14:26:01,367 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 -2025-09-22 14:26:01,371 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 -2025-09-22 14:26:01,377 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 -2025-09-22 14:26:01,382 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 -2025-09-22 14:26:01,385 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 -2025-09-22 14:26:01,419 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 -2025-09-22 14:26:01,477 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 -2025-09-22 14:26:01,550 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 -2025-09-22 14:26:01,746 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 -2025-09-22 14:26:01,769 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 -2025-09-22 14:26:01,775 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 -2025-09-22 14:26:01,779 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 -2025-09-22 14:26:01,787 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 -2025-09-22 14:26:01,816 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 -2025-09-22 14:26:01,834 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 -2025-09-22 14:26:01,846 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 -2025-09-22 14:26:01,851 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 -2025-09-22 14:26:01,856 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 -2025-09-22 14:26:01,880 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:26:01,880 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 -2025-09-22 14:26:01,882 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:26:01,882 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:26:01,883 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-09-22 14:26:01,893 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 -2025-09-22 14:26:01,938 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 -2025-09-22 14:26:01,963 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:26:01,963 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:26:01,967 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 -2025-09-22 14:26:01,967 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:26:01,968 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:26:01,968 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:26:01,969 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:26:01,969 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-09-22 14:26:01,977 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 -2025-09-22 14:26:01,996 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 -2025-09-22 14:26:01,998 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:26:02,017 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:26:02,017 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:26:02,017 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-09-22 14:26:02,031 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 -2025-09-22 14:26:02,049 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 -2025-09-22 14:26:02,054 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 -2025-09-22 14:26:02,067 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 -2025-09-22 14:26:02,075 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 -2025-09-22 14:26:02,078 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 -2025-09-22 14:26:02,092 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 -2025-09-22 14:26:02,101 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 -2025-09-22 14:26:02,107 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 -2025-09-22 14:26:02,112 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 -2025-09-22 14:26:02,123 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 -2025-09-22 14:26:02,137 [INFO] ThirdParty:978 - Integrity check success = true -2025-09-22 14:26:02,137 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] -2025-09-22 14:26:02,137 [INFO] IntegrityCheckThread:103 - End integrity checks thread -2025-09-22 14:26:05,025 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-09-22 14:26:05,028 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:26:05,029 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-09-22 14:26:05,965 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-09-22 14:26:05,967 [INFO] ServerAccessManage:509 - Download File mcusAds.json._tmp_ -2025-09-22 14:26:06,074 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread -2025-09-22 14:26:06,543 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-09-22 14:26:06,544 [INFO] ServerAccessManage:509 - Download File cube-finder-db.zip -2025-09-22 14:26:41,367 [INFO] FileExtend:248 - Unzip File : cube-finder-db.zip -2025-09-22 14:26:41,368 [INFO] FileExtend:263 - Standard Zip Deflate -2025-09-22 14:26:41,917 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread -2025-09-22 14:26:42,832 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-09-22 14:26:42,834 [INFO] ServerAccessManage:509 - Download File crdb.zip -2025-09-22 14:26:43,462 [INFO] FileExtend:248 - Unzip File : crdb.zip -2025-09-22 14:26:43,463 [INFO] FileExtend:263 - Standard Zip Deflate -2025-09-22 14:26:43,598 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread -2025-09-22 14:26:43,843 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-09-22 14:26:43,844 [INFO] ServerAccessManage:509 - Download File tutoVideoDB.zip -2025-09-22 14:26:43,963 [INFO] FileExtend:248 - Unzip File : tutoVideoDB.zip -2025-09-22 14:26:43,963 [INFO] FileExtend:263 - Standard Zip Deflate -2025-09-22 14:26:44,068 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread -2025-09-22 14:26:44,074 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder -2025-09-22 14:26:44,298 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-09-22 14:26:44,298 [INFO] ServerAccessManage:509 - Download File api_config.json -2025-09-22 14:26:44,401 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread -2025-09-22 14:26:44,402 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) -2025-09-22 14:26:44,437 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-09-22 14:26:44,437 [INFO] TargetSelectorAdapter:259 - Refresh data is successful -2025-09-22 14:26:44,572 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) -2025-09-22 14:26:44,653 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 -2025-09-22 14:26:44,653 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 -2025-09-22 14:26:44,653 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) -2025-09-22 14:26:44,653 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] -2025-09-22 14:26:46,911 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] -2025-09-22 14:26:46,919 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported -2025-09-22 14:26:46,919 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) -2025-09-22 14:26:46,919 [INFO] ApiDb:427 - User favorites MCUs=[] -2025-09-22 14:26:46,919 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs -2025-09-22 14:26:47,468 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 -2025-09-22 14:26:47,468 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 -2025-09-22 14:26:47,468 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) -2025-09-22 14:26:47,468 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] -2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' -2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' -2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' -2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' -2025-09-22 14:26:47,547 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] -2025-09-22 14:26:47,735 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 -2025-09-22 14:26:47,735 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 -2025-09-22 14:26:47,739 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B -2025-09-22 14:26:47,739 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B -2025-09-22 14:26:47,740 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B -2025-09-22 14:26:47,740 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B -2025-09-22 14:26:47,828 [INFO] DbBoards:168 - Found 212 boards, 209 are supported -2025-09-22 14:26:47,829 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp -2025-09-22 14:26:47,830 [INFO] ApiDb:414 - User favorites file not found: /home/ja/.stm32cubeide/favorites.boards.txt -2025-09-22 14:26:47,830 [INFO] DbBoards:198 - Set 0 / 0 favorites Boards -2025-09-22 14:26:47,833 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 -2025-09-22 14:26:47,833 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 -2025-09-22 14:26:47,833 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) -2025-09-22 14:26:47,833 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] -2025-09-22 14:26:48,510 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn -2025-09-22 14:26:48,511 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn -2025-09-22 14:26:48,511 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn -2025-09-22 14:26:48,511 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn -2025-09-22 14:26:48,841 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn -2025-09-22 14:26:48,841 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn -2025-09-22 14:26:48,843 [INFO] DbExamplesSqlite:395 - Ignored 33 examples not supported by CubeIDE -2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:396 - Found 10871 examples active -2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:397 - Found 0 examples obsolete -2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:398 - Found 0 examples under development -2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:399 - Found 65 examples not building -2025-09-22 14:26:48,846 [INFO] DbExamples:125 - Found 10903 examples -2025-09-22 14:26:48,864 [INFO] DbExamples:222 - Found 134 boards with related examples -2025-09-22 14:26:48,865 [INFO] DbExamples:235 - Found 111 MCUs with related examples -2025-09-22 14:26:48,886 [INFO] ApiDb:414 - User favorites file not found: /home/ja/.stm32cubeide/favorites.examples.txt -2025-09-22 14:26:48,886 [INFO] DbExamples:250 - Set 0 / 0 favorites Examples -2025-09-22 14:26:49,009 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-09-22 14:26:49,024 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-09-22 14:26:49,028 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs -2025-09-22 14:26:50,621 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-09-22 14:26:50,751 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg -2025-09-22 14:27:39,629 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-09-22 14:27:39,766 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-09-22 14:27:39,766 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg -2025-09-22 14:27:39,782 [INFO] DbBoards:642 - Loading board mini-images... -2025-09-22 14:27:42,373 [ERROR] DbBoards:659 - Image file not found for board STM32MP215F-DK: /home/ja/.stmcufinder/plugins/mcufinder//mcu//boards_images/STM32MP215F-DK.jpg -2025-09-22 14:27:42,493 [INFO] DbBoards:665 - Loaded 211 board mini-images -2025-09-22 14:27:51,036 [INFO] BoardResultTable:719 - Mark Board STM32F429I-DISC1 as favorite -2025-09-22 14:28:12,502 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-09-22 14:28:13,596 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) -2025-09-22 14:28:13,596 [INFO] ApiDb:452 - User favorites MCUs=[] -2025-09-22 14:28:13,597 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) -2025-09-22 14:28:13,597 [INFO] ApiDb:452 - User favorites Boards=[STM32F429I-DISC1] -2025-09-22 14:28:13,708 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-09-22 14:28:13,863 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) -2025-09-22 14:28:13,863 [INFO] ApiDb:452 - User favorites MCUs=[] -2025-09-22 14:28:13,864 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) -2025-09-22 14:28:13,864 [INFO] ApiDb:452 - User favorites Boards=[STM32F429I-DISC1] -2025-09-22 14:28:17,898 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:28:18,063 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-09-22 14:28:18,065 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-09-22 14:28:18,066 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs -2025-09-22 14:28:19,073 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-09-22 14:28:19,073 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg -2025-09-22 14:28:23,493 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-09-22 14:28:23,587 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-09-22 14:28:23,588 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg -2025-09-22 14:28:24,531 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) -2025-09-22 14:29:39,993 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:29:39,994 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:29:40,003 [INFO] MicroXplorer:468 - Change Database Path : -2025-09-22 14:29:40,003 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-09-22 14:29:40,013 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] -2025-09-22 14:29:40,014 [INFO] ThirdParty:873 - entering critical section [close project] -2025-09-22 14:29:40,015 [INFO] ThirdParty:883 - exiting critical section [close project] -2025-09-22 14:29:40,018 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:29:40,019 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 526077792 Bytes (909115392) -2025-09-22 14:29:40,025 [INFO] OpenFileManager:355 - Change cursor -2025-09-22 14:29:40,095 [INFO] ProjectFactory:514 - No CPN specified for board STM32F429I-DISC1 => set CPN to STM32F429ZIT6 -2025-09-22 14:29:40,095 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 -2025-09-22 14:29:41,774 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden -2025-09-22 14:29:42,293 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB1 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB1 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB2 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB2 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB3 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB3 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB4 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB4 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB1 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB2 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB3 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB4 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable -2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB1 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB2 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB3 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB4 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB1 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB2 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB3 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB4 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable -2025-09-22 14:29:42,295 [INFO] Rule:233 - rule Rename SubGHz_Phy SUBGHZ_APPLICATION SUBGHZ_PINGPONG to SUBGHZ_ADV_APPLICATION is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule Rename Enabled to IBEACON is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for project manager is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for context M33S is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance value for IP GTZC is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu.IP is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for VP is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for signal is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu.Pin is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for VP is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for signal is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu.Pin is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance value for IP GTZC is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for project manager is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for context M33S is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for VP is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for signal is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule WakeUp0 Mode is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule WakeUp0 SIGNAL is applicable -2025-09-22 14:29:42,296 [INFO] Rule:233 - rule WakeUp1 Mode is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp1 SIGNAL is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp2 Mode is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp2 SIGNAL is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp4 Mode is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp4 SIGNAL is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp5 Mode is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp5 SIGNAL is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule Change Default Value for LSE Drive Capability for WB family is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule Change Default Value for ADC Clock Prescaler G0 family is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC SDMMC3CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC SDMMC12CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC QSPICLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC QSPICLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC SPI6CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC LPTIM23CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC LPTIM1CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC USART1CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC USART24CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC USART6CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC UART78CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC USART35CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC SPI45CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC I2C46CLockSelection BCLK value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC SPI45CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC I2C12CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC I2C35CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC LPTIM45CLockSelection default value on MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Rename DCMI PIXCK signal is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for I2C46CLockSelection MP1 family is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for UART for G4, G0 and WB families is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for USART for G4, G0 and WB families is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for USART for G4 family is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change USART1CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change USART2CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change USART3CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change UART4CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change UART5CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPUART1CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPTIM1CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPTIM2CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change RCC_MCO1Source refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LSCOSource1 refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change SMPSCLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPTIM3CLockSelection refparam name for MP1 is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change MPCBB* Default Template Mode to Parameters is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change MPCWM* or MPCBB* Secure Mode to Parameters is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change MPCWM* or MPCBB* No Secure Mode to Parameters is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change TZSC IP Secure Mode to Parameters is applicable -2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change TZSC IP No Secure Mode to Parameters is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZSC IP Privilege Mode to Parameters is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZSC IP No Privilege Mode to Parameters is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZIC IT Secure Mode to Parameters is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZIC IT No Secure Mode to Parameters is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCBB1_NonSecureArea_Start_Address value with referenced to MPCBB1_NonSecureArea_Start value is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCBB2_NonSecureArea_Start_Address value with referenced to MPCBB2_NonSecureArea_Start value is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCWM1_NonSecureArea*_Start_Address value with referenced to MPCWM1_NonSecureArea*_Start value is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCWM2_NonSecureArea*_Start_Address value with referenced to MPCWM2_NonSecureArea*_Start value is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCWM3_NonSecureArea_Start_Address value with referenced to MPCWM3_NonSecureArea_Start value is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change Default Value for PLL1UserDefinedConfig is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule OPAMP is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32H7 is applicable -2025-09-22 14:29:42,300 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32H7 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32WB is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32WB is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32L5 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32L5 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule USB device lib V2.5.3 for L0 rename USBD_SUPPORT_USER_STRING parameter to USBD_SUPPORT_USER_STRING_DESC4 is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule I2SCLockSelection clock entry align is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule Assign TIMx context if used as SYS timebase is applicable -2025-09-22 14:29:42,301 [INFO] Rule:233 - rule Change GPIO_Pu Default Value for I2C is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Change GPIO_Pu Default Value for SMBus is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule change FDCAN default value is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Change mode sai is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule **Change sai mode is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_IRK to CFG_BLE_IR is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_ERK to CFG_BLE_ER is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_IRK_HEX to CFG_BLE_IR_HEX is applicable -2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_ERK_HEX to CFG_BLE_ER_HEX is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC before rework replace old CORTEX_M33/CORTEX_M55 attributes by the new one. is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename parametre of RCC RCC_APBDBG_DIV2 to RCC_TIMPRES_DIV2 is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE493 pin PA10 [PA12] -> PA10 is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE493 pin PA9 [PA11] -> PA9 is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber CPN STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber Name STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber UserName STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber DeviceId STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC CSI. is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP. is applicable -2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP Mode Parallel. is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt Old IOC LTDC. is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Lock -> RIF.RISUP.LTDC_L1L2.Lock is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L2.Lock -> RIF.RISUP.LTDC_L3.Lock is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32C09 Mcu.Package LQFP64 -> LQFP48 is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable -2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable -2025-09-22 14:29:42,321 [INFO] DbConfProperties:307 - Apply Compatibility (8/159 Rules) -2025-09-22 14:29:42,362 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin98 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU -2025-09-22 14:29:42,449 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS -2025-09-22 14:29:42,450 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS -2025-09-22 14:29:42,450 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS -2025-09-22 14:29:42,450 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS -2025-09-22 14:29:42,450 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:29:42,472 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI -2025-09-22 14:29:42,607 [INFO] ThirdPartyModel:298 - Start build external matchings -2025-09-22 14:29:43,226 [INFO] ThirdPartyModel:316 - End build external matchings -2025-09-22 14:29:43,249 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] -2025-09-22 14:29:43,268 [WARN] IP:2250 - LayerIdx_L1 not found: check if there is a RefParameter without a condition. -2025-09-22 14:29:43,270 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) IP (RCC) : Invalid parameter (FamilyName) -2025-09-22 14:29:43,271 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) IP (RCC) : Parameter (RTCHSEDivFreq_Value) has invalid value (4000000) -2025-09-22 14:29:43,520 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 662114352 Bytes (953155584) -2025-09-22 14:29:43,550 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] -2025-09-22 14:29:43,550 [INFO] ThirdParty:835 - entering critical section [change project] -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 -2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 -2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 -2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 -2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 -2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 -2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 -2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 -2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 -2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 -2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 -2025-09-22 14:29:43,557 [INFO] ThirdParty:841 - exiting critical section [change project] -2025-09-22 14:29:44,133 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:29:44,134 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) -2025-09-22 14:29:44,530 [INFO] UtilMem:75 - Before build in PCC Used Memory: 435237840 Bytes (953155584) -2025-09-22 14:29:45,120 [INFO] UtilMem:75 - After build in PCC Used Memory: 547961808 Bytes (953155584) -2025-09-22 14:29:45,177 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS -2025-09-22 14:29:45,189 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST -2025-09-22 14:29:45,228 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,228 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,228 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,237 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,237 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,238 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,238 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,239 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,239 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,240 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,240 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,241 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,241 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,242 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,242 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:29:45,247 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM -2025-09-22 14:29:45,282 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) -2025-09-22 14:29:45,485 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 -2025-09-22 14:29:45,485 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:29:45,488 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] -2025-09-22 14:29:45,539 [INFO] OpenFileManager:386 - Restore cursor -2025-09-22 14:29:45,744 [WARN] IP:2250 - LayerIdx_L1 not found: check if there is a RefParameter without a condition. -2025-09-22 14:29:46,421 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 809782304 Bytes (953155584) -2025-09-22 14:29:46,525 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 832125904 Bytes (953155584) -2025-09-22 14:29:53,866 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_OTG_HS -2025-09-22 14:29:53,866 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SPI -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: LTDC -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: I2C -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_HOST -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART -2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FMC -2025-09-22 14:29:53,869 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO -2025-09-22 14:29:53,869 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ -2025-09-22 14:29:53,899 [WARN] IP:2250 - LayerIdx_L1 not found: check if there is a RefParameter without a condition. -2025-09-22 14:29:54,090 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save -2025-09-22 14:29:54,446 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp -2025-09-22 14:29:54,611 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp_save -2025-09-22 14:29:54,746 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp -2025-09-22 14:29:54,959 [WARN] IPConfigManager:3238 - Warning: the RefConfig PWREx_EnableUSBVoltageDetector is not available in your config.xml file -2025-09-22 14:29:54,967 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_vars.tmp_save -2025-09-22 14:29:55,080 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_vars.tmp -2025-09-22 14:29:55,084 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_inc.tmp_save -2025-09-22 14:29:55,185 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_inc.tmp -2025-09-22 14:29:55,188 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_HalInit.tmp_save -2025-09-22 14:29:55,318 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_HalInit.tmp -2025-09-22 14:29:55,321 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_Msp.tmp_save -2025-09-22 14:29:55,458 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_Msp.tmp -2025-09-22 14:29:56,836 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 14:29:56,841 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 14:29:56,936 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 14:29:56,938 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 14:29:57,023 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 14:29:57,025 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 14:29:57,096 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 14:29:57,097 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 14:29:57,167 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 14:29:57,169 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 14:29:57,228 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 14:29:57,230 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 14:29:57,298 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 14:29:57,300 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 14:29:57,354 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 14:29:57,373 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 14:29:57,376 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 14:29:57,444 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 14:29:57,446 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 14:29:57,503 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 14:29:57,504 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 14:29:57,555 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 14:29:57,556 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 14:29:57,609 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 14:29:57,611 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 14:29:57,663 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 14:29:57,664 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 14:29:57,721 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 14:29:57,722 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 14:29:57,773 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 14:29:57,774 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save -2025-09-22 14:29:57,852 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h -2025-09-22 14:29:57,854 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save -2025-09-22 14:29:57,922 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c -2025-09-22 14:29:57,928 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp_save -2025-09-22 14:29:58,007 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp -2025-09-22 14:29:58,008 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp_save -2025-09-22 14:29:58,095 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp -2025-09-22 14:29:58,096 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp_save -2025-09-22 14:29:58,167 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp -2025-09-22 14:29:58,187 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.c_save -2025-09-22 14:29:58,256 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.c -2025-09-22 14:29:58,258 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.h_save -2025-09-22 14:29:58,319 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.h -2025-09-22 14:29:58,320 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.h_save -2025-09-22 14:29:58,378 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.h -2025-09-22 14:29:58,380 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.c_save -2025-09-22 14:29:58,440 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.c -2025-09-22 14:29:58,442 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.c_save -2025-09-22 14:29:58,495 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.c -2025-09-22 14:29:58,496 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.h_save -2025-09-22 14:29:58,546 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.h -2025-09-22 14:29:58,558 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save -2025-09-22 14:29:58,633 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c -2025-09-22 14:29:58,635 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save -2025-09-22 14:29:58,695 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h -2025-09-22 14:29:58,698 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp_save -2025-09-22 14:29:58,763 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp -2025-09-22 14:29:58,764 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp_save -2025-09-22 14:29:58,816 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp -2025-09-22 14:29:58,817 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp_save -2025-09-22 14:29:58,872 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp -2025-09-22 14:29:58,888 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save -2025-09-22 14:29:58,985 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c -2025-09-22 14:29:58,986 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save -2025-09-22 14:29:59,043 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp -2025-09-22 14:29:59,045 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save -2025-09-22 14:29:59,108 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c -2025-09-22 14:29:59,114 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save -2025-09-22 14:29:59,176 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h -2025-09-22 14:29:59,205 [INFO] ApiDbMcu:532 - Load IP Config File for CRC -2025-09-22 14:29:59,206 [INFO] ApiDbMcu:532 - Load IP Config File for DMA2D -2025-09-22 14:29:59,212 [INFO] ApiDbMcu:532 - Load IP Config File for FMC -2025-09-22 14:29:59,215 [INFO] ApiDbMcu:532 - Load IP Config File for I2C3 -2025-09-22 14:29:59,217 [INFO] ApiDbMcu:532 - Load IP Config File for LTDC -2025-09-22 14:29:59,219 [INFO] ApiDbMcu:532 - Load IP Config File for SPI5 -2025-09-22 14:29:59,241 [INFO] ApiDbMcu:532 - Load IP Config File for TIM1 -2025-09-22 14:29:59,244 [INFO] ApiDbMcu:532 - Load IP Config File for USART1 -2025-09-22 14:29:59,247 [INFO] ApiDbMcu:532 - Load IP Config File for RCC -2025-09-22 14:29:59,252 [WARN] IPConfigManager:3811 - IP not found : TIM -2025-09-22 14:29:59,252 [WARN] CodeGenerator:4259 - IP not found : null -2025-09-22 14:29:59,257 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save -2025-09-22 14:29:59,341 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h -2025-09-22 14:29:59,343 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save -2025-09-22 14:29:59,448 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c -2025-09-22 14:29:59,849 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 55mS. -2025-09-22 14:29:59,859 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 -2025-09-22 14:29:59,958 [INFO] ConfigFileManager:1595 - The Die is : DIE419 -2025-09-22 14:29:59,962 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS -2025-09-22 14:29:59,965 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG -2025-09-22 14:29:59,976 [INFO] ApiDbMcu:532 - Load IP Config File for LWIP -2025-09-22 14:29:59,984 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS -2025-09-22 14:29:59,990 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE -2025-09-22 14:30:00,606 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-09-22 14:30:02,261 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 2402mS. -2025-09-22 14:30:02,262 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 1mS. -2025-09-22 14:30:02,263 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. -2025-09-22 14:30:03,067 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-09-22 14:30:03,068 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) -2025-09-22 14:30:03,068 [INFO] ApiDb:452 - User favorites MCUs=[] -2025-09-22 14:30:03,069 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) -2025-09-22 14:30:03,069 [INFO] ApiDb:452 - User favorites Boards=[STM32F429I-DISC1] -2025-09-22 14:31:22,473 [INFO] Gpio:278 - dependency for GPIO [FMC, I2C3, LTDC, RCC, SPI5, SYS, USART1, USB_OTG_HS] -2025-09-22 14:31:25,859 [INFO] Gpio:278 - dependency for GPIO [FMC, I2C3, LTDC, RCC, SPI5, SYS, USART1, USB_OTG_HS] -2025-09-22 14:34:50,840 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" -2025-09-22 14:34:51,070 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" -2025-09-22 14:34:51,099 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] -2025-09-22 14:34:51,279 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] -2025-09-22 14:35:34,948 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" -2025-09-22 14:35:35,063 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" -2025-09-22 14:35:35,072 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] -2025-09-22 14:35:35,166 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] -2025-09-22 14:36:09,544 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 551195976 Bytes (1073741824) -2025-09-22 14:36:10,870 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 638750024 Bytes (1073741824) -2025-09-22 14:36:13,775 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 726308168 Bytes (1073741824) -2025-09-22 14:36:14,880 [INFO] ProjectBuilder:2380 - IP not ready for code generation: Clock -2025-09-22 14:36:25,220 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS -2025-09-22 14:36:25,220 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 -2025-09-22 14:36:25,220 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS -2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC -2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC -2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC -2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D -2025-09-22 14:36:25,222 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ -2025-09-22 14:36:25,377 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save -2025-09-22 14:36:25,587 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp -2025-09-22 14:36:25,650 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 14:36:25,654 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 14:36:25,772 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 14:36:25,773 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 14:36:25,891 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 14:36:25,893 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 14:36:26,006 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 14:36:26,008 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 14:36:26,117 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 14:36:26,119 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 14:36:26,205 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 14:36:26,207 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 14:36:26,292 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 14:36:26,294 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 14:36:26,383 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 14:36:26,397 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 14:36:26,402 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 14:36:26,488 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 14:36:26,489 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 14:36:26,548 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 14:36:26,549 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 14:36:26,605 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 14:36:26,607 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 14:36:26,664 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 14:36:26,665 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 14:36:26,716 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 14:36:26,717 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 14:36:26,769 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 14:36:26,770 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 14:36:26,822 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 14:36:26,824 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save -2025-09-22 14:36:26,898 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h -2025-09-22 14:36:26,900 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save -2025-09-22 14:36:26,958 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c -2025-09-22 14:36:26,966 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save -2025-09-22 14:36:27,038 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c -2025-09-22 14:36:27,039 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save -2025-09-22 14:36:27,101 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h -2025-09-22 14:36:27,108 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save -2025-09-22 14:36:27,224 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c -2025-09-22 14:36:27,225 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save -2025-09-22 14:36:27,292 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp -2025-09-22 14:36:27,293 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save -2025-09-22 14:36:27,367 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c -2025-09-22 14:36:27,370 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save -2025-09-22 14:36:27,449 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h -2025-09-22 14:36:27,467 [WARN] IPConfigManager:3811 - IP not found : TIM -2025-09-22 14:36:27,468 [WARN] CodeGenerator:4259 - IP not found : null -2025-09-22 14:36:27,470 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save -2025-09-22 14:36:27,554 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h -2025-09-22 14:36:27,555 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save -2025-09-22 14:36:27,692 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c -2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Core/Inc -2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Core/Src -2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Core -2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc -2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src -2025-09-22 14:36:27,978 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class/CDC -2025-09-22 14:36:27,978 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class -2025-09-22 14:36:27,978 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 47mS. -2025-09-22 14:36:27,981 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 -2025-09-22 14:36:28,135 [INFO] ConfigFileManager:1595 - The Die is : DIE419 -2025-09-22 14:36:29,907 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 1926mS. -2025-09-22 14:36:29,908 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 1mS. -2025-09-22 14:36:29,910 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. -2025-09-22 14:37:00,642 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:37:00,643 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:37:00,686 [INFO] MicroXplorer:468 - Change Database Path : -2025-09-22 14:37:00,687 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-09-22 14:37:00,699 [ERROR] ProjectManagerView:395 - -java.lang.NullPointerException: Cannot invoke "javax.swing.JTextField.getText()" because the return value of "java.util.List.get(int)" is null - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab$9.caretUpdate(ProjectChoiceTab.java:2706) ~[filemanager.jar:?] - at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:408) ~[?:?] - at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4484) ~[?:?] - at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4506) ~[?:?] - at javax.swing.text.DefaultCaret.fireStateChanged(DefaultCaret.java:857) ~[?:?] - at javax.swing.text.DefaultCaret.changeCaretPosition(DefaultCaret.java:1343) ~[?:?] - at javax.swing.text.DefaultCaret.handleSetDot(DefaultCaret.java:1242) ~[?:?] - at javax.swing.text.DefaultCaret.setDot(DefaultCaret.java:1223) ~[?:?] - at javax.swing.text.DefaultCaret$Handler.insertUpdate(DefaultCaret.java:1819) ~[?:?] - at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:227) ~[?:?] - at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:781) ~[?:?] - at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:740) ~[?:?] - at javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) ~[?:?] - at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:699) ~[?:?] - at javax.swing.text.JTextComponent.setText(JTextComponent.java:1725) ~[?:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.createHeapStackFields(ProjectChoiceTab.java:993) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.buildLinkSettingsPanel(ProjectChoiceTab.java:3813) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.defineWindowsFields(ProjectChoiceTab.java:1987) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.updateSettings(ProjectChoiceTab.java:558) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectSettingsPanel.UpdateDialog(ProjectSettingsPanel.java:247) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.ProjectManagerView.propertyChange(ProjectManagerView.java:392) ~[filemanager.jar:?] - at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?] - at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?] - at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?] - at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX.jar:?] - at com.st.microxplorer.mxsystem.MxSystem.closeConfig(MxSystem.java:899) ~[STM32CubeMX.jar:?] - at com.st.microxplorer.maingui.MainPanel.closeConfig(MainPanel.java:792) ~[STM32CubeMX.jar:?] - at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:288) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:364) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:342) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:264) ~[filemanager.jar:?] - at com.st.stm32cube.common.mx.editor.CubeMxEditor.getMxTabbedPaneInstance(CubeMxEditor.java:1198) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.editor.CubeMxEditor$12$1.createSwingComponent(CubeMxEditor.java:1068) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite.doComponentCreation(EmbeddedSwingComposite.java:492) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite$4.run(EmbeddedSwingComposite.java:291) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:166) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] - at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?] - at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?] - at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?] - at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?] - at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?] - at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?] - at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?] - at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?] - at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?] - at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?] - at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?] - at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?] - at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?] -2025-09-22 14:37:00,706 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] -2025-09-22 14:37:00,706 [INFO] ThirdParty:873 - entering critical section [close project] -2025-09-22 14:37:00,706 [INFO] ThirdParty:883 - exiting critical section [close project] -2025-09-22 14:37:00,709 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:37:00,721 [WARN] IpParametersView:155 - Warning: This peripheral hasn't parameters -2025-09-22 14:37:00,731 [WARN] MainPanel:289 -
Warning: This peripheral has no parameters to be configured
-2025-09-22 14:37:00,743 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 643746584 Bytes (1073741824) -2025-09-22 14:37:00,743 [INFO] MicroXplorer:468 - Change Database Path : -2025-09-22 14:37:00,743 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-09-22 14:37:00,744 [INFO] OpenFileManager:355 - Change cursor -2025-09-22 14:37:00,768 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:37:00,777 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 -2025-09-22 14:37:01,866 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden -2025-09-22 14:37:02,474 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin5 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU -2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS -2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS -2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS -2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS -2025-09-22 14:37:02,521 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: -2025-09-22 14:37:02,546 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:37:02,548 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI -2025-09-22 14:37:02,662 [INFO] ThirdPartyModel:298 - Start build external matchings -2025-09-22 14:37:03,273 [INFO] ThirdPartyModel:316 - End build external matchings -2025-09-22 14:37:03,285 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] -2025-09-22 14:37:03,480 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 634455296 Bytes (1073741824) -2025-09-22 14:37:03,494 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] -2025-09-22 14:37:03,495 [INFO] ThirdParty:835 - entering critical section [change project] -2025-09-22 14:37:03,495 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 -2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 -2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 -2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 -2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 -2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 -2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 -2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 -2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 -2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 -2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 -2025-09-22 14:37:03,502 [INFO] ThirdParty:841 - exiting critical section [change project] -2025-09-22 14:37:03,846 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:37:03,848 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) -2025-09-22 14:37:04,521 [INFO] UtilMem:75 - Before build in PCC Used Memory: 529380344 Bytes (1073741824) -2025-09-22 14:37:04,897 [INFO] UtilMem:75 - After build in PCC Used Memory: 579185656 Bytes (1073741824) -2025-09-22 14:37:04,914 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS -2025-09-22 14:37:04,968 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,968 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,968 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,972 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,972 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,972 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,973 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,973 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,975 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,975 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,979 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,979 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,979 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,980 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,980 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,980 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,981 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,981 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,982 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,982 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,983 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,984 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,985 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,986 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,986 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:37:04,990 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM -2025-09-22 14:37:04,997 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) -2025-09-22 14:37:05,098 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 -2025-09-22 14:37:05,099 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:37:05,102 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] -2025-09-22 14:37:05,140 [INFO] OpenFileManager:386 - Restore cursor -2025-09-22 14:37:28,315 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class sun.awt.X11.XEmbeddedFrame cannot be cast to class javax.swing.JFrame (sun.awt.X11.XEmbeddedFrame and javax.swing.JFrame are in module java.desktop of loader 'bootstrap') -2025-09-22 14:37:28,316 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at com.st.microxplorer.plugins.clock.ClockConfigurationView.activatePlugin(ClockConfigurationView.java:424) -2025-09-22 14:37:28,316 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at com.st.microxplorer.maingui.MainPanel$1.stateChanged(MainPanel.java:385) -2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:446) -2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:297) -2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:148) -2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:79) -2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:650) -2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:625) -2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:4140) -2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.processMouseEvent(Component.java:6618) -2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) -2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.processEvent(Component.java:6386) -2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Container.processEvent(Container.java:2266) -2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) -2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) -2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) -2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) -2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572) -2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) -2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) -2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) -2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) -2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) -2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) -2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) -2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) -2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) -2025-09-22 14:37:28,322 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) -2025-09-22 14:37:28,322 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) -2025-09-22 14:37:28,322 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) -2025-09-22 14:37:31,585 [INFO] NvicTabbedPanel:226 - Cannot restore the selected Tab for NVIC -2025-09-22 14:37:46,193 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 594441928 Bytes (1073741824) -2025-09-22 14:37:47,051 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 624324296 Bytes (1073741824) -2025-09-22 14:37:48,670 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 681530984 Bytes (1073741824) -2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS -2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 -2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS -2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC -2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC -2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC -2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D -2025-09-22 14:37:50,820 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ -2025-09-22 14:37:50,909 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save -2025-09-22 14:37:50,964 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp -2025-09-22 14:37:51,059 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 14:37:51,061 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 14:37:51,118 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 14:37:51,119 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 14:37:51,179 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 14:37:51,180 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 14:37:51,235 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 14:37:51,237 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 14:37:51,294 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 14:37:51,295 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 14:37:51,350 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 14:37:51,351 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 14:37:51,407 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 14:37:51,408 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 14:37:51,464 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 14:37:51,472 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 14:37:51,474 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 14:37:51,531 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 14:37:51,532 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 14:37:51,587 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 14:37:51,588 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 14:37:51,641 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 14:37:51,642 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 14:37:51,702 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 14:37:51,703 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 14:37:51,758 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 14:37:51,759 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 14:37:51,837 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 14:37:51,838 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 14:37:51,889 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 14:37:51,890 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save -2025-09-22 14:37:51,959 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h -2025-09-22 14:37:51,960 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save -2025-09-22 14:37:52,014 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c -2025-09-22 14:37:52,021 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save -2025-09-22 14:37:52,081 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c -2025-09-22 14:37:52,081 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save -2025-09-22 14:37:52,135 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h -2025-09-22 14:37:52,141 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save -2025-09-22 14:37:52,220 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c -2025-09-22 14:37:52,221 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save -2025-09-22 14:37:52,275 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp -2025-09-22 14:37:52,276 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save -2025-09-22 14:37:52,333 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c -2025-09-22 14:37:52,335 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save -2025-09-22 14:37:52,395 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h -2025-09-22 14:37:52,410 [INFO] ApiDbMcu:532 - Load IP Config File for CRC -2025-09-22 14:37:52,412 [INFO] ApiDbMcu:532 - Load IP Config File for DMA2D -2025-09-22 14:37:52,421 [INFO] ApiDbMcu:532 - Load IP Config File for TIM1 -2025-09-22 14:37:52,424 [INFO] ApiDbMcu:532 - Load IP Config File for RCC -2025-09-22 14:37:52,426 [WARN] IPConfigManager:3811 - IP not found : TIM -2025-09-22 14:37:52,426 [WARN] CodeGenerator:4259 - IP not found : null -2025-09-22 14:37:52,428 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save -2025-09-22 14:37:52,488 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h -2025-09-22 14:37:52,489 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save -2025-09-22 14:37:52,593 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c -2025-09-22 14:37:52,846 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 26mS. -2025-09-22 14:37:52,859 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 -2025-09-22 14:37:52,949 [INFO] ConfigFileManager:1595 - The Die is : DIE419 -2025-09-22 14:37:52,952 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS -2025-09-22 14:37:52,953 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG -2025-09-22 14:37:52,960 [INFO] ApiDbMcu:532 - Load IP Config File for LWIP -2025-09-22 14:37:52,967 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS -2025-09-22 14:37:52,978 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE -2025-09-22 14:37:52,981 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST -2025-09-22 14:37:53,660 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 800mS. -2025-09-22 14:37:53,660 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. -2025-09-22 14:37:53,661 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. -2025-09-22 14:46:55,406 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:46:55,406 [INFO] MainUpdater:2872 - connection check result : 10 -2025-09-22 14:46:55,430 [INFO] MicroXplorer:468 - Change Database Path : -2025-09-22 14:46:55,431 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-09-22 14:46:55,441 [ERROR] ProjectManagerView:395 - -java.lang.NullPointerException: Cannot invoke "javax.swing.JTextField.getText()" because the return value of "java.util.List.get(int)" is null - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab$9.caretUpdate(ProjectChoiceTab.java:2706) ~[filemanager.jar:?] - at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:408) ~[?:?] - at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4484) ~[?:?] - at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4506) ~[?:?] - at javax.swing.text.DefaultCaret.fireStateChanged(DefaultCaret.java:857) ~[?:?] - at javax.swing.text.DefaultCaret.changeCaretPosition(DefaultCaret.java:1343) ~[?:?] - at javax.swing.text.DefaultCaret.handleSetDot(DefaultCaret.java:1242) ~[?:?] - at javax.swing.text.DefaultCaret.setDot(DefaultCaret.java:1223) ~[?:?] - at javax.swing.text.DefaultCaret$Handler.insertUpdate(DefaultCaret.java:1819) ~[?:?] - at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:227) ~[?:?] - at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:781) ~[?:?] - at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:740) ~[?:?] - at javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) ~[?:?] - at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:699) ~[?:?] - at javax.swing.text.JTextComponent.setText(JTextComponent.java:1725) ~[?:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.createHeapStackFields(ProjectChoiceTab.java:993) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.buildLinkSettingsPanel(ProjectChoiceTab.java:3813) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.defineWindowsFields(ProjectChoiceTab.java:1987) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.updateSettings(ProjectChoiceTab.java:558) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.gui.ProjectSettingsPanel.UpdateDialog(ProjectSettingsPanel.java:247) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.projectmanager.ProjectManagerView.propertyChange(ProjectManagerView.java:392) ~[filemanager.jar:?] - at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?] - at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?] - at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?] - at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX.jar:?] - at com.st.microxplorer.mxsystem.MxSystem.closeConfig(MxSystem.java:899) ~[STM32CubeMX.jar:?] - at com.st.microxplorer.maingui.MainPanel.closeConfig(MainPanel.java:792) ~[STM32CubeMX.jar:?] - at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:288) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:364) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:342) ~[filemanager.jar:?] - at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:264) ~[filemanager.jar:?] - at com.st.stm32cube.common.mx.editor.CubeMxEditor.getMxTabbedPaneInstance(CubeMxEditor.java:1198) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.editor.CubeMxEditor$12$1.createSwingComponent(CubeMxEditor.java:1068) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite.doComponentCreation(EmbeddedSwingComposite.java:492) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite$4.run(EmbeddedSwingComposite.java:291) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:166) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] - at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?] - at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?] - at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?] - at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?] - at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?] - at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?] - at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?] - at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?] - at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?] - at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?] - at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?] - at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?] - at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?] -2025-09-22 14:46:55,443 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] -2025-09-22 14:46:55,443 [INFO] ThirdParty:873 - entering critical section [close project] -2025-09-22 14:46:55,443 [INFO] ThirdParty:883 - exiting critical section [close project] -2025-09-22 14:46:55,445 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:46:55,452 [WARN] IpParametersView:155 - Warning: This peripheral hasn't parameters -2025-09-22 14:46:55,457 [WARN] MainPanel:289 -
Warning: This peripheral has no parameters to be configured
-2025-09-22 14:46:55,460 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 808010408 Bytes (1073741824) -2025-09-22 14:46:55,461 [INFO] MicroXplorer:468 - Change Database Path : -2025-09-22 14:46:55,462 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-09-22 14:46:55,462 [INFO] OpenFileManager:355 - Change cursor -2025-09-22 14:46:55,472 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-09-22 14:46:55,477 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 -2025-09-22 14:46:56,427 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden -2025-09-22 14:46:56,657 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin5 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU -2025-09-22 14:46:56,681 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS -2025-09-22 14:46:56,682 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS -2025-09-22 14:46:56,682 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS -2025-09-22 14:46:56,682 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS -2025-09-22 14:46:56,682 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-09-22 14:46:56,690 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI -2025-09-22 14:46:56,783 [INFO] ThirdPartyModel:298 - Start build external matchings -2025-09-22 14:46:57,275 [INFO] ThirdPartyModel:316 - End build external matchings -2025-09-22 14:46:57,281 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] -2025-09-22 14:46:57,451 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 810753352 Bytes (1073741824) -2025-09-22 14:46:57,465 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] -2025-09-22 14:46:57,465 [INFO] ThirdParty:835 - entering critical section [change project] -2025-09-22 14:46:57,465 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 -2025-09-22 14:46:57,465 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 -2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 -2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 -2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 -2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 -2025-09-22 14:46:57,470 [INFO] ThirdParty:841 - exiting critical section [change project] -2025-09-22 14:46:57,739 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-09-22 14:46:57,740 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) -2025-09-22 14:46:58,022 [INFO] UtilMem:75 - Before build in PCC Used Memory: 481101696 Bytes (1073741824) -2025-09-22 14:46:58,256 [INFO] UtilMem:75 - After build in PCC Used Memory: 531959680 Bytes (1073741824) -2025-09-22 14:46:58,259 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,300 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,300 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,301 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-09-22 14:46:58,303 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM -2025-09-22 14:46:58,307 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) -2025-09-22 14:46:58,366 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 -2025-09-22 14:46:58,366 [INFO] CADModel:114 - Register for checkConnection events -2025-09-22 14:46:58,369 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] -2025-09-22 14:46:58,411 [INFO] OpenFileManager:386 - Restore cursor -2025-09-22 15:02:07,254 [INFO] Gpio:278 - dependency for GPIO [] -2025-09-22 15:04:42,439 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 568949256 Bytes (1073741824) -2025-09-22 15:04:43,258 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 598832136 Bytes (1073741824) -2025-09-22 15:04:44,565 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 699495432 Bytes (1073741824) -2025-09-22 15:04:46,006 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS -2025-09-22 15:04:46,006 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 -2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS -2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC -2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC -2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC -2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D -2025-09-22 15:04:46,008 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO -2025-09-22 15:04:46,008 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ -2025-09-22 15:04:46,234 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save -2025-09-22 15:04:46,573 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp -2025-09-22 15:04:46,630 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp_save -2025-09-22 15:04:46,772 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp -2025-09-22 15:04:47,016 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 15:04:47,019 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 15:04:47,102 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 15:04:47,104 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 15:04:47,194 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 15:04:47,196 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 15:04:47,281 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 15:04:47,283 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 15:04:47,371 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 15:04:47,373 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 15:04:47,460 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 15:04:47,461 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 15:04:47,556 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 15:04:47,558 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 15:04:47,631 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 15:04:47,642 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-09-22 15:04:47,645 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save -2025-09-22 15:04:47,744 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp -2025-09-22 15:04:47,745 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save -2025-09-22 15:04:47,840 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp -2025-09-22 15:04:47,843 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save -2025-09-22 15:04:47,931 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp -2025-09-22 15:04:47,932 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save -2025-09-22 15:04:48,019 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp -2025-09-22 15:04:48,021 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save -2025-09-22 15:04:48,103 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp -2025-09-22 15:04:48,105 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save -2025-09-22 15:04:48,192 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp -2025-09-22 15:04:48,193 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save -2025-09-22 15:04:48,280 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp -2025-09-22 15:04:48,281 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save -2025-09-22 15:04:48,393 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h -2025-09-22 15:04:48,395 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save -2025-09-22 15:04:48,487 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c -2025-09-22 15:04:48,498 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save -2025-09-22 15:04:48,718 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c -2025-09-22 15:04:48,720 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save -2025-09-22 15:04:48,777 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h -2025-09-22 15:04:48,785 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save -2025-09-22 15:04:48,886 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c -2025-09-22 15:04:48,887 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save -2025-09-22 15:04:48,942 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp -2025-09-22 15:04:48,943 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save -2025-09-22 15:04:48,998 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c -2025-09-22 15:04:49,001 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save -2025-09-22 15:04:49,053 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h -2025-09-22 15:04:49,076 [INFO] ApiDbMcu:532 - Load IP Config File for CRC -2025-09-22 15:04:49,078 [INFO] ApiDbMcu:532 - Load IP Config File for DMA2D -2025-09-22 15:04:49,089 [INFO] ApiDbMcu:532 - Load IP Config File for TIM1 -2025-09-22 15:04:49,093 [INFO] ApiDbMcu:532 - Load IP Config File for RCC -2025-09-22 15:04:49,095 [WARN] IPConfigManager:3811 - IP not found : TIM -2025-09-22 15:04:49,095 [WARN] CodeGenerator:4259 - IP not found : null -2025-09-22 15:04:49,097 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save -2025-09-22 15:04:49,180 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h -2025-09-22 15:04:49,181 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save -2025-09-22 15:04:49,283 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c -2025-09-22 15:04:49,484 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 23mS. -2025-09-22 15:04:49,486 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 -2025-09-22 15:04:49,567 [INFO] ConfigFileManager:1595 - The Die is : DIE419 -2025-09-22 15:04:49,569 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS -2025-09-22 15:04:49,571 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG -2025-09-22 15:04:49,577 [INFO] ApiDbMcu:532 - Load IP Config File for LWIP -2025-09-22 15:04:49,581 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS -2025-09-22 15:04:49,586 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE -2025-09-22 15:04:49,590 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST -2025-09-22 15:04:50,478 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 992mS. -2025-09-22 15:04:50,478 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. -2025-09-22 15:04:50,479 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. -2025-09-22 15:44:36,354 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] +2025-10-13 14:21:53,376 [INFO] Activator:177 - !SESSION log4j initialized +2025-10-13 14:21:58,123 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-10-13 14:21:59,603 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-13 14:21:59,621 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-13 14:21:59,621 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-13 14:21:59,621 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-13 14:21:59,626 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-13 14:21:59,627 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-13 14:21:59,629 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-13 14:21:59,746 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-13 14:21:59,815 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-13 14:21:59,815 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-13 14:21:59,816 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-13 14:21:59,816 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:21:59,816 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-13 14:21:59,816 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:21:59,816 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-13 14:21:59,816 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:21:59,816 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:21:59,817 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-13 14:21:59,874 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-10-13 14:22:00,141 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-13 14:22:00,141 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-13 14:22:00,141 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-13 14:22:00,141 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:22:00,141 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-13 14:22:00,141 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:22:00,141 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-13 14:22:00,141 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:22:00,141 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-13 14:22:00,142 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-13 14:22:00,154 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-13 14:22:00,156 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-10-13 14:22:00,157 [INFO] PluginManage:310 - Check plugin analytics +2025-10-13 14:22:00,433 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-10-13 14:22:00,433 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-10-13 14:22:00,433 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-10-13 14:22:00,436 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-10-13 14:22:00,436 [INFO] PluginManage:310 - Check plugin cadmodel +2025-10-13 14:22:00,440 [INFO] CADModel:105 - Init CAD model plugin +2025-10-13 14:22:00,440 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-10-13 14:22:00,440 [INFO] PluginManage:310 - Check plugin clock +2025-10-13 14:22:00,448 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-10-13 14:22:00,448 [INFO] PluginManage:310 - Check plugin ddr +2025-10-13 14:22:00,451 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-10-13 14:22:00,451 [INFO] PluginManage:310 - Check plugin filemanager +2025-10-13 14:22:00,592 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-10-13 14:22:00,592 [INFO] PluginManage:310 - Check plugin ipmanager +2025-10-13 14:22:00,596 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-10-13 14:22:00,596 [INFO] PluginManage:310 - Check plugin lpbam +2025-10-13 14:22:00,605 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-10-13 14:22:00,605 [INFO] PluginManage:310 - Check plugin memorymap +2025-10-13 14:22:00,618 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-10-13 14:22:00,619 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-10-13 14:22:00,626 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-10-13 14:22:00,626 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-10-13 14:22:00,702 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-10-13 14:22:00,815 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-10-13 14:22:00,816 [INFO] PluginManage:310 - Check plugin power +2025-10-13 14:22:00,823 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-10-13 14:22:00,823 [INFO] PluginManage:310 - Check plugin projectmanager +2025-10-13 14:22:00,836 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-10-13 14:22:00,836 [INFO] PluginManage:310 - Check plugin rif +2025-10-13 14:22:00,843 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-10-13 14:22:00,843 [INFO] PluginManage:310 - Check plugin thirdparty +2025-10-13 14:22:00,949 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-10-13 14:22:00,949 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-10-13 14:22:00,949 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-10-13 14:22:00,949 [INFO] PluginManage:310 - Check plugin tools +2025-10-13 14:22:00,950 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-10-13 14:22:00,951 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-10-13 14:22:00,952 [INFO] PluginManage:310 - Check plugin tutovideos +2025-10-13 14:22:01,140 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-10-13 14:22:01,140 [INFO] PluginManage:310 - Check plugin updater +2025-10-13 14:22:01,159 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-10-13 14:22:01,159 [INFO] PluginManage:310 - Check plugin userauth +2025-10-13 14:22:01,162 [INFO] UserAuth:118 - Init User Auth plugin +2025-10-13 14:22:01,163 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-10-13 14:22:01,163 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-10-13 14:22:01,330 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-10-13 14:22:01,393 [INFO] CADModel:165 - CPN selected for project level +2025-10-13 14:22:01,393 [INFO] CADModel:114 - Register for checkConnection events +2025-10-13 14:22:01,403 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,403 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-10-13 14:22:01,407 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,408 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-10-13 14:22:01,409 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,409 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-10-13 14:22:01,411 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,411 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-10-13 14:22:01,412 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,412 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-10-13 14:22:01,413 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,414 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-10-13 14:22:01,417 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,417 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-10-13 14:22:01,419 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,419 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-10-13 14:22:01,421 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,421 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-10-13 14:22:01,423 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,423 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-10-13 14:22:01,425 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,425 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-10-13 14:22:01,427 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,428 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-10-13 14:22:01,429 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,429 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-10-13 14:22:01,431 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,431 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-10-13 14:22:01,433 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,434 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-10-13 14:22:01,436 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,436 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-10-13 14:22:01,437 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,437 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-10-13 14:22:01,444 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,444 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-10-13 14:22:01,447 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,447 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-10-13 14:22:01,452 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,452 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-10-13 14:22:01,457 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,458 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-10-13 14:22:01,461 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,461 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-10-13 14:22:01,463 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,463 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-10-13 14:22:01,465 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,466 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-10-13 14:22:01,468 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,468 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-10-13 14:22:01,470 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,470 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-10-13 14:22:01,476 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,478 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-10-13 14:22:01,483 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,483 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-10-13 14:22:01,484 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,484 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-10-13 14:22:01,486 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,486 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-10-13 14:22:01,487 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,488 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-10-13 14:22:01,489 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,489 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-10-13 14:22:01,490 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,490 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-10-13 14:22:01,492 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,492 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-10-13 14:22:01,495 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,495 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-10-13 14:22:01,498 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,498 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-10-13 14:22:01,499 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,499 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-10-13 14:22:01,502 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,502 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-10-13 14:22:01,507 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,508 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-10-13 14:22:01,510 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,510 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-10-13 14:22:01,512 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,513 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-10-13 14:22:01,519 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,519 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-10-13 14:22:01,521 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,521 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-10-13 14:22:01,525 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,525 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-10-13 14:22:01,529 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,529 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-10-13 14:22:01,534 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-13 14:22:01,535 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-10-13 14:22:01,633 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:01,664 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-13 14:22:01,681 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-13 14:22:01,689 [INFO] CADModel:165 - CPN selected for project level +2025-10-13 14:22:01,689 [INFO] CADModel:114 - Register for checkConnection events +2025-10-13 14:22:01,689 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:01,689 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-10-13 14:22:01,835 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:01,837 [INFO] CADModel:165 - CPN selected for project level +2025-10-13 14:22:01,837 [INFO] CADModel:114 - Register for checkConnection events +2025-10-13 14:22:01,838 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:01,838 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-10-13 14:22:01,843 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:01,960 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:01,965 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-10-13 14:22:01,965 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:02,004 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-10-13 14:22:02,066 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:02,067 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:02,067 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:02,068 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-10-13 14:22:02,069 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-13 14:22:02,099 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-10-13 14:22:02,100 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-10-13 14:22:02,113 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-13 14:22:02,793 [INFO] MainUpdater:2872 - connection check result : 10 +2025-10-13 14:22:02,794 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-10-13 14:22:02,794 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-10-13 14:22:02,805 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-10-13 14:22:02,806 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-10-13 14:22:02,827 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-10-13 14:22:03,004 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-10-13 14:22:03,497 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-10-13 14:22:04,097 [INFO] WebApp:463 - Apply proxy settings +2025-10-13 14:22:04,098 [INFO] WebApp:548 - Chromium requires no authentication +2025-10-13 14:22:04,106 [INFO] WebApp:491 - Direct internet connection detected +2025-10-13 14:22:04,119 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-10-13 14:22:04,126 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-10-13 14:22:04,127 [INFO] WebApp:900 - Register for checkConnection events +2025-10-13 14:22:04,128 [INFO] WebApp:463 - Apply proxy settings +2025-10-13 14:22:04,128 [INFO] WebApp:548 - Chromium requires no authentication +2025-10-13 14:22:04,129 [INFO] WebApp:491 - Direct internet connection detected +2025-10-13 14:22:04,132 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-10-13 14:22:04,136 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-10-13 14:22:04,165 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-10-13 14:22:04,177 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-10-13 14:22:04,203 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-10-13 14:22:04,244 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-10-13 14:22:04,259 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-10-13 14:22:04,276 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-10-13 14:22:04,284 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-10-13 14:22:04,293 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-10-13 14:22:04,295 [INFO] WebApp:225 - Starting web application +2025-10-13 14:22:04,295 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-10-13 14:22:04,301 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-10-13 14:22:04,307 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-10-13 14:22:04,316 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-13 14:22:04,317 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-13 14:22:04,317 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-13 14:22:04,317 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-13 14:22:04,317 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-13 14:22:04,334 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-10-13 14:22:04,340 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-10-13 14:22:04,348 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-10-13 14:22:04,355 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-10-13 14:22:04,366 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-10-13 14:22:04,370 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-10-13 14:22:04,375 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-10-13 14:22:04,382 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-10-13 14:22:04,391 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.1.0 +2025-10-13 14:22:04,414 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-10-13 14:22:04,423 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-10-13 14:22:04,430 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-10-13 14:22:04,430 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-10-13 14:22:04,440 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-10-13 14:22:04,446 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-10-13 14:22:04,450 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-10-13 14:22:04,456 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-10-13 14:22:04,466 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-10-13 14:22:04,472 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-10-13 14:22:04,481 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-10-13 14:22:04,487 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-10-13 14:22:04,492 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-10-13 14:22:04,529 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-10-13 14:22:04,595 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-10-13 14:22:04,662 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-10-13 14:22:04,926 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-10-13 14:22:04,949 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-10-13 14:22:04,956 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-10-13 14:22:04,959 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-10-13 14:22:04,977 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.2.0 +2025-10-13 14:22:04,994 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-10-13 14:22:05,009 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-10-13 14:22:05,016 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-10-13 14:22:05,022 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-10-13 14:22:05,025 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-10-13 14:22:05,028 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-10-13 14:22:05,032 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-10-13 14:22:05,046 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-13 14:22:05,047 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-10-13 14:22:05,048 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-13 14:22:05,048 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-13 14:22:05,048 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-13 14:22:05,053 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-10-13 14:22:05,060 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-10-13 14:22:05,073 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-13 14:22:05,073 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-13 14:22:05,075 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-10-13 14:22:05,077 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-13 14:22:05,078 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-13 14:22:05,078 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-13 14:22:05,079 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-13 14:22:05,079 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-13 14:22:05,084 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-10-13 14:22:05,087 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-10-13 14:22:05,090 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-10-13 14:22:05,103 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-13 14:22:05,104 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-13 14:22:05,104 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-13 14:22:05,114 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-10-13 14:22:05,139 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-10-13 14:22:05,142 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-10-13 14:22:05,154 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-10-13 14:22:05,157 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-10-13 14:22:05,160 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-10-13 14:22:05,168 [INFO] WebApp:191 - Connection restablished +2025-10-13 14:22:05,169 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-10-13 14:22:05,187 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-10-13 14:22:05,190 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-10-13 14:22:05,195 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-10-13 14:22:05,204 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-10-13 14:22:05,212 [INFO] ThirdParty:978 - Integrity check success = true +2025-10-13 14:22:05,212 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-10-13 14:22:05,212 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-10-13 14:55:00,763 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] diff --git a/.metadata/.ide.log-2025-09-22.log b/.metadata/.ide.log-2025-09-22.log new file mode 100644 index 0000000..9b1c1a5 --- /dev/null +++ b/.metadata/.ide.log-2025-09-22.log @@ -0,0 +1,2099 @@ +2025-09-22 14:12:26,825 [INFO] Activator:176 - + + +2025-09-22 14:12:26,829 [INFO] Activator:177 - !SESSION log4j initialized +2025-09-22 14:12:31,791 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-22 14:12:33,276 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-22 14:12:33,291 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-22 14:12:33,291 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-22 14:12:33,292 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-22 14:12:33,296 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:12:33,297 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:12:33,299 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-22 14:12:33,404 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:12:33,455 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-22 14:12:33,455 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-22 14:12:33,456 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,456 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,456 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,456 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,456 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-22 14:12:33,515 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-09-22 14:12:33,767 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-22 14:12:33,768 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-22 14:12:33,768 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-22 14:12:33,768 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,768 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:12:33,768 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,769 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:12:33,769 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,769 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:12:33,769 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-22 14:12:33,783 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-22 14:12:33,785 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-09-22 14:12:33,786 [INFO] PluginManage:310 - Check plugin analytics +2025-09-22 14:12:34,090 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-09-22 14:12:34,090 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-09-22 14:12:34,090 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-09-22 14:12:34,092 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-09-22 14:12:34,093 [INFO] PluginManage:310 - Check plugin cadmodel +2025-09-22 14:12:34,096 [INFO] CADModel:105 - Init CAD model plugin +2025-09-22 14:12:34,096 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-09-22 14:12:34,096 [INFO] PluginManage:310 - Check plugin clock +2025-09-22 14:12:34,106 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-09-22 14:12:34,106 [INFO] PluginManage:310 - Check plugin ddr +2025-09-22 14:12:34,110 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-09-22 14:12:34,110 [INFO] PluginManage:310 - Check plugin filemanager +2025-09-22 14:12:34,252 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-09-22 14:12:34,252 [INFO] PluginManage:310 - Check plugin ipmanager +2025-09-22 14:12:34,258 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-09-22 14:12:34,258 [INFO] PluginManage:310 - Check plugin lpbam +2025-09-22 14:12:34,269 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-09-22 14:12:34,269 [INFO] PluginManage:310 - Check plugin memorymap +2025-09-22 14:12:34,282 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-09-22 14:12:34,282 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-09-22 14:12:34,290 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-09-22 14:12:34,291 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-09-22 14:12:34,373 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-09-22 14:12:34,508 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-09-22 14:12:34,508 [INFO] PluginManage:310 - Check plugin power +2025-09-22 14:12:34,519 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-09-22 14:12:34,520 [INFO] PluginManage:310 - Check plugin projectmanager +2025-09-22 14:12:34,538 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-09-22 14:12:34,538 [INFO] PluginManage:310 - Check plugin rif +2025-09-22 14:12:34,548 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-09-22 14:12:34,549 [INFO] PluginManage:310 - Check plugin thirdparty +2025-09-22 14:12:34,687 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-09-22 14:12:34,687 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-09-22 14:12:34,687 [INFO] PluginManage:310 - Check plugin tools +2025-09-22 14:12:34,687 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-09-22 14:12:34,688 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-09-22 14:12:34,690 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-09-22 14:12:34,690 [INFO] PluginManage:310 - Check plugin tutovideos +2025-09-22 14:12:34,861 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-09-22 14:12:34,862 [INFO] PluginManage:310 - Check plugin updater +2025-09-22 14:12:34,879 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-09-22 14:12:34,879 [INFO] PluginManage:310 - Check plugin userauth +2025-09-22 14:12:34,882 [INFO] UserAuth:118 - Init User Auth plugin +2025-09-22 14:12:34,883 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-09-22 14:12:34,883 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-09-22 14:12:35,042 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:12:35,110 [INFO] CADModel:165 - CPN selected for project level +2025-09-22 14:12:35,110 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:12:35,121 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,121 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-09-22 14:12:35,125 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,125 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-09-22 14:12:35,126 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,126 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-09-22 14:12:35,127 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,127 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-09-22 14:12:35,129 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,129 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-09-22 14:12:35,130 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,130 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-09-22 14:12:35,133 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,133 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-09-22 14:12:35,136 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,136 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-09-22 14:12:35,138 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,139 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-09-22 14:12:35,141 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,142 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-09-22 14:12:35,143 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,144 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-09-22 14:12:35,146 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,146 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-09-22 14:12:35,148 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,148 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-09-22 14:12:35,150 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,150 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-09-22 14:12:35,153 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,153 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-09-22 14:12:35,156 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,156 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-09-22 14:12:35,159 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,159 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-09-22 14:12:35,167 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,167 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-09-22 14:12:35,170 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,170 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-09-22 14:12:35,175 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,175 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-09-22 14:12:35,180 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,180 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-09-22 14:12:35,183 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,183 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-09-22 14:12:35,186 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,186 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-09-22 14:12:35,188 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,188 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-09-22 14:12:35,190 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,190 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-09-22 14:12:35,191 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,192 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-09-22 14:12:35,197 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,200 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-09-22 14:12:35,205 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,205 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-09-22 14:12:35,206 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,206 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-09-22 14:12:35,208 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,209 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-09-22 14:12:35,211 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,211 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-09-22 14:12:35,212 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,213 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-09-22 14:12:35,214 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,214 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-09-22 14:12:35,216 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,216 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-09-22 14:12:35,218 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,218 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-09-22 14:12:35,221 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,221 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-09-22 14:12:35,222 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,222 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-09-22 14:12:35,224 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,225 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-09-22 14:12:35,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,231 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-09-22 14:12:35,233 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,233 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-09-22 14:12:35,236 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,236 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-09-22 14:12:35,242 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,242 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-09-22 14:12:35,245 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,245 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-09-22 14:12:35,249 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,249 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-09-22 14:12:35,253 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,253 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-09-22 14:12:35,261 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:12:35,261 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-09-22 14:12:35,359 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,383 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:12:35,394 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:12:35,401 [INFO] CADModel:165 - CPN selected for project level +2025-09-22 14:12:35,402 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:12:35,402 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,402 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-22 14:12:35,524 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,525 [INFO] CADModel:165 - CPN selected for project level +2025-09-22 14:12:35,526 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:12:35,526 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,526 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-22 14:12:35,529 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,617 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,620 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-22 14:12:35,621 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,654 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-22 14:12:35,710 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,711 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,712 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,712 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-22 14:12:35,713 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:12:35,741 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-09-22 14:12:35,742 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-09-22 14:12:35,757 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-22 14:12:36,408 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:12:36,409 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-09-22 14:12:36,409 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-22 14:12:36,417 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-22 14:12:36,418 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-22 14:12:36,440 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-09-22 14:12:36,614 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-09-22 14:12:37,151 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-09-22 14:12:37,713 [INFO] WebApp:463 - Apply proxy settings +2025-09-22 14:12:37,714 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-22 14:12:37,724 [INFO] WebApp:491 - Direct internet connection detected +2025-09-22 14:12:37,747 [INFO] WebApp:900 - Register for checkConnection events +2025-09-22 14:12:37,748 [INFO] WebApp:463 - Apply proxy settings +2025-09-22 14:12:37,748 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-22 14:12:37,748 [INFO] WebApp:491 - Direct internet connection detected +2025-09-22 14:12:37,819 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-09-22 14:12:37,826 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-09-22 14:12:37,831 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-09-22 14:12:37,836 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-09-22 14:12:37,876 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-09-22 14:12:37,892 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-09-22 14:12:37,896 [INFO] WebApp:225 - Starting web application +2025-09-22 14:12:37,896 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-09-22 14:12:37,926 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-09-22 14:12:37,979 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-09-22 14:12:37,995 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-09-22 14:12:38,017 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-09-22 14:12:38,026 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-09-22 14:12:38,036 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-09-22 14:12:38,046 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-09-22 14:12:38,051 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-09-22 14:12:38,071 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:12:38,072 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:12:38,074 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-22 14:12:38,076 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:12:38,077 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:12:38,078 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:12:38,085 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-09-22 14:12:38,108 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-09-22 14:12:38,118 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-09-22 14:12:38,134 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-09-22 14:12:38,141 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-09-22 14:12:38,146 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-09-22 14:12:38,150 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-09-22 14:12:38,157 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-09-22 14:12:38,176 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-09-22 14:12:38,185 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-09-22 14:12:38,191 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-09-22 14:12:38,199 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-09-22 14:12:38,204 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-09-22 14:12:38,208 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-09-22 14:12:38,212 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-09-22 14:12:38,218 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-09-22 14:12:38,220 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-09-22 14:12:38,225 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-09-22 14:12:38,230 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-09-22 14:12:38,234 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-09-22 14:12:38,265 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-09-22 14:12:38,329 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-09-22 14:12:38,387 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-09-22 14:12:38,500 [INFO] WebApp:191 - Connection restablished +2025-09-22 14:12:38,582 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-09-22 14:12:38,599 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-09-22 14:12:38,604 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-09-22 14:12:38,608 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-09-22 14:12:38,614 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-09-22 14:12:38,637 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-09-22 14:12:38,649 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-09-22 14:12:38,658 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-09-22 14:12:38,663 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-09-22 14:12:38,669 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-09-22 14:12:38,688 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:12:38,689 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-09-22 14:12:38,690 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:12:38,691 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:12:38,691 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:12:38,699 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-09-22 14:12:38,709 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-09-22 14:12:38,726 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:12:38,726 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:12:38,729 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-09-22 14:12:38,730 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:12:38,731 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:12:38,736 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-09-22 14:12:38,744 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-09-22 14:12:38,749 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:12:38,762 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:12:38,763 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:12:38,763 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:12:38,781 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-09-22 14:12:38,817 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-09-22 14:12:38,826 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-09-22 14:12:38,845 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-09-22 14:12:38,851 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-09-22 14:12:38,856 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-09-22 14:12:38,873 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-09-22 14:12:38,902 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-09-22 14:12:38,910 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-09-22 14:12:38,919 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-09-22 14:12:38,937 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-09-22 14:12:38,953 [INFO] ThirdParty:978 - Integrity check success = true +2025-09-22 14:12:38,953 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-09-22 14:12:38,954 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-09-22 14:25:50,416 [INFO] Activator:176 - + + +2025-09-22 14:25:50,417 [INFO] Activator:177 - !SESSION log4j initialized +2025-09-22 14:25:55,445 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-22 14:25:56,690 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-22 14:25:56,702 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-22 14:25:56,703 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-22 14:25:56,703 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-22 14:25:56,705 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:25:56,707 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:25:56,709 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-22 14:25:56,815 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:25:56,868 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-22 14:25:56,869 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-22 14:25:56,869 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:56,869 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:56,869 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:56,869 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:56,869 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-22 14:25:56,915 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-09-22 14:25:57,137 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-22 14:25:57,138 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-22 14:25:57,138 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:57,138 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:57,138 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:57,138 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:25:57,138 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-22 14:25:57,150 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-22 14:25:57,151 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-09-22 14:25:57,152 [INFO] PluginManage:310 - Check plugin analytics +2025-09-22 14:25:57,443 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-09-22 14:25:57,444 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-09-22 14:25:57,444 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-09-22 14:25:57,447 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-09-22 14:25:57,447 [INFO] PluginManage:310 - Check plugin cadmodel +2025-09-22 14:25:57,450 [INFO] CADModel:105 - Init CAD model plugin +2025-09-22 14:25:57,450 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-09-22 14:25:57,450 [INFO] PluginManage:310 - Check plugin clock +2025-09-22 14:25:57,456 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-09-22 14:25:57,456 [INFO] PluginManage:310 - Check plugin ddr +2025-09-22 14:25:57,458 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-09-22 14:25:57,458 [INFO] PluginManage:310 - Check plugin filemanager +2025-09-22 14:25:57,602 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-09-22 14:25:57,602 [INFO] PluginManage:310 - Check plugin ipmanager +2025-09-22 14:25:57,605 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-09-22 14:25:57,606 [INFO] PluginManage:310 - Check plugin lpbam +2025-09-22 14:25:57,616 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-09-22 14:25:57,616 [INFO] PluginManage:310 - Check plugin memorymap +2025-09-22 14:25:57,624 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-09-22 14:25:57,624 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-09-22 14:25:57,631 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-09-22 14:25:57,631 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-09-22 14:25:57,708 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-09-22 14:25:57,818 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-09-22 14:25:57,818 [INFO] PluginManage:310 - Check plugin power +2025-09-22 14:25:57,825 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-09-22 14:25:57,825 [INFO] PluginManage:310 - Check plugin projectmanager +2025-09-22 14:25:57,838 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-09-22 14:25:57,838 [INFO] PluginManage:310 - Check plugin rif +2025-09-22 14:25:57,846 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-09-22 14:25:57,846 [INFO] PluginManage:310 - Check plugin thirdparty +2025-09-22 14:25:57,949 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-09-22 14:25:57,949 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-09-22 14:25:57,949 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-09-22 14:25:57,950 [INFO] PluginManage:310 - Check plugin tools +2025-09-22 14:25:57,950 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-09-22 14:25:57,951 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-09-22 14:25:57,952 [INFO] PluginManage:310 - Check plugin tutovideos +2025-09-22 14:25:58,145 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-09-22 14:25:58,145 [INFO] PluginManage:310 - Check plugin updater +2025-09-22 14:25:58,164 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-09-22 14:25:58,164 [INFO] PluginManage:310 - Check plugin userauth +2025-09-22 14:25:58,168 [INFO] UserAuth:118 - Init User Auth plugin +2025-09-22 14:25:58,169 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-09-22 14:25:58,169 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-09-22 14:25:58,316 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:25:58,367 [INFO] CADModel:165 - CPN selected for project level +2025-09-22 14:25:58,367 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:25:58,375 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,375 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-09-22 14:25:58,379 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,379 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-09-22 14:25:58,380 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,380 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-09-22 14:25:58,382 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,382 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-09-22 14:25:58,383 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,383 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-09-22 14:25:58,384 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,384 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-09-22 14:25:58,386 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,387 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-09-22 14:25:58,388 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,388 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-09-22 14:25:58,390 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,390 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-09-22 14:25:58,392 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,392 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-09-22 14:25:58,393 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,393 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-09-22 14:25:58,395 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,395 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-09-22 14:25:58,396 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,396 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-09-22 14:25:58,397 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,398 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-09-22 14:25:58,400 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,400 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-09-22 14:25:58,402 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,402 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-09-22 14:25:58,404 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,404 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-09-22 14:25:58,411 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,412 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-09-22 14:25:58,414 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,415 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-09-22 14:25:58,419 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,420 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-09-22 14:25:58,425 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,425 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-09-22 14:25:58,427 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,427 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-09-22 14:25:58,430 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,430 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-09-22 14:25:58,431 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,432 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-09-22 14:25:58,433 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,433 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-09-22 14:25:58,435 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,435 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-09-22 14:25:58,440 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,442 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-09-22 14:25:58,446 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,446 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-09-22 14:25:58,447 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,447 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-09-22 14:25:58,449 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,449 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-09-22 14:25:58,451 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,451 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-09-22 14:25:58,452 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,452 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-09-22 14:25:58,453 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,453 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-09-22 14:25:58,454 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,454 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-09-22 14:25:58,456 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,456 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-09-22 14:25:58,458 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,458 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-09-22 14:25:58,458 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,459 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-09-22 14:25:58,462 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,462 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-09-22 14:25:58,467 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,467 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-09-22 14:25:58,469 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,469 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-09-22 14:25:58,472 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,472 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-09-22 14:25:58,478 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,478 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-09-22 14:25:58,480 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,480 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-09-22 14:25:58,483 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,484 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-09-22 14:25:58,486 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,487 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-09-22 14:25:58,491 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:25:58,492 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-09-22 14:25:58,589 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,612 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:25:58,625 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:25:58,631 [INFO] CADModel:165 - CPN selected for project level +2025-09-22 14:25:58,631 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:25:58,631 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,632 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-22 14:25:58,742 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,744 [INFO] CADModel:165 - CPN selected for project level +2025-09-22 14:25:58,744 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:25:58,744 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,744 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-22 14:25:58,749 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,813 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,817 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-22 14:25:58,817 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,844 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-22 14:25:58,900 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,901 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,901 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,901 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-22 14:25:58,902 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-22 14:25:58,935 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-09-22 14:25:58,937 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-09-22 14:25:58,956 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-22 14:25:59,528 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:25:59,529 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-09-22 14:25:59,529 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-22 14:25:59,532 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-22 14:25:59,533 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-22 14:25:59,547 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-09-22 14:25:59,703 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-09-22 14:26:00,054 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-09-22 14:26:00,542 [INFO] WebApp:463 - Apply proxy settings +2025-09-22 14:26:00,542 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-22 14:26:00,549 [INFO] WebApp:491 - Direct internet connection detected +2025-09-22 14:26:00,565 [INFO] WebApp:900 - Register for checkConnection events +2025-09-22 14:26:00,566 [INFO] WebApp:463 - Apply proxy settings +2025-09-22 14:26:00,566 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-22 14:26:00,566 [INFO] WebApp:491 - Direct internet connection detected +2025-09-22 14:26:00,682 [INFO] WebApp:225 - Starting web application +2025-09-22 14:26:00,683 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-09-22 14:26:00,757 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-22 14:26:01,059 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-09-22 14:26:01,067 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-09-22 14:26:01,076 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-09-22 14:26:01,080 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-09-22 14:26:01,109 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-09-22 14:26:01,124 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-09-22 14:26:01,144 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-09-22 14:26:01,190 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-09-22 14:26:01,207 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-09-22 14:26:01,221 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-09-22 14:26:01,226 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-09-22 14:26:01,233 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-09-22 14:26:01,241 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-09-22 14:26:01,246 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-09-22 14:26:01,247 [INFO] WebApp:191 - Connection restablished +2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:26:01,256 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:26:01,257 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-22 14:26:01,259 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-09-22 14:26:01,263 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-09-22 14:26:01,268 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-09-22 14:26:01,274 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-09-22 14:26:01,288 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-09-22 14:26:01,293 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-09-22 14:26:01,296 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-09-22 14:26:01,302 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-09-22 14:26:01,322 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-09-22 14:26:01,331 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-09-22 14:26:01,337 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-09-22 14:26:01,347 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-09-22 14:26:01,352 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-09-22 14:26:01,355 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-09-22 14:26:01,362 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-09-22 14:26:01,367 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-09-22 14:26:01,371 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-09-22 14:26:01,377 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-09-22 14:26:01,382 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-09-22 14:26:01,385 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-09-22 14:26:01,419 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-09-22 14:26:01,477 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-09-22 14:26:01,550 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-09-22 14:26:01,746 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-09-22 14:26:01,769 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-09-22 14:26:01,775 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-09-22 14:26:01,779 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-09-22 14:26:01,787 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-09-22 14:26:01,816 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-09-22 14:26:01,834 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-09-22 14:26:01,846 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-09-22 14:26:01,851 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-09-22 14:26:01,856 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-09-22 14:26:01,880 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:26:01,880 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-09-22 14:26:01,882 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:26:01,882 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:26:01,883 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-22 14:26:01,893 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-09-22 14:26:01,938 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-09-22 14:26:01,963 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:26:01,963 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:26:01,967 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-09-22 14:26:01,967 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:26:01,968 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:26:01,968 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:26:01,969 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:26:01,969 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-22 14:26:01,977 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-09-22 14:26:01,996 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-09-22 14:26:01,998 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:26:02,017 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:26:02,017 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:26:02,017 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-22 14:26:02,031 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-09-22 14:26:02,049 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-09-22 14:26:02,054 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-09-22 14:26:02,067 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-09-22 14:26:02,075 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-09-22 14:26:02,078 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-09-22 14:26:02,092 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-09-22 14:26:02,101 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-09-22 14:26:02,107 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-09-22 14:26:02,112 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-09-22 14:26:02,123 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-09-22 14:26:02,137 [INFO] ThirdParty:978 - Integrity check success = true +2025-09-22 14:26:02,137 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-09-22 14:26:02,137 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-09-22 14:26:05,025 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-22 14:26:05,028 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:26:05,029 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true +2025-09-22 14:26:05,965 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-22 14:26:05,967 [INFO] ServerAccessManage:509 - Download File mcusAds.json._tmp_ +2025-09-22 14:26:06,074 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread +2025-09-22 14:26:06,543 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-22 14:26:06,544 [INFO] ServerAccessManage:509 - Download File cube-finder-db.zip +2025-09-22 14:26:41,367 [INFO] FileExtend:248 - Unzip File : cube-finder-db.zip +2025-09-22 14:26:41,368 [INFO] FileExtend:263 - Standard Zip Deflate +2025-09-22 14:26:41,917 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread +2025-09-22 14:26:42,832 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-22 14:26:42,834 [INFO] ServerAccessManage:509 - Download File crdb.zip +2025-09-22 14:26:43,462 [INFO] FileExtend:248 - Unzip File : crdb.zip +2025-09-22 14:26:43,463 [INFO] FileExtend:263 - Standard Zip Deflate +2025-09-22 14:26:43,598 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread +2025-09-22 14:26:43,843 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-22 14:26:43,844 [INFO] ServerAccessManage:509 - Download File tutoVideoDB.zip +2025-09-22 14:26:43,963 [INFO] FileExtend:248 - Unzip File : tutoVideoDB.zip +2025-09-22 14:26:43,963 [INFO] FileExtend:263 - Standard Zip Deflate +2025-09-22 14:26:44,068 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread +2025-09-22 14:26:44,074 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-22 14:26:44,298 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-22 14:26:44,298 [INFO] ServerAccessManage:509 - Download File api_config.json +2025-09-22 14:26:44,401 [INFO] LoadUrlFilesThread:156 - End of LoadUrlFiles Thread +2025-09-22 14:26:44,402 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-22 14:26:44,437 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread +2025-09-22 14:26:44,437 [INFO] TargetSelectorAdapter:259 - Refresh data is successful +2025-09-22 14:26:44,572 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) +2025-09-22 14:26:44,653 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-22 14:26:44,653 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-22 14:26:44,653 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-22 14:26:44,653 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-22 14:26:46,911 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-22 14:26:46,919 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported +2025-09-22 14:26:46,919 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-09-22 14:26:46,919 [INFO] ApiDb:427 - User favorites MCUs=[] +2025-09-22 14:26:46,919 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs +2025-09-22 14:26:47,468 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-22 14:26:47,468 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-22 14:26:47,468 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-22 14:26:47,468 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' +2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' +2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' +2025-09-22 14:26:47,516 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' +2025-09-22 14:26:47,547 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-22 14:26:47,735 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 +2025-09-22 14:26:47,735 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 +2025-09-22 14:26:47,739 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B +2025-09-22 14:26:47,739 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B +2025-09-22 14:26:47,740 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B +2025-09-22 14:26:47,740 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B +2025-09-22 14:26:47,828 [INFO] DbBoards:168 - Found 212 boards, 209 are supported +2025-09-22 14:26:47,829 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp +2025-09-22 14:26:47,830 [INFO] ApiDb:414 - User favorites file not found: /home/ja/.stm32cubeide/favorites.boards.txt +2025-09-22 14:26:47,830 [INFO] DbBoards:198 - Set 0 / 0 favorites Boards +2025-09-22 14:26:47,833 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-22 14:26:47,833 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-22 14:26:47,833 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-22 14:26:47,833 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-22 14:26:48,510 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn +2025-09-22 14:26:48,511 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn +2025-09-22 14:26:48,511 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn +2025-09-22 14:26:48,511 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn +2025-09-22 14:26:48,841 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn +2025-09-22 14:26:48,841 [ERROR] DbExamplesSqlite:437 - Missing JSON key: board_cpn +2025-09-22 14:26:48,843 [INFO] DbExamplesSqlite:395 - Ignored 33 examples not supported by CubeIDE +2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:396 - Found 10871 examples active +2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:397 - Found 0 examples obsolete +2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:398 - Found 0 examples under development +2025-09-22 14:26:48,844 [INFO] DbExamplesSqlite:399 - Found 65 examples not building +2025-09-22 14:26:48,846 [INFO] DbExamples:125 - Found 10903 examples +2025-09-22 14:26:48,864 [INFO] DbExamples:222 - Found 134 boards with related examples +2025-09-22 14:26:48,865 [INFO] DbExamples:235 - Found 111 MCUs with related examples +2025-09-22 14:26:48,886 [INFO] ApiDb:414 - User favorites file not found: /home/ja/.stm32cubeide/favorites.examples.txt +2025-09-22 14:26:48,886 [INFO] DbExamples:250 - Set 0 / 0 favorites Examples +2025-09-22 14:26:49,009 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true +2025-09-22 14:26:49,024 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing +2025-09-22 14:26:49,028 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs +2025-09-22 14:26:50,621 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread +2025-09-22 14:26:50,751 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg +2025-09-22 14:27:39,629 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing +2025-09-22 14:27:39,766 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread +2025-09-22 14:27:39,766 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg +2025-09-22 14:27:39,782 [INFO] DbBoards:642 - Loading board mini-images... +2025-09-22 14:27:42,373 [ERROR] DbBoards:659 - Image file not found for board STM32MP215F-DK: /home/ja/.stmcufinder/plugins/mcufinder//mcu//boards_images/STM32MP215F-DK.jpg +2025-09-22 14:27:42,493 [INFO] DbBoards:665 - Loaded 211 board mini-images +2025-09-22 14:27:51,036 [INFO] BoardResultTable:719 - Mark Board STM32F429I-DISC1 as favorite +2025-09-22 14:28:12,502 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true +2025-09-22 14:28:13,596 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-09-22 14:28:13,596 [INFO] ApiDb:452 - User favorites MCUs=[] +2025-09-22 14:28:13,597 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) +2025-09-22 14:28:13,597 [INFO] ApiDb:452 - User favorites Boards=[STM32F429I-DISC1] +2025-09-22 14:28:13,708 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true +2025-09-22 14:28:13,863 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-09-22 14:28:13,863 [INFO] ApiDb:452 - User favorites MCUs=[] +2025-09-22 14:28:13,864 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) +2025-09-22 14:28:13,864 [INFO] ApiDb:452 - User favorites Boards=[STM32F429I-DISC1] +2025-09-22 14:28:17,898 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:28:18,063 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true +2025-09-22 14:28:18,065 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing +2025-09-22 14:28:18,066 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs +2025-09-22 14:28:19,073 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread +2025-09-22 14:28:19,073 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg +2025-09-22 14:28:23,493 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing +2025-09-22 14:28:23,587 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread +2025-09-22 14:28:23,588 [INFO] DetailPanel:341 - Set advertising image to /home/ja/STM32Cube/Repository//en.2400x1350px.jpeg +2025-09-22 14:28:24,531 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) +2025-09-22 14:29:39,993 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:29:39,994 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:29:40,003 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-22 14:29:40,003 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-22 14:29:40,013 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-09-22 14:29:40,014 [INFO] ThirdParty:873 - entering critical section [close project] +2025-09-22 14:29:40,015 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-09-22 14:29:40,018 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:29:40,019 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 526077792 Bytes (909115392) +2025-09-22 14:29:40,025 [INFO] OpenFileManager:355 - Change cursor +2025-09-22 14:29:40,095 [INFO] ProjectFactory:514 - No CPN specified for board STM32F429I-DISC1 => set CPN to STM32F429ZIT6 +2025-09-22 14:29:40,095 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 +2025-09-22 14:29:41,774 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-09-22 14:29:42,293 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB1 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB1 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB2 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB2 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB3 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB3 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB4 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Secured memory - MPCBB4 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB1 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB2 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB3 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Secured memory - MPCBB4 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable +2025-09-22 14:29:42,294 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB1 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB2 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB3 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB4 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB1 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB2 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB3 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Not Privileged memory - MPCBB4 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB1 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB2 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB3 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule 117617 - U5Cobra4M][GTZC] default value MPCBB3 and MPCBB5 - Privileged memory - MPCBB4 is applicable +2025-09-22 14:29:42,295 [INFO] Rule:233 - rule Rename SubGHz_Phy SUBGHZ_APPLICATION SUBGHZ_PINGPONG to SUBGHZ_ADV_APPLICATION is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule Rename Enabled to IBEACON is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for project manager is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for context M33S is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance value for IP GTZC is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu.IP is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for VP is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for signal is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu.Pin is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for VP is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for signal is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for mcu.Pin is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance value for IP GTZC is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for project manager is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for context M33S is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for VP is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule GTZC_S instance for signal is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule WakeUp0 Mode is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule WakeUp0 SIGNAL is applicable +2025-09-22 14:29:42,296 [INFO] Rule:233 - rule WakeUp1 Mode is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp1 SIGNAL is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp2 Mode is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp2 SIGNAL is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp4 Mode is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp4 SIGNAL is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp5 Mode is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule WakeUp5 SIGNAL is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule Change Default Value for LSE Drive Capability for WB family is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule Change Default Value for ADC Clock Prescaler G0 family is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC SDMMC3CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC SDMMC12CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC QSPICLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC QSPICLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC SPI6CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC LPTIM23CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC LPTIM1CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,297 [INFO] Rule:233 - rule align RCC USART1CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC USART24CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC USART6CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC UART78CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC USART35CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC SPI45CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC I2C46CLockSelection BCLK value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC SPI45CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC I2C12CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC I2C35CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule align RCC LPTIM45CLockSelection default value on MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Rename DCMI PIXCK signal is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for I2C46CLockSelection MP1 family is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for UART for G4, G0 and WB families is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for USART for G4, G0 and WB families is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change Default Value for USART for G4 family is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change USART1CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change USART2CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,298 [INFO] Rule:233 - rule Change USART3CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change UART4CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change UART5CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPUART1CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPTIM1CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPTIM2CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change RCC_MCO1Source refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LSCOSource1 refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change SMPSCLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change LPTIM3CLockSelection refparam name for MP1 is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change MPCBB* Default Template Mode to Parameters is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change MPCWM* or MPCBB* Secure Mode to Parameters is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change MPCWM* or MPCBB* No Secure Mode to Parameters is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change TZSC IP Secure Mode to Parameters is applicable +2025-09-22 14:29:42,299 [INFO] Rule:233 - rule Change TZSC IP No Secure Mode to Parameters is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZSC IP Privilege Mode to Parameters is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZSC IP No Privilege Mode to Parameters is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZIC IT Secure Mode to Parameters is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change TZIC IT No Secure Mode to Parameters is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCBB1_NonSecureArea_Start_Address value with referenced to MPCBB1_NonSecureArea_Start value is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCBB2_NonSecureArea_Start_Address value with referenced to MPCBB2_NonSecureArea_Start value is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCWM1_NonSecureArea*_Start_Address value with referenced to MPCWM1_NonSecureArea*_Start value is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCWM2_NonSecureArea*_Start_Address value with referenced to MPCWM2_NonSecureArea*_Start value is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Add MPCWM3_NonSecureArea_Start_Address value with referenced to MPCWM3_NonSecureArea_Start value is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule Change Default Value for PLL1UserDefinedConfig is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule OPAMP is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32H7 is applicable +2025-09-22 14:29:42,300 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32H7 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32WB is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32WB is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32L5 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32L5 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule LPUART IPParameter rename Prescaler parameter to ClockPrescaler for STM32G4 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule USB device lib V2.5.3 for L0 rename USBD_SUPPORT_USER_STRING parameter to USBD_SUPPORT_USER_STRING_DESC4 is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule I2SCLockSelection clock entry align is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule Assign TIMx context if used as SYS timebase is applicable +2025-09-22 14:29:42,301 [INFO] Rule:233 - rule Change GPIO_Pu Default Value for I2C is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Change GPIO_Pu Default Value for SMBus is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule change FDCAN default value is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Change mode sai is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule **Change sai mode is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_IRK to CFG_BLE_IR is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_ERK to CFG_BLE_ER is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_IRK_HEX to CFG_BLE_IR_HEX is applicable +2025-09-22 14:29:42,302 [INFO] Rule:233 - rule Rename STM32WPAN CFG_BLE_ERK_HEX to CFG_BLE_ER_HEX is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC before rework replace old CORTEX_M33/CORTEX_M55 attributes by the new one. is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename parametre of RCC RCC_APBDBG_DIV2 to RCC_TIMPRES_DIV2 is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE493 pin PA10 [PA12] -> PA10 is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE493 pin PA9 [PA11] -> PA9 is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber CPN STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber Name STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber UserName STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Rename DIE492 PartNumber DeviceId STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC CSI. is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP. is applicable +2025-09-22 14:29:42,303 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP Mode Parallel. is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt Old IOC LTDC. is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Lock -> RIF.RISUP.LTDC_L1L2.Lock is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L2.Lock -> RIF.RISUP.LTDC_L3.Lock is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Rename STM32C09 Mcu.Package LQFP64 -> LQFP48 is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-09-22 14:29:42,304 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-09-22 14:29:42,321 [INFO] DbConfProperties:307 - Apply Compatibility (8/159 Rules) +2025-09-22 14:29:42,362 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin98 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-09-22 14:29:42,449 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-09-22 14:29:42,450 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-09-22 14:29:42,450 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-09-22 14:29:42,450 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-09-22 14:29:42,450 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:29:42,472 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-09-22 14:29:42,607 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-09-22 14:29:43,226 [INFO] ThirdPartyModel:316 - End build external matchings +2025-09-22 14:29:43,249 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] +2025-09-22 14:29:43,268 [WARN] IP:2250 - LayerIdx_L1 not found: check if there is a RefParameter without a condition. +2025-09-22 14:29:43,270 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) IP (RCC) : Invalid parameter (FamilyName) +2025-09-22 14:29:43,271 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) IP (RCC) : Parameter (RTCHSEDivFreq_Value) has invalid value (4000000) +2025-09-22 14:29:43,520 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 662114352 Bytes (953155584) +2025-09-22 14:29:43,550 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-09-22 14:29:43,550 [INFO] ThirdParty:835 - entering critical section [change project] +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 +2025-09-22 14:29:43,551 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-09-22 14:29:43,552 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-09-22 14:29:43,553 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-09-22 14:29:43,554 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-09-22 14:29:43,555 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-09-22 14:29:43,556 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-09-22 14:29:43,557 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-09-22 14:29:43,557 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-09-22 14:29:44,133 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:29:44,134 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) +2025-09-22 14:29:44,530 [INFO] UtilMem:75 - Before build in PCC Used Memory: 435237840 Bytes (953155584) +2025-09-22 14:29:45,120 [INFO] UtilMem:75 - After build in PCC Used Memory: 547961808 Bytes (953155584) +2025-09-22 14:29:45,177 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-09-22 14:29:45,189 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST +2025-09-22 14:29:45,228 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,228 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,228 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,232 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,233 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,234 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,236 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,237 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,237 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,238 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,238 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,239 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,239 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,240 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,240 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,241 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,241 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,242 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,242 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:29:45,247 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-09-22 14:29:45,282 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) +2025-09-22 14:29:45,485 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 +2025-09-22 14:29:45,485 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:29:45,488 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] +2025-09-22 14:29:45,539 [INFO] OpenFileManager:386 - Restore cursor +2025-09-22 14:29:45,744 [WARN] IP:2250 - LayerIdx_L1 not found: check if there is a RefParameter without a condition. +2025-09-22 14:29:46,421 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 809782304 Bytes (953155584) +2025-09-22 14:29:46,525 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 832125904 Bytes (953155584) +2025-09-22 14:29:53,866 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_OTG_HS +2025-09-22 14:29:53,866 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SPI +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: LTDC +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: I2C +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_HOST +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-09-22 14:29:53,867 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FMC +2025-09-22 14:29:53,869 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO +2025-09-22 14:29:53,869 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ +2025-09-22 14:29:53,899 [WARN] IP:2250 - LayerIdx_L1 not found: check if there is a RefParameter without a condition. +2025-09-22 14:29:54,090 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save +2025-09-22 14:29:54,446 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp +2025-09-22 14:29:54,611 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp_save +2025-09-22 14:29:54,746 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp +2025-09-22 14:29:54,959 [WARN] IPConfigManager:3238 - Warning: the RefConfig PWREx_EnableUSBVoltageDetector is not available in your config.xml file +2025-09-22 14:29:54,967 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_vars.tmp_save +2025-09-22 14:29:55,080 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_vars.tmp +2025-09-22 14:29:55,084 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_inc.tmp_save +2025-09-22 14:29:55,185 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_inc.tmp +2025-09-22 14:29:55,188 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_HalInit.tmp_save +2025-09-22 14:29:55,318 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_HalInit.tmp +2025-09-22 14:29:55,321 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_Msp.tmp_save +2025-09-22 14:29:55,458 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/usb_otg_hs_Msp.tmp +2025-09-22 14:29:56,836 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 14:29:56,841 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 14:29:56,936 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 14:29:56,938 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 14:29:57,023 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 14:29:57,025 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 14:29:57,096 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 14:29:57,097 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 14:29:57,167 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 14:29:57,169 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 14:29:57,228 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 14:29:57,230 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 14:29:57,298 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 14:29:57,300 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 14:29:57,354 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 14:29:57,373 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 14:29:57,376 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 14:29:57,444 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 14:29:57,446 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 14:29:57,503 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 14:29:57,504 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 14:29:57,555 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 14:29:57,556 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 14:29:57,609 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 14:29:57,611 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 14:29:57,663 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 14:29:57,664 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 14:29:57,721 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 14:29:57,722 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 14:29:57,773 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 14:29:57,774 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save +2025-09-22 14:29:57,852 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h +2025-09-22 14:29:57,854 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save +2025-09-22 14:29:57,922 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c +2025-09-22 14:29:57,928 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp_save +2025-09-22 14:29:58,007 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp +2025-09-22 14:29:58,008 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp_save +2025-09-22 14:29:58,095 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp +2025-09-22 14:29:58,096 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp_save +2025-09-22 14:29:58,167 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp +2025-09-22 14:29:58,187 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.c_save +2025-09-22 14:29:58,256 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.c +2025-09-22 14:29:58,258 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.h_save +2025-09-22 14:29:58,319 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/App/usb_host.h +2025-09-22 14:29:58,320 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.h_save +2025-09-22 14:29:58,378 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.h +2025-09-22 14:29:58,380 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.c_save +2025-09-22 14:29:58,440 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_conf.c +2025-09-22 14:29:58,442 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.c_save +2025-09-22 14:29:58,495 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.c +2025-09-22 14:29:58,496 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.h_save +2025-09-22 14:29:58,546 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/USB_HOST/Target/usbh_platform.h +2025-09-22 14:29:58,558 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save +2025-09-22 14:29:58,633 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c +2025-09-22 14:29:58,635 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save +2025-09-22 14:29:58,695 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h +2025-09-22 14:29:58,698 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp_save +2025-09-22 14:29:58,763 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_HC.tmp +2025-09-22 14:29:58,764 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp_save +2025-09-22 14:29:58,816 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_GV.tmp +2025-09-22 14:29:58,817 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp_save +2025-09-22 14:29:58,872 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/mx_fmc_MSP.tmp +2025-09-22 14:29:58,888 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save +2025-09-22 14:29:58,985 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c +2025-09-22 14:29:58,986 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save +2025-09-22 14:29:59,043 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp +2025-09-22 14:29:59,045 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save +2025-09-22 14:29:59,108 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c +2025-09-22 14:29:59,114 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save +2025-09-22 14:29:59,176 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h +2025-09-22 14:29:59,205 [INFO] ApiDbMcu:532 - Load IP Config File for CRC +2025-09-22 14:29:59,206 [INFO] ApiDbMcu:532 - Load IP Config File for DMA2D +2025-09-22 14:29:59,212 [INFO] ApiDbMcu:532 - Load IP Config File for FMC +2025-09-22 14:29:59,215 [INFO] ApiDbMcu:532 - Load IP Config File for I2C3 +2025-09-22 14:29:59,217 [INFO] ApiDbMcu:532 - Load IP Config File for LTDC +2025-09-22 14:29:59,219 [INFO] ApiDbMcu:532 - Load IP Config File for SPI5 +2025-09-22 14:29:59,241 [INFO] ApiDbMcu:532 - Load IP Config File for TIM1 +2025-09-22 14:29:59,244 [INFO] ApiDbMcu:532 - Load IP Config File for USART1 +2025-09-22 14:29:59,247 [INFO] ApiDbMcu:532 - Load IP Config File for RCC +2025-09-22 14:29:59,252 [WARN] IPConfigManager:3811 - IP not found : TIM +2025-09-22 14:29:59,252 [WARN] CodeGenerator:4259 - IP not found : null +2025-09-22 14:29:59,257 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save +2025-09-22 14:29:59,341 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h +2025-09-22 14:29:59,343 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save +2025-09-22 14:29:59,448 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c +2025-09-22 14:29:59,849 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 55mS. +2025-09-22 14:29:59,859 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 +2025-09-22 14:29:59,958 [INFO] ConfigFileManager:1595 - The Die is : DIE419 +2025-09-22 14:29:59,962 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS +2025-09-22 14:29:59,965 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG +2025-09-22 14:29:59,976 [INFO] ApiDbMcu:532 - Load IP Config File for LWIP +2025-09-22 14:29:59,984 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS +2025-09-22 14:29:59,990 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE +2025-09-22 14:30:00,606 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-22 14:30:02,261 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 2402mS. +2025-09-22 14:30:02,262 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 1mS. +2025-09-22 14:30:02,263 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-09-22 14:30:03,067 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true +2025-09-22 14:30:03,068 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-09-22 14:30:03,068 [INFO] ApiDb:452 - User favorites MCUs=[] +2025-09-22 14:30:03,069 [INFO] ApiDb:448 - Save user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) +2025-09-22 14:30:03,069 [INFO] ApiDb:452 - User favorites Boards=[STM32F429I-DISC1] +2025-09-22 14:31:22,473 [INFO] Gpio:278 - dependency for GPIO [FMC, I2C3, LTDC, RCC, SPI5, SYS, USART1, USB_OTG_HS] +2025-09-22 14:31:25,859 [INFO] Gpio:278 - dependency for GPIO [FMC, I2C3, LTDC, RCC, SPI5, SYS, USART1, USB_OTG_HS] +2025-09-22 14:34:50,840 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" +2025-09-22 14:34:51,070 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" +2025-09-22 14:34:51,099 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-09-22 14:34:51,279 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-09-22 14:35:34,948 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" +2025-09-22 14:35:35,063 [INFO] ParamManager:905 - [Generic UI] PropertyChangeEvent: TAB_STATUS_CHANGED , "dont care", "never mind" +2025-09-22 14:35:35,072 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-09-22 14:35:35,166 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-09-22 14:36:09,544 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 551195976 Bytes (1073741824) +2025-09-22 14:36:10,870 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 638750024 Bytes (1073741824) +2025-09-22 14:36:13,775 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 726308168 Bytes (1073741824) +2025-09-22 14:36:14,880 [INFO] ProjectBuilder:2380 - IP not ready for code generation: Clock +2025-09-22 14:36:25,220 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS +2025-09-22 14:36:25,220 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 +2025-09-22 14:36:25,220 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS +2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC +2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC +2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC +2025-09-22 14:36:25,221 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D +2025-09-22 14:36:25,222 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ +2025-09-22 14:36:25,377 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save +2025-09-22 14:36:25,587 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp +2025-09-22 14:36:25,650 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 14:36:25,654 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 14:36:25,772 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 14:36:25,773 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 14:36:25,891 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 14:36:25,893 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 14:36:26,006 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 14:36:26,008 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 14:36:26,117 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 14:36:26,119 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 14:36:26,205 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 14:36:26,207 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 14:36:26,292 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 14:36:26,294 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 14:36:26,383 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 14:36:26,397 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 14:36:26,402 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 14:36:26,488 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 14:36:26,489 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 14:36:26,548 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 14:36:26,549 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 14:36:26,605 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 14:36:26,607 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 14:36:26,664 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 14:36:26,665 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 14:36:26,716 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 14:36:26,717 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 14:36:26,769 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 14:36:26,770 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 14:36:26,822 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 14:36:26,824 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save +2025-09-22 14:36:26,898 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h +2025-09-22 14:36:26,900 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save +2025-09-22 14:36:26,958 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c +2025-09-22 14:36:26,966 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save +2025-09-22 14:36:27,038 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c +2025-09-22 14:36:27,039 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save +2025-09-22 14:36:27,101 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h +2025-09-22 14:36:27,108 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save +2025-09-22 14:36:27,224 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c +2025-09-22 14:36:27,225 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save +2025-09-22 14:36:27,292 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp +2025-09-22 14:36:27,293 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save +2025-09-22 14:36:27,367 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c +2025-09-22 14:36:27,370 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save +2025-09-22 14:36:27,449 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h +2025-09-22 14:36:27,467 [WARN] IPConfigManager:3811 - IP not found : TIM +2025-09-22 14:36:27,468 [WARN] CodeGenerator:4259 - IP not found : null +2025-09-22 14:36:27,470 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save +2025-09-22 14:36:27,554 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h +2025-09-22 14:36:27,555 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save +2025-09-22 14:36:27,692 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c +2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Core/Inc +2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Core/Src +2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Core +2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc +2025-09-22 14:36:27,977 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src +2025-09-22 14:36:27,978 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class/CDC +2025-09-22 14:36:27,978 [INFO] ProjectBuilder:4221 - Deleted empty folder: /home/ja/st/Home/TrafficLightsPlusPlus/Middlewares/ST/STM32_USB_Host_Library/Class +2025-09-22 14:36:27,978 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 47mS. +2025-09-22 14:36:27,981 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 +2025-09-22 14:36:28,135 [INFO] ConfigFileManager:1595 - The Die is : DIE419 +2025-09-22 14:36:29,907 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 1926mS. +2025-09-22 14:36:29,908 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 1mS. +2025-09-22 14:36:29,910 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-09-22 14:37:00,642 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:37:00,643 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:37:00,686 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-22 14:37:00,687 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-22 14:37:00,699 [ERROR] ProjectManagerView:395 - +java.lang.NullPointerException: Cannot invoke "javax.swing.JTextField.getText()" because the return value of "java.util.List.get(int)" is null + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab$9.caretUpdate(ProjectChoiceTab.java:2706) ~[filemanager.jar:?] + at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:408) ~[?:?] + at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4484) ~[?:?] + at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4506) ~[?:?] + at javax.swing.text.DefaultCaret.fireStateChanged(DefaultCaret.java:857) ~[?:?] + at javax.swing.text.DefaultCaret.changeCaretPosition(DefaultCaret.java:1343) ~[?:?] + at javax.swing.text.DefaultCaret.handleSetDot(DefaultCaret.java:1242) ~[?:?] + at javax.swing.text.DefaultCaret.setDot(DefaultCaret.java:1223) ~[?:?] + at javax.swing.text.DefaultCaret$Handler.insertUpdate(DefaultCaret.java:1819) ~[?:?] + at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:227) ~[?:?] + at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:781) ~[?:?] + at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:740) ~[?:?] + at javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) ~[?:?] + at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:699) ~[?:?] + at javax.swing.text.JTextComponent.setText(JTextComponent.java:1725) ~[?:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.createHeapStackFields(ProjectChoiceTab.java:993) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.buildLinkSettingsPanel(ProjectChoiceTab.java:3813) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.defineWindowsFields(ProjectChoiceTab.java:1987) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.updateSettings(ProjectChoiceTab.java:558) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectSettingsPanel.UpdateDialog(ProjectSettingsPanel.java:247) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.ProjectManagerView.propertyChange(ProjectManagerView.java:392) ~[filemanager.jar:?] + at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?] + at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?] + at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?] + at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX.jar:?] + at com.st.microxplorer.mxsystem.MxSystem.closeConfig(MxSystem.java:899) ~[STM32CubeMX.jar:?] + at com.st.microxplorer.maingui.MainPanel.closeConfig(MainPanel.java:792) ~[STM32CubeMX.jar:?] + at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:288) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:364) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:342) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:264) ~[filemanager.jar:?] + at com.st.stm32cube.common.mx.editor.CubeMxEditor.getMxTabbedPaneInstance(CubeMxEditor.java:1198) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.editor.CubeMxEditor$12$1.createSwingComponent(CubeMxEditor.java:1068) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite.doComponentCreation(EmbeddedSwingComposite.java:492) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite$4.run(EmbeddedSwingComposite.java:291) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:166) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] + at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?] + at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?] + at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?] + at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?] + at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?] + at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?] + at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?] + at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?] + at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?] + at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?] + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?] + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?] + at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?] +2025-09-22 14:37:00,706 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-09-22 14:37:00,706 [INFO] ThirdParty:873 - entering critical section [close project] +2025-09-22 14:37:00,706 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-09-22 14:37:00,709 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:37:00,721 [WARN] IpParametersView:155 - Warning: This peripheral hasn't parameters +2025-09-22 14:37:00,731 [WARN] MainPanel:289 -
Warning: This peripheral has no parameters to be configured
+2025-09-22 14:37:00,743 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 643746584 Bytes (1073741824) +2025-09-22 14:37:00,743 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-22 14:37:00,743 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-22 14:37:00,744 [INFO] OpenFileManager:355 - Change cursor +2025-09-22 14:37:00,768 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:37:00,777 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 +2025-09-22 14:37:01,866 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-09-22 14:37:02,474 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin5 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-09-22 14:37:02,521 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-09-22 14:37:02,521 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-09-22 14:37:02,546 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,547 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:37:02,548 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-09-22 14:37:02,662 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-09-22 14:37:03,273 [INFO] ThirdPartyModel:316 - End build external matchings +2025-09-22 14:37:03,285 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] +2025-09-22 14:37:03,480 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 634455296 Bytes (1073741824) +2025-09-22 14:37:03,494 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-09-22 14:37:03,495 [INFO] ThirdParty:835 - entering critical section [change project] +2025-09-22 14:37:03,495 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-09-22 14:37:03,496 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-09-22 14:37:03,497 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 +2025-09-22 14:37:03,498 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-09-22 14:37:03,499 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-09-22 14:37:03,500 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-09-22 14:37:03,501 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-09-22 14:37:03,502 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-09-22 14:37:03,502 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-09-22 14:37:03,846 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:37:03,848 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) +2025-09-22 14:37:04,521 [INFO] UtilMem:75 - Before build in PCC Used Memory: 529380344 Bytes (1073741824) +2025-09-22 14:37:04,897 [INFO] UtilMem:75 - After build in PCC Used Memory: 579185656 Bytes (1073741824) +2025-09-22 14:37:04,914 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-09-22 14:37:04,968 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,968 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,968 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,969 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,972 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,972 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,972 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,973 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,973 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,974 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,975 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,975 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,976 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,977 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,978 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,979 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,979 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,979 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,980 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,980 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,980 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,981 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,981 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,982 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,982 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,983 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,984 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,985 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,986 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,986 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:37:04,990 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-09-22 14:37:04,997 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) +2025-09-22 14:37:05,098 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 +2025-09-22 14:37:05,099 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:37:05,102 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] +2025-09-22 14:37:05,140 [INFO] OpenFileManager:386 - Restore cursor +2025-09-22 14:37:28,315 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class sun.awt.X11.XEmbeddedFrame cannot be cast to class javax.swing.JFrame (sun.awt.X11.XEmbeddedFrame and javax.swing.JFrame are in module java.desktop of loader 'bootstrap') +2025-09-22 14:37:28,316 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at com.st.microxplorer.plugins.clock.ClockConfigurationView.activatePlugin(ClockConfigurationView.java:424) +2025-09-22 14:37:28,316 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at com.st.microxplorer.maingui.MainPanel$1.stateChanged(MainPanel.java:385) +2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:446) +2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:297) +2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:148) +2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:79) +2025-09-22 14:37:28,317 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:650) +2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:625) +2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:4140) +2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.processMouseEvent(Component.java:6618) +2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) +2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.processEvent(Component.java:6386) +2025-09-22 14:37:28,318 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Container.processEvent(Container.java:2266) +2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) +2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) +2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) +2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) +2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572) +2025-09-22 14:37:28,319 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) +2025-09-22 14:37:28,320 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) +2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) +2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) +2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) +2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) +2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) +2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) +2025-09-22 14:37:28,321 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) +2025-09-22 14:37:28,322 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) +2025-09-22 14:37:28,322 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) +2025-09-22 14:37:28,322 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) +2025-09-22 14:37:31,585 [INFO] NvicTabbedPanel:226 - Cannot restore the selected Tab for NVIC +2025-09-22 14:37:46,193 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 594441928 Bytes (1073741824) +2025-09-22 14:37:47,051 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 624324296 Bytes (1073741824) +2025-09-22 14:37:48,670 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 681530984 Bytes (1073741824) +2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS +2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 +2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS +2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC +2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC +2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC +2025-09-22 14:37:50,819 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D +2025-09-22 14:37:50,820 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ +2025-09-22 14:37:50,909 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save +2025-09-22 14:37:50,964 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp +2025-09-22 14:37:51,059 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 14:37:51,061 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 14:37:51,118 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 14:37:51,119 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 14:37:51,179 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 14:37:51,180 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 14:37:51,235 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 14:37:51,237 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 14:37:51,294 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 14:37:51,295 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 14:37:51,350 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 14:37:51,351 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 14:37:51,407 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 14:37:51,408 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 14:37:51,464 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 14:37:51,472 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 14:37:51,474 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 14:37:51,531 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 14:37:51,532 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 14:37:51,587 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 14:37:51,588 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 14:37:51,641 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 14:37:51,642 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 14:37:51,702 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 14:37:51,703 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 14:37:51,758 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 14:37:51,759 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 14:37:51,837 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 14:37:51,838 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 14:37:51,889 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 14:37:51,890 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save +2025-09-22 14:37:51,959 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h +2025-09-22 14:37:51,960 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save +2025-09-22 14:37:52,014 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c +2025-09-22 14:37:52,021 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save +2025-09-22 14:37:52,081 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c +2025-09-22 14:37:52,081 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save +2025-09-22 14:37:52,135 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h +2025-09-22 14:37:52,141 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save +2025-09-22 14:37:52,220 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c +2025-09-22 14:37:52,221 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save +2025-09-22 14:37:52,275 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp +2025-09-22 14:37:52,276 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save +2025-09-22 14:37:52,333 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c +2025-09-22 14:37:52,335 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save +2025-09-22 14:37:52,395 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h +2025-09-22 14:37:52,410 [INFO] ApiDbMcu:532 - Load IP Config File for CRC +2025-09-22 14:37:52,412 [INFO] ApiDbMcu:532 - Load IP Config File for DMA2D +2025-09-22 14:37:52,421 [INFO] ApiDbMcu:532 - Load IP Config File for TIM1 +2025-09-22 14:37:52,424 [INFO] ApiDbMcu:532 - Load IP Config File for RCC +2025-09-22 14:37:52,426 [WARN] IPConfigManager:3811 - IP not found : TIM +2025-09-22 14:37:52,426 [WARN] CodeGenerator:4259 - IP not found : null +2025-09-22 14:37:52,428 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save +2025-09-22 14:37:52,488 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h +2025-09-22 14:37:52,489 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save +2025-09-22 14:37:52,593 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c +2025-09-22 14:37:52,846 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 26mS. +2025-09-22 14:37:52,859 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 +2025-09-22 14:37:52,949 [INFO] ConfigFileManager:1595 - The Die is : DIE419 +2025-09-22 14:37:52,952 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS +2025-09-22 14:37:52,953 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG +2025-09-22 14:37:52,960 [INFO] ApiDbMcu:532 - Load IP Config File for LWIP +2025-09-22 14:37:52,967 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS +2025-09-22 14:37:52,978 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE +2025-09-22 14:37:52,981 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST +2025-09-22 14:37:53,660 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 800mS. +2025-09-22 14:37:53,660 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-09-22 14:37:53,661 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-09-22 14:46:55,406 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:46:55,406 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-22 14:46:55,430 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-22 14:46:55,431 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-22 14:46:55,441 [ERROR] ProjectManagerView:395 - +java.lang.NullPointerException: Cannot invoke "javax.swing.JTextField.getText()" because the return value of "java.util.List.get(int)" is null + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab$9.caretUpdate(ProjectChoiceTab.java:2706) ~[filemanager.jar:?] + at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:408) ~[?:?] + at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4484) ~[?:?] + at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4506) ~[?:?] + at javax.swing.text.DefaultCaret.fireStateChanged(DefaultCaret.java:857) ~[?:?] + at javax.swing.text.DefaultCaret.changeCaretPosition(DefaultCaret.java:1343) ~[?:?] + at javax.swing.text.DefaultCaret.handleSetDot(DefaultCaret.java:1242) ~[?:?] + at javax.swing.text.DefaultCaret.setDot(DefaultCaret.java:1223) ~[?:?] + at javax.swing.text.DefaultCaret$Handler.insertUpdate(DefaultCaret.java:1819) ~[?:?] + at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:227) ~[?:?] + at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:781) ~[?:?] + at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:740) ~[?:?] + at javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) ~[?:?] + at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:699) ~[?:?] + at javax.swing.text.JTextComponent.setText(JTextComponent.java:1725) ~[?:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.createHeapStackFields(ProjectChoiceTab.java:993) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.buildLinkSettingsPanel(ProjectChoiceTab.java:3813) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.defineWindowsFields(ProjectChoiceTab.java:1987) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.updateSettings(ProjectChoiceTab.java:558) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.gui.ProjectSettingsPanel.UpdateDialog(ProjectSettingsPanel.java:247) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.projectmanager.ProjectManagerView.propertyChange(ProjectManagerView.java:392) ~[filemanager.jar:?] + at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?] + at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?] + at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?] + at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX.jar:?] + at com.st.microxplorer.mxsystem.MxSystem.closeConfig(MxSystem.java:899) ~[STM32CubeMX.jar:?] + at com.st.microxplorer.maingui.MainPanel.closeConfig(MainPanel.java:792) ~[STM32CubeMX.jar:?] + at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:288) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:364) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:342) ~[filemanager.jar:?] + at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:264) ~[filemanager.jar:?] + at com.st.stm32cube.common.mx.editor.CubeMxEditor.getMxTabbedPaneInstance(CubeMxEditor.java:1198) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.editor.CubeMxEditor$12$1.createSwingComponent(CubeMxEditor.java:1068) ~[com.st.stm32cube.common.mx_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite.doComponentCreation(EmbeddedSwingComposite.java:492) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite$4.run(EmbeddedSwingComposite.java:291) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] + at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:166) ~[com.st.stm32cube.common.mx.oss_6.15.0.202507011659/:?] + at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?] + at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?] + at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?] + at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?] + at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?] + at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?] + at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?] + at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?] + at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?] + at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?] + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?] + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?] + at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?] +2025-09-22 14:46:55,443 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-09-22 14:46:55,443 [INFO] ThirdParty:873 - entering critical section [close project] +2025-09-22 14:46:55,443 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-09-22 14:46:55,445 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:46:55,452 [WARN] IpParametersView:155 - Warning: This peripheral hasn't parameters +2025-09-22 14:46:55,457 [WARN] MainPanel:289 -
Warning: This peripheral has no parameters to be configured
+2025-09-22 14:46:55,460 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 808010408 Bytes (1073741824) +2025-09-22 14:46:55,461 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-22 14:46:55,462 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-22 14:46:55,462 [INFO] OpenFileManager:355 - Change cursor +2025-09-22 14:46:55,472 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-22 14:46:55,477 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 +2025-09-22 14:46:56,427 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-09-22 14:46:56,657 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin5 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-09-22 14:46:56,681 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-09-22 14:46:56,682 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-09-22 14:46:56,682 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-09-22 14:46:56,682 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-09-22 14:46:56,682 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,689 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-22 14:46:56,690 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-09-22 14:46:56,783 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-09-22 14:46:57,275 [INFO] ThirdPartyModel:316 - End build external matchings +2025-09-22 14:46:57,281 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] +2025-09-22 14:46:57,451 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 810753352 Bytes (1073741824) +2025-09-22 14:46:57,465 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-09-22 14:46:57,465 [INFO] ThirdParty:835 - entering critical section [change project] +2025-09-22 14:46:57,465 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-09-22 14:46:57,465 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-09-22 14:46:57,466 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-09-22 14:46:57,467 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-09-22 14:46:57,468 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-09-22 14:46:57,469 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-09-22 14:46:57,470 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-09-22 14:46:57,739 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-22 14:46:57,740 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) +2025-09-22 14:46:58,022 [INFO] UtilMem:75 - Before build in PCC Used Memory: 481101696 Bytes (1073741824) +2025-09-22 14:46:58,256 [INFO] UtilMem:75 - After build in PCC Used Memory: 531959680 Bytes (1073741824) +2025-09-22 14:46:58,259 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,292 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,294 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,298 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,299 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,300 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,300 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,301 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-22 14:46:58,303 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-09-22 14:46:58,307 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) +2025-09-22 14:46:58,366 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 +2025-09-22 14:46:58,366 [INFO] CADModel:114 - Register for checkConnection events +2025-09-22 14:46:58,369 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] +2025-09-22 14:46:58,411 [INFO] OpenFileManager:386 - Restore cursor +2025-09-22 15:02:07,254 [INFO] Gpio:278 - dependency for GPIO [] +2025-09-22 15:04:42,439 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 568949256 Bytes (1073741824) +2025-09-22 15:04:43,258 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 598832136 Bytes (1073741824) +2025-09-22 15:04:44,565 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 699495432 Bytes (1073741824) +2025-09-22 15:04:46,006 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: FREERTOS +2025-09-22 15:04:46,006 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TIM1_8 +2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS +2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC +2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: CRC +2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC +2025-09-22 15:04:46,007 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA2D +2025-09-22 15:04:46,008 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO +2025-09-22 15:04:46,008 [INFO] CodeGenerator:892 - code generatio: config db path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ +2025-09-22 15:04:46,234 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp_save +2025-09-22 15:04:46,573 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/license.tmp +2025-09-22 15:04:46,630 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp_save +2025-09-22 15:04:46,772 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/gpio.tmp +2025-09-22 15:04:47,016 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 15:04:47,019 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 15:04:47,102 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 15:04:47,104 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 15:04:47,194 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 15:04:47,196 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 15:04:47,281 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 15:04:47,283 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 15:04:47,371 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 15:04:47,373 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 15:04:47,460 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 15:04:47,461 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 15:04:47,556 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 15:04:47,558 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 15:04:47,631 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 15:04:47,642 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-09-22 15:04:47,645 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp_save +2025-09-22 15:04:47,744 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_inc.tmp +2025-09-22 15:04:47,745 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp_save +2025-09-22 15:04:47,840 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_vars.tmp +2025-09-22 15:04:47,843 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp_save +2025-09-22 15:04:47,931 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_pfp.tmp +2025-09-22 15:04:47,932 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp_save +2025-09-22 15:04:48,019 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_obj_creat.tmp +2025-09-22 15:04:48,021 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp_save +2025-09-22 15:04:48,103 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_kernelStart.tmp +2025-09-22 15:04:48,105 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp_save +2025-09-22 15:04:48,192 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_default_thread.tmp +2025-09-22 15:04:48,193 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp_save +2025-09-22 15:04:48,280 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/rtos_threads.tmp +2025-09-22 15:04:48,281 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h_save +2025-09-22 15:04:48,393 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/FreeRTOSConfig.h +2025-09-22 15:04:48,395 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c_save +2025-09-22 15:04:48,487 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/freertos.c +2025-09-22 15:04:48,498 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c_save +2025-09-22 15:04:48,718 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_it.c +2025-09-22 15:04:48,720 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h_save +2025-09-22 15:04:48,777 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_it.h +2025-09-22 15:04:48,785 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c_save +2025-09-22 15:04:48,886 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_msp.c +2025-09-22 15:04:48,887 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp_save +2025-09-22 15:04:48,942 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/MXTmpFiles/system.tmp +2025-09-22 15:04:48,943 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c_save +2025-09-22 15:04:48,998 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/stm32f4xx_hal_timebase_tim.c +2025-09-22 15:04:49,001 [INFO] CodeEngine:321 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h_save +2025-09-22 15:04:49,053 [INFO] CodeEngine:345 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/stm32f4xx_hal_conf.h +2025-09-22 15:04:49,076 [INFO] ApiDbMcu:532 - Load IP Config File for CRC +2025-09-22 15:04:49,078 [INFO] ApiDbMcu:532 - Load IP Config File for DMA2D +2025-09-22 15:04:49,089 [INFO] ApiDbMcu:532 - Load IP Config File for TIM1 +2025-09-22 15:04:49,093 [INFO] ApiDbMcu:532 - Load IP Config File for RCC +2025-09-22 15:04:49,095 [WARN] IPConfigManager:3811 - IP not found : TIM +2025-09-22 15:04:49,095 [WARN] CodeGenerator:4259 - IP not found : null +2025-09-22 15:04:49,097 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h_save +2025-09-22 15:04:49,180 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Inc/main.h +2025-09-22 15:04:49,181 [INFO] CodeEngine:265 - oldGeneratedFile, /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c_save +2025-09-22 15:04:49,283 [INFO] CodeEngine:289 - Generated code: /home/ja/st/Home/TrafficLightsPlusPlus/Core/Src/main.c +2025-09-22 15:04:49,484 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 23mS. +2025-09-22 15:04:49,486 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 +2025-09-22 15:04:49,567 [INFO] ConfigFileManager:1595 - The Die is : DIE419 +2025-09-22 15:04:49,569 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS +2025-09-22 15:04:49,571 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG +2025-09-22 15:04:49,577 [INFO] ApiDbMcu:532 - Load IP Config File for LWIP +2025-09-22 15:04:49,581 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS +2025-09-22 15:04:49,586 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE +2025-09-22 15:04:49,590 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST +2025-09-22 15:04:50,478 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 992mS. +2025-09-22 15:04:50,478 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-09-22 15:04:50,479 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-09-22 15:44:36,354 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] diff --git a/.metadata/.ide.log-2025-09-29.log b/.metadata/.ide.log-2025-09-29.log new file mode 100644 index 0000000..90d13d3 --- /dev/null +++ b/.metadata/.ide.log-2025-09-29.log @@ -0,0 +1,2035 @@ +2025-09-29 14:05:34,018 [INFO] Activator:176 - + + +2025-09-29 14:05:34,021 [INFO] Activator:177 - !SESSION log4j initialized +2025-09-29 14:05:38,787 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-29 14:05:40,308 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 14:05:40,323 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 14:05:40,323 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 14:05:40,323 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 14:05:40,329 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:05:40,330 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:05:40,332 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 14:05:40,445 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 14:05:40,493 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 14:05:40,493 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 14:05:40,493 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 14:05:40,494 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,494 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:05:40,494 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,494 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:05:40,494 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,494 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,494 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 14:05:40,552 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-09-29 14:05:40,929 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 14:05:40,929 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 14:05:40,929 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 14:05:40,929 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,929 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:05:40,929 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,929 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:05:40,929 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,930 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:05:40,930 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 14:05:40,943 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 14:05:40,944 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-09-29 14:05:40,945 [INFO] PluginManage:310 - Check plugin analytics +2025-09-29 14:05:41,252 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-09-29 14:05:41,252 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-09-29 14:05:41,252 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-09-29 14:05:41,254 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-09-29 14:05:41,254 [INFO] PluginManage:310 - Check plugin cadmodel +2025-09-29 14:05:41,258 [INFO] CADModel:105 - Init CAD model plugin +2025-09-29 14:05:41,259 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-09-29 14:05:41,259 [INFO] PluginManage:310 - Check plugin clock +2025-09-29 14:05:41,268 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-09-29 14:05:41,268 [INFO] PluginManage:310 - Check plugin ddr +2025-09-29 14:05:41,270 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-09-29 14:05:41,271 [INFO] PluginManage:310 - Check plugin filemanager +2025-09-29 14:05:41,411 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-09-29 14:05:41,411 [INFO] PluginManage:310 - Check plugin ipmanager +2025-09-29 14:05:41,415 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-09-29 14:05:41,415 [INFO] PluginManage:310 - Check plugin lpbam +2025-09-29 14:05:41,423 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-09-29 14:05:41,423 [INFO] PluginManage:310 - Check plugin memorymap +2025-09-29 14:05:41,434 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-09-29 14:05:41,434 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-09-29 14:05:41,442 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-09-29 14:05:41,443 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-09-29 14:05:41,545 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-09-29 14:05:41,661 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-09-29 14:05:41,661 [INFO] PluginManage:310 - Check plugin power +2025-09-29 14:05:41,668 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-09-29 14:05:41,668 [INFO] PluginManage:310 - Check plugin projectmanager +2025-09-29 14:05:41,682 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-09-29 14:05:41,682 [INFO] PluginManage:310 - Check plugin rif +2025-09-29 14:05:41,690 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-09-29 14:05:41,690 [INFO] PluginManage:310 - Check plugin thirdparty +2025-09-29 14:05:41,828 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-09-29 14:05:41,828 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-09-29 14:05:41,828 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-09-29 14:05:41,829 [INFO] PluginManage:310 - Check plugin tools +2025-09-29 14:05:41,829 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-09-29 14:05:41,831 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-09-29 14:05:41,831 [INFO] PluginManage:310 - Check plugin tutovideos +2025-09-29 14:05:42,002 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-09-29 14:05:42,003 [INFO] PluginManage:310 - Check plugin updater +2025-09-29 14:05:42,022 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-09-29 14:05:42,022 [INFO] PluginManage:310 - Check plugin userauth +2025-09-29 14:05:42,026 [INFO] UserAuth:118 - Init User Auth plugin +2025-09-29 14:05:42,027 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-09-29 14:05:42,027 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-09-29 14:05:42,165 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 14:05:42,234 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 14:05:42,234 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:05:42,244 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,244 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-09-29 14:05:42,249 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,249 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-09-29 14:05:42,250 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,250 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-09-29 14:05:42,252 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,252 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-09-29 14:05:42,253 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,253 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-09-29 14:05:42,254 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,254 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-09-29 14:05:42,257 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,258 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-09-29 14:05:42,260 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,260 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-09-29 14:05:42,262 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,262 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-09-29 14:05:42,264 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,264 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-09-29 14:05:42,266 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,266 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-09-29 14:05:42,268 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,268 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-09-29 14:05:42,269 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,269 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-09-29 14:05:42,271 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,271 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-09-29 14:05:42,274 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,274 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-09-29 14:05:42,276 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,277 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-09-29 14:05:42,279 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,279 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-09-29 14:05:42,289 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,289 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-09-29 14:05:42,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,295 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-09-29 14:05:42,302 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,303 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-09-29 14:05:42,311 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,311 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-09-29 14:05:42,316 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,316 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-09-29 14:05:42,320 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,320 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-09-29 14:05:42,323 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,323 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-09-29 14:05:42,326 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,326 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-09-29 14:05:42,328 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,329 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-09-29 14:05:42,339 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,342 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-09-29 14:05:42,349 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,349 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-09-29 14:05:42,350 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,351 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-09-29 14:05:42,353 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,353 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-09-29 14:05:42,355 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,356 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-09-29 14:05:42,357 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,357 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-09-29 14:05:42,359 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,359 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-09-29 14:05:42,361 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,361 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-09-29 14:05:42,364 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,364 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-09-29 14:05:42,368 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,368 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-09-29 14:05:42,370 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,371 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-09-29 14:05:42,375 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,375 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-09-29 14:05:42,383 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,383 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-09-29 14:05:42,386 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,386 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-09-29 14:05:42,389 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,389 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-09-29 14:05:42,397 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,397 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-09-29 14:05:42,401 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,401 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-09-29 14:05:42,408 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,409 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-09-29 14:05:42,415 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,415 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-09-29 14:05:42,421 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:05:42,422 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-09-29 14:05:42,536 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,566 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 14:05:42,576 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 14:05:42,582 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 14:05:42,582 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:05:42,582 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,582 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 14:05:42,730 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,732 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 14:05:42,732 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:05:42,732 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,732 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 14:05:42,735 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,807 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,810 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-29 14:05:42,810 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,843 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 14:05:42,912 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,914 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,914 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,914 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 14:05:42,915 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:05:42,940 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-09-29 14:05:42,942 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-09-29 14:05:42,957 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 14:05:43,525 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 14:05:43,525 [INFO] MainUpdater:3604 - Updater definition file requires update +2025-09-29 14:05:43,525 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-09-29 14:05:43,525 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 14:05:43,531 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-29 14:05:43,532 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 14:05:43,548 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-09-29 14:05:43,742 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-29 14:05:43,743 [INFO] ServerAccessManage:509 - Download File updaters.zip +2025-09-29 14:05:44,217 [INFO] FileExtend:248 - Unzip File : updaters.zip +2025-09-29 14:05:44,217 [INFO] FileExtend:263 - Standard Zip Deflate +2025-09-29 14:05:44,293 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-09-29 14:05:44,543 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-29 14:05:44,544 [INFO] ServerAccessManage:509 - Download File PacksControlFlags.xml +2025-09-29 14:05:44,762 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-29 14:05:44,763 [INFO] ServerAccessManage:509 - Download File cubemx.pidx +2025-09-29 14:05:44,829 [WARN] MainUpdater:1193 - Updater busy. Cannot search thirdparties +2025-09-29 14:05:44,830 [INFO] ThirdPartyUpdaterWithRetryManager:96 - Updater plugin is busy. [1/15] +2025-09-29 14:05:45,135 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 14:05:45,137 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 14:05:45,145 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 14:05:45,168 [INFO] WebApp:900 - Register for checkConnection events +2025-09-29 14:05:45,169 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 14:05:45,169 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 14:05:45,170 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 14:05:45,352 [INFO] WebApp:225 - Starting web application +2025-09-29 14:05:45,353 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-09-29 14:05:45,457 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 14:05:45,876 [INFO] WebApp:191 - Connection restablished +2025-09-29 14:05:46,101 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-09-29 14:05:46,101 [INFO] ServerAccessManage:509 - Download File STMicroelectronics.X-CUBE-TOUCHGFX.pdsc +2025-09-29 14:05:47,830 [WARN] MainUpdater:1193 - Updater busy. Cannot search thirdparties +2025-09-29 14:05:47,830 [INFO] ThirdPartyUpdaterWithRetryManager:96 - Updater plugin is busy. [2/15] +2025-09-29 14:05:50,830 [WARN] MainUpdater:1193 - Updater busy. Cannot search thirdparties +2025-09-29 14:05:50,831 [INFO] ThirdPartyUpdaterWithRetryManager:96 - Updater plugin is busy. [3/15] +2025-09-29 14:05:53,831 [WARN] MainUpdater:1193 - Updater busy. Cannot search thirdparties +2025-09-29 14:05:53,831 [INFO] ThirdPartyUpdaterWithRetryManager:96 - Updater plugin is busy. [4/15] +2025-09-29 14:05:54,831 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-09-29 14:05:54,833 [INFO] PopulateThirdPartyThread:66 - Ending populate Thread +2025-09-29 14:05:54,834 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.26.0 +2025-09-29 14:05:54,834 [INFO] LoadServerUpdatesThread:375 - End of LoadServerUpdate Thread +2025-09-29 14:05:54,990 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-09-29 14:05:56,955 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-09-29 14:05:56,959 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-09-29 14:05:56,965 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-09-29 14:05:56,968 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-09-29 14:05:57,002 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-09-29 14:05:57,018 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-09-29 14:05:57,061 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-09-29 14:05:57,125 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-09-29 14:05:57,156 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-09-29 14:05:57,176 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-09-29 14:05:57,185 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-09-29 14:05:57,195 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-09-29 14:05:57,203 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-09-29 14:05:57,207 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-09-29 14:05:57,217 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:05:57,218 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:05:57,218 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:05:57,219 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:05:57,219 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:05:57,224 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-09-29 14:05:57,230 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-09-29 14:05:57,237 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-09-29 14:05:57,243 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-09-29 14:05:57,248 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-09-29 14:05:57,254 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-09-29 14:05:57,257 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-09-29 14:05:57,264 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-09-29 14:05:57,290 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-09-29 14:05:57,301 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-09-29 14:05:57,309 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-09-29 14:05:57,322 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-09-29 14:05:57,328 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-09-29 14:05:57,333 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-09-29 14:05:57,339 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-09-29 14:05:57,346 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-09-29 14:05:57,350 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-09-29 14:05:57,355 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-09-29 14:05:57,361 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-09-29 14:05:57,365 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-09-29 14:05:57,401 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-09-29 14:05:57,446 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-09-29 14:05:57,499 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-09-29 14:05:57,611 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-09-29 14:05:57,630 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-09-29 14:05:57,636 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-09-29 14:05:57,639 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-09-29 14:05:57,646 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-09-29 14:05:57,675 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-09-29 14:05:57,691 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-09-29 14:05:57,701 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-09-29 14:05:57,705 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-09-29 14:05:57,711 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-09-29 14:05:57,719 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-09-29 14:05:57,746 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:05:57,747 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-09-29 14:05:57,749 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:05:57,750 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:05:57,751 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:05:57,760 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-09-29 14:05:57,775 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-09-29 14:05:57,802 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:05:57,803 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:05:57,805 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-09-29 14:05:57,806 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:05:57,806 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:05:57,807 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:05:57,808 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:05:57,808 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:05:57,816 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-09-29 14:05:57,821 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-09-29 14:05:57,828 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:05:57,851 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:05:57,851 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:05:57,851 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:05:57,870 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-09-29 14:05:57,901 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-09-29 14:05:57,907 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-09-29 14:05:57,920 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-09-29 14:05:57,924 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-09-29 14:05:57,928 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-09-29 14:05:57,945 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-09-29 14:05:57,958 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-09-29 14:05:57,966 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-09-29 14:05:57,974 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-09-29 14:05:57,993 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-09-29 14:05:58,017 [INFO] ThirdParty:978 - Integrity check success = true +2025-09-29 14:05:58,018 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-09-29 14:05:58,018 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-09-29 14:07:15,153 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-29 14:07:15,156 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 14:07:15,157 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 14:07:15,188 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-29 14:07:15,190 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 14:07:15,195 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-09-29 14:07:15,196 [INFO] ThirdParty:873 - entering critical section [close project] +2025-09-29 14:07:15,198 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-09-29 14:07:15,202 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 14:07:15,204 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 591137080 Bytes (877658112) +2025-09-29 14:07:15,207 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-29 14:07:15,207 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 14:07:15,207 [INFO] OpenFileManager:355 - Change cursor +2025-09-29 14:07:15,241 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 +2025-09-29 14:07:17,070 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-09-29 14:07:17,691 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin10 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-09-29 14:07:17,831 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-09-29 14:07:17,831 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-09-29 14:07:17,831 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-09-29 14:07:17,831 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-09-29 14:07:17,832 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-09-29 14:07:17,862 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,862 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,863 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,864 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,865 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,866 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,866 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:07:17,866 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-09-29 14:07:18,038 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-09-29 14:07:18,527 [INFO] ThirdPartyModel:316 - End build external matchings +2025-09-29 14:07:18,542 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] +2025-09-29 14:07:18,898 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) +2025-09-29 14:07:18,946 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-29 14:07:18,946 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-29 14:07:18,947 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-29 14:07:18,947 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-29 14:07:19,004 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' +2025-09-29 14:07:19,004 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' +2025-09-29 14:07:19,005 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' +2025-09-29 14:07:19,005 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' +2025-09-29 14:07:19,042 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-29 14:07:19,170 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 +2025-09-29 14:07:19,171 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 +2025-09-29 14:07:19,174 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B +2025-09-29 14:07:19,175 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B +2025-09-29 14:07:19,175 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B +2025-09-29 14:07:19,176 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B +2025-09-29 14:07:19,282 [INFO] DbBoards:168 - Found 212 boards, 209 are supported +2025-09-29 14:07:19,282 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp +2025-09-29 14:07:19,286 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-29 14:07:19,286 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-29 14:07:19,286 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-29 14:07:19,286 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-29 14:07:22,341 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-29 14:07:22,346 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported +2025-09-29 14:07:22,346 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-09-29 14:07:22,347 [INFO] ApiDb:427 - User favorites MCUs=[] +2025-09-29 14:07:22,347 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs +2025-09-29 14:07:23,104 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) +2025-09-29 14:07:23,105 [INFO] ApiDb:427 - User favorites Boards=[STM32F429I-DISC1] +2025-09-29 14:07:23,105 [INFO] DbBoards:198 - Set 1 / 1 favorites Boards +2025-09-29 14:07:23,155 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 975750304 Bytes (1073741824) +2025-09-29 14:07:23,372 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-09-29 14:07:23,372 [INFO] ThirdParty:835 - entering critical section [change project] +2025-09-29 14:07:23,372 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-09-29 14:07:23,372 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-09-29 14:07:23,372 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-09-29 14:07:23,372 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-09-29 14:07:23,372 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-09-29 14:07:23,373 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-09-29 14:07:23,374 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-09-29 14:07:23,375 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-09-29 14:07:23,376 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-09-29 14:07:23,377 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.26.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-09-29 14:07:23,378 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-09-29 14:07:23,379 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-09-29 14:07:23,380 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-09-29 14:07:23,380 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-09-29 14:07:23,380 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-09-29 14:07:24,240 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 14:07:24,242 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) +2025-09-29 14:07:24,926 [INFO] UtilMem:75 - Before build in PCC Used Memory: 828953736 Bytes (1073741824) +2025-09-29 14:07:25,982 [INFO] UtilMem:75 - After build in PCC Used Memory: 951741688 Bytes (1073741824) +2025-09-29 14:07:26,086 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-09-29 14:07:26,177 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,177 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,177 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,177 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,178 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,178 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,182 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,183 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,183 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,184 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,184 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,184 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,185 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,185 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,186 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,186 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,186 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,186 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,186 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,186 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,187 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,187 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,188 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,188 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,189 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,189 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,190 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,190 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,191 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,191 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,192 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,193 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,193 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,193 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,193 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,194 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,194 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,194 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,195 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,195 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,195 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,195 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,195 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,196 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,196 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,196 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,196 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,196 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,196 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,197 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,197 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,197 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,197 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,198 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,199 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,199 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,200 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,201 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,202 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,202 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,203 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,204 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,205 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,206 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,207 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,208 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:07:26,222 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-09-29 14:07:26,277 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) +2025-09-29 14:07:26,543 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 +2025-09-29 14:07:26,543 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:07:26,549 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] +2025-09-29 14:07:26,599 [INFO] OpenFileManager:386 - Restore cursor +2025-09-29 14:20:53,365 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] +2025-09-29 14:21:08,860 [INFO] Activator:176 - + + +2025-09-29 14:21:08,863 [INFO] Activator:177 - !SESSION log4j initialized +2025-09-29 14:21:14,185 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-29 14:21:15,533 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 14:21:15,553 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 14:21:15,553 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 14:21:15,553 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 14:21:15,558 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:21:15,559 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:21:15,560 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 14:21:15,681 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 14:21:15,734 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 14:21:15,734 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 14:21:15,735 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 14:21:15,735 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:15,735 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:21:15,735 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:15,735 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:21:15,735 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:15,735 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:15,736 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 14:21:15,800 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-09-29 14:21:16,226 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 14:21:16,226 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 14:21:16,227 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 14:21:16,227 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:16,227 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:21:16,227 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:16,227 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 14:21:16,227 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:16,227 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 14:21:16,227 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 14:21:16,246 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 14:21:16,247 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-09-29 14:21:16,248 [INFO] PluginManage:310 - Check plugin analytics +2025-09-29 14:21:16,560 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-09-29 14:21:16,560 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-09-29 14:21:16,560 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-09-29 14:21:16,562 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-09-29 14:21:16,563 [INFO] PluginManage:310 - Check plugin cadmodel +2025-09-29 14:21:16,567 [INFO] CADModel:105 - Init CAD model plugin +2025-09-29 14:21:16,567 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-09-29 14:21:16,567 [INFO] PluginManage:310 - Check plugin clock +2025-09-29 14:21:16,577 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-09-29 14:21:16,577 [INFO] PluginManage:310 - Check plugin ddr +2025-09-29 14:21:16,579 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-09-29 14:21:16,579 [INFO] PluginManage:310 - Check plugin filemanager +2025-09-29 14:21:16,770 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-09-29 14:21:16,771 [INFO] PluginManage:310 - Check plugin ipmanager +2025-09-29 14:21:16,779 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-09-29 14:21:16,779 [INFO] PluginManage:310 - Check plugin lpbam +2025-09-29 14:21:16,821 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-09-29 14:21:16,821 [INFO] PluginManage:310 - Check plugin memorymap +2025-09-29 14:21:16,841 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-09-29 14:21:16,841 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-09-29 14:21:16,852 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-09-29 14:21:16,852 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-09-29 14:21:17,022 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-09-29 14:21:17,235 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-09-29 14:21:17,236 [INFO] PluginManage:310 - Check plugin power +2025-09-29 14:21:17,252 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-09-29 14:21:17,252 [INFO] PluginManage:310 - Check plugin projectmanager +2025-09-29 14:21:17,284 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-09-29 14:21:17,284 [INFO] PluginManage:310 - Check plugin rif +2025-09-29 14:21:17,300 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-09-29 14:21:17,301 [INFO] PluginManage:310 - Check plugin thirdparty +2025-09-29 14:21:17,515 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-09-29 14:21:17,515 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-09-29 14:21:17,515 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-09-29 14:21:17,515 [INFO] PluginManage:310 - Check plugin tools +2025-09-29 14:21:17,516 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-09-29 14:21:17,519 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-09-29 14:21:17,520 [INFO] PluginManage:310 - Check plugin tutovideos +2025-09-29 14:21:17,812 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-09-29 14:21:17,812 [INFO] PluginManage:310 - Check plugin updater +2025-09-29 14:21:17,846 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-09-29 14:21:17,846 [INFO] PluginManage:310 - Check plugin userauth +2025-09-29 14:21:17,850 [INFO] UserAuth:118 - Init User Auth plugin +2025-09-29 14:21:17,851 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-09-29 14:21:17,852 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-09-29 14:21:18,083 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 14:21:18,178 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 14:21:18,178 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:21:18,193 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,193 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-09-29 14:21:18,199 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,200 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-09-29 14:21:18,201 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,202 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-09-29 14:21:18,207 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,207 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-09-29 14:21:18,211 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,211 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-09-29 14:21:18,212 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,213 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-09-29 14:21:18,217 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,217 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-09-29 14:21:18,220 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,221 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-09-29 14:21:18,226 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,226 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-09-29 14:21:18,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,230 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-09-29 14:21:18,232 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,232 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-09-29 14:21:18,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,235 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-09-29 14:21:18,238 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,239 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-09-29 14:21:18,242 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,243 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-09-29 14:21:18,247 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,247 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-09-29 14:21:18,250 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,250 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-09-29 14:21:18,254 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,254 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-09-29 14:21:18,266 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,266 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-09-29 14:21:18,271 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,273 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-09-29 14:21:18,280 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,280 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-09-29 14:21:18,289 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,290 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-09-29 14:21:18,293 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,294 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-09-29 14:21:18,296 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,297 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-09-29 14:21:18,299 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,299 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-09-29 14:21:18,302 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,303 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-09-29 14:21:18,306 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,307 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-09-29 14:21:18,313 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,316 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-09-29 14:21:18,324 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,324 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-09-29 14:21:18,325 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,325 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-09-29 14:21:18,327 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,327 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-09-29 14:21:18,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,330 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-09-29 14:21:18,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,332 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-09-29 14:21:18,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,334 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-09-29 14:21:18,336 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,337 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-09-29 14:21:18,341 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,341 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-09-29 14:21:18,344 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,344 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-09-29 14:21:18,345 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,345 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-09-29 14:21:18,348 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,348 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-09-29 14:21:18,358 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,358 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-09-29 14:21:18,361 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,361 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-09-29 14:21:18,364 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,364 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-09-29 14:21:18,375 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,375 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-09-29 14:21:18,378 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,378 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-09-29 14:21:18,383 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,383 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-09-29 14:21:18,390 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,390 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-09-29 14:21:18,397 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:21:18,398 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-09-29 14:21:18,517 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,560 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 14:21:18,576 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 14:21:18,583 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 14:21:18,583 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:21:18,583 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,584 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 14:21:18,751 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,754 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 14:21:18,755 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:21:18,755 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,755 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 14:21:18,760 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,876 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,882 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-29 14:21:18,882 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,921 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 14:21:18,991 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,993 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,993 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:18,993 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 14:21:18,994 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 14:21:19,037 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-09-29 14:21:19,040 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-09-29 14:21:19,065 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 14:21:19,899 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 14:21:19,900 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-09-29 14:21:19,900 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 14:21:19,905 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-29 14:21:19,906 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 14:21:19,924 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-09-29 14:21:20,095 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-09-29 14:21:20,465 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-09-29 14:21:20,708 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-09-29 14:21:20,725 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-09-29 14:21:20,733 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-09-29 14:21:20,741 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-09-29 14:21:20,789 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-09-29 14:21:20,802 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-09-29 14:21:20,828 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-09-29 14:21:20,896 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-09-29 14:21:20,934 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-09-29 14:21:20,954 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-09-29 14:21:20,962 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-09-29 14:21:20,971 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-09-29 14:21:20,981 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-09-29 14:21:20,985 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-09-29 14:21:20,998 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:21:20,998 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:21:20,999 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:21:20,999 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:21:20,999 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 14:21:21,004 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-09-29 14:21:21,010 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-09-29 14:21:21,043 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-09-29 14:21:21,054 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-09-29 14:21:21,064 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-09-29 14:21:21,075 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-09-29 14:21:21,079 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-09-29 14:21:21,086 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-09-29 14:21:21,117 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-09-29 14:21:21,127 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-09-29 14:21:21,135 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-09-29 14:21:21,147 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-09-29 14:21:21,154 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-09-29 14:21:21,166 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-09-29 14:21:21,180 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-09-29 14:21:21,195 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-09-29 14:21:21,209 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-09-29 14:21:21,224 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-09-29 14:21:21,230 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-09-29 14:21:21,239 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-09-29 14:21:21,329 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-09-29 14:21:21,449 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-09-29 14:21:21,495 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 14:21:21,496 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 14:21:21,514 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 14:21:21,551 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-09-29 14:21:21,565 [INFO] WebApp:900 - Register for checkConnection events +2025-09-29 14:21:21,565 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 14:21:21,566 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 14:21:21,568 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 14:21:21,809 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-09-29 14:21:21,812 [INFO] WebApp:225 - Starting web application +2025-09-29 14:21:21,813 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-09-29 14:21:21,842 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-09-29 14:21:21,848 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-09-29 14:21:21,856 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-09-29 14:21:21,868 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-09-29 14:21:21,912 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-09-29 14:21:21,928 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-09-29 14:21:21,940 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-09-29 14:21:21,945 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-09-29 14:21:21,952 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-09-29 14:21:21,962 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-09-29 14:21:22,022 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 14:21:22,026 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:21:22,027 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-09-29 14:21:22,030 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:21:22,031 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:21:22,032 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 14:21:22,062 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-09-29 14:21:22,101 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-09-29 14:21:22,132 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:21:22,132 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:21:22,137 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-09-29 14:21:22,138 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:21:22,138 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:21:22,140 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:21:22,140 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:21:22,141 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 14:21:22,149 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-09-29 14:21:22,157 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-09-29 14:21:22,160 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:21:22,177 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:21:22,178 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:21:22,178 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 14:21:22,229 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-09-29 14:21:22,293 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-09-29 14:21:22,308 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-09-29 14:21:22,330 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-09-29 14:21:22,351 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-09-29 14:21:22,360 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-09-29 14:21:22,391 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-09-29 14:21:22,408 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-09-29 14:21:22,415 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-09-29 14:21:22,428 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-09-29 14:21:22,444 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-09-29 14:21:22,461 [INFO] ThirdParty:978 - Integrity check success = true +2025-09-29 14:21:22,461 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-09-29 14:21:22,461 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-09-29 14:21:22,493 [INFO] WebApp:191 - Connection restablished +2025-09-29 14:23:32,058 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-29 14:23:32,064 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 14:23:32,067 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 14:23:32,135 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-29 14:23:32,136 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 14:23:32,156 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-09-29 14:23:32,157 [INFO] ThirdParty:873 - entering critical section [close project] +2025-09-29 14:23:32,159 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-09-29 14:23:32,172 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 14:23:32,194 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 864760520 Bytes (1030750208) +2025-09-29 14:23:32,204 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-29 14:23:32,205 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 14:23:32,208 [INFO] OpenFileManager:355 - Change cursor +2025-09-29 14:23:32,419 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 +2025-09-29 14:23:39,590 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-09-29 14:23:40,770 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin10 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-09-29 14:23:41,018 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-09-29 14:23:41,018 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-09-29 14:23:41,018 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-09-29 14:23:41,019 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-09-29 14:23:41,019 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-09-29 14:23:41,083 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,084 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,084 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,084 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,085 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,085 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,085 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,085 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,085 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,086 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,086 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,086 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,086 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,086 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,087 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,087 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,087 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,087 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,087 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,088 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,088 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,088 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,089 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,089 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,089 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,089 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,090 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,090 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,090 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,090 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,090 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,091 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,091 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,091 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,091 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 14:23:41,092 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-09-29 14:23:41,401 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-09-29 14:23:42,364 [INFO] ThirdPartyModel:316 - End build external matchings +2025-09-29 14:23:42,391 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] +2025-09-29 14:23:43,631 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) +2025-09-29 14:23:43,733 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-29 14:23:43,733 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-29 14:23:43,734 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-29 14:23:43,734 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-29 14:23:43,847 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' +2025-09-29 14:23:43,868 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' +2025-09-29 14:23:43,869 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' +2025-09-29 14:23:43,870 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' +2025-09-29 14:23:43,958 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-29 14:23:44,228 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 +2025-09-29 14:23:44,229 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 +2025-09-29 14:23:44,237 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B +2025-09-29 14:23:44,237 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B +2025-09-29 14:23:44,239 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B +2025-09-29 14:23:44,239 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B +2025-09-29 14:23:44,533 [INFO] DbBoards:168 - Found 212 boards, 209 are supported +2025-09-29 14:23:44,534 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp +2025-09-29 14:23:44,542 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-29 14:23:44,543 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-29 14:23:44,543 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-29 14:23:44,543 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-29 14:23:49,697 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-29 14:23:49,706 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported +2025-09-29 14:23:49,707 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-09-29 14:23:49,707 [INFO] ApiDb:427 - User favorites MCUs=[] +2025-09-29 14:23:49,707 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs +2025-09-29 14:23:50,714 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) +2025-09-29 14:23:50,714 [INFO] ApiDb:427 - User favorites Boards=[STM32F429I-DISC1] +2025-09-29 14:23:50,714 [INFO] DbBoards:198 - Set 1 / 1 favorites Boards +2025-09-29 14:23:50,768 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 714360184 Bytes (1073741824) +2025-09-29 14:23:50,987 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-09-29 14:23:50,987 [INFO] ThirdParty:835 - entering critical section [change project] +2025-09-29 14:23:50,988 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-09-29 14:23:50,988 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-09-29 14:23:50,988 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-09-29 14:23:50,988 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-09-29 14:23:50,988 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-09-29 14:23:50,988 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-09-29 14:23:50,989 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-09-29 14:23:50,989 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-09-29 14:23:50,989 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 +2025-09-29 14:23:50,989 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-09-29 14:23:50,989 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-09-29 14:23:50,989 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-09-29 14:23:50,990 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-09-29 14:23:50,991 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 +2025-09-29 14:23:50,992 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-09-29 14:23:50,993 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-09-29 14:23:50,994 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.26.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-09-29 14:23:50,995 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-09-29 14:23:50,996 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-09-29 14:23:50,996 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-09-29 14:23:52,957 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 14:23:52,959 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) +2025-09-29 14:23:54,090 [INFO] UtilMem:75 - Before build in PCC Used Memory: 992641872 Bytes (1073741824) +2025-09-29 14:23:55,335 [INFO] UtilMem:75 - After build in PCC Used Memory: 703070208 Bytes (1073741824) +2025-09-29 14:23:55,481 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-09-29 14:23:55,595 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,595 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,596 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,596 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,596 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,597 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,597 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,597 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,598 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,598 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,599 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,599 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,599 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,600 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,600 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,600 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,601 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,601 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,601 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,601 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,602 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,602 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,603 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,604 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,605 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,605 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,605 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,606 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,607 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,608 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,609 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,609 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,610 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,610 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,610 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,611 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,611 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,611 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,612 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,612 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,613 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,613 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,613 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,613 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,614 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,614 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,614 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,614 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,614 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,614 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,615 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,615 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,615 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,615 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,616 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,616 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,617 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,617 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,618 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,619 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,620 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,621 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,622 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,623 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,623 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,624 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 14:23:55,634 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-09-29 14:23:55,703 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) +2025-09-29 14:23:56,214 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 +2025-09-29 14:23:56,215 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 14:23:56,227 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] +2025-09-29 14:23:56,283 [INFO] OpenFileManager:386 - Restore cursor +2025-09-29 16:58:12,596 [INFO] WebApp:194 - Connection lost +2025-09-29 16:58:22,772 [INFO] WebApp:191 - Connection restablished +2025-09-29 17:19:31,372 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,450x264,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-09-29 17:20:10,206 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,450x282,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-09-29 17:53:26,605 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] +2025-09-29 17:53:41,913 [INFO] Activator:176 - + + +2025-09-29 17:53:41,915 [INFO] Activator:177 - !SESSION log4j initialized +2025-09-29 17:53:48,975 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-29 17:53:50,999 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 17:53:51,027 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 17:53:51,028 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 17:53:51,028 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 17:53:51,034 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 17:53:51,037 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 17:53:51,040 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 17:53:51,230 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 17:53:51,327 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 17:53:51,327 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 17:53:51,328 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 17:53:51,328 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,328 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 17:53:51,328 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,328 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 17:53:51,328 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,329 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,329 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 17:53:51,427 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-09-29 17:53:51,762 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 17:53:51,762 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 17:53:51,762 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 17:53:51,763 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,763 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 17:53:51,763 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,763 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 17:53:51,763 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,764 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 17:53:51,764 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 17:53:51,786 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 17:53:51,789 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-09-29 17:53:51,790 [INFO] PluginManage:310 - Check plugin analytics +2025-09-29 17:53:52,173 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-09-29 17:53:52,173 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-09-29 17:53:52,174 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-09-29 17:53:52,176 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-09-29 17:53:52,177 [INFO] PluginManage:310 - Check plugin cadmodel +2025-09-29 17:53:52,180 [INFO] CADModel:105 - Init CAD model plugin +2025-09-29 17:53:52,181 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-09-29 17:53:52,181 [INFO] PluginManage:310 - Check plugin clock +2025-09-29 17:53:52,192 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-09-29 17:53:52,192 [INFO] PluginManage:310 - Check plugin ddr +2025-09-29 17:53:52,194 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-09-29 17:53:52,194 [INFO] PluginManage:310 - Check plugin filemanager +2025-09-29 17:53:52,419 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-09-29 17:53:52,419 [INFO] PluginManage:310 - Check plugin ipmanager +2025-09-29 17:53:52,427 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-09-29 17:53:52,427 [INFO] PluginManage:310 - Check plugin lpbam +2025-09-29 17:53:52,441 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-09-29 17:53:52,441 [INFO] PluginManage:310 - Check plugin memorymap +2025-09-29 17:53:52,456 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-09-29 17:53:52,457 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-09-29 17:53:52,466 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-09-29 17:53:52,466 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-09-29 17:53:52,573 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-09-29 17:53:52,761 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-09-29 17:53:52,762 [INFO] PluginManage:310 - Check plugin power +2025-09-29 17:53:52,772 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-09-29 17:53:52,772 [INFO] PluginManage:310 - Check plugin projectmanager +2025-09-29 17:53:52,789 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-09-29 17:53:52,789 [INFO] PluginManage:310 - Check plugin rif +2025-09-29 17:53:52,799 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-09-29 17:53:52,799 [INFO] PluginManage:310 - Check plugin thirdparty +2025-09-29 17:53:52,942 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-09-29 17:53:52,941 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-09-29 17:53:52,942 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-09-29 17:53:52,942 [INFO] PluginManage:310 - Check plugin tools +2025-09-29 17:53:52,942 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-09-29 17:53:52,944 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-09-29 17:53:52,945 [INFO] PluginManage:310 - Check plugin tutovideos +2025-09-29 17:53:53,180 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-09-29 17:53:53,180 [INFO] PluginManage:310 - Check plugin updater +2025-09-29 17:53:53,206 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-09-29 17:53:53,206 [INFO] PluginManage:310 - Check plugin userauth +2025-09-29 17:53:53,211 [INFO] UserAuth:118 - Init User Auth plugin +2025-09-29 17:53:53,212 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-09-29 17:53:53,212 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-09-29 17:53:53,393 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 17:53:53,459 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 17:53:53,459 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 17:53:53,469 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,469 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-09-29 17:53:53,474 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,475 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-09-29 17:53:53,476 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,476 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-09-29 17:53:53,478 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,478 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-09-29 17:53:53,480 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,480 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-09-29 17:53:53,481 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,482 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-09-29 17:53:53,485 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,485 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-09-29 17:53:53,487 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,487 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-09-29 17:53:53,489 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,490 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-09-29 17:53:53,492 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,492 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-09-29 17:53:53,494 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,494 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-09-29 17:53:53,496 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,496 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-09-29 17:53:53,497 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,497 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-09-29 17:53:53,499 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,499 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-09-29 17:53:53,502 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,502 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-09-29 17:53:53,504 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,504 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-09-29 17:53:53,506 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,506 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-09-29 17:53:53,514 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,514 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-09-29 17:53:53,517 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,517 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-09-29 17:53:53,522 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,522 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-09-29 17:53:53,528 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,528 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-09-29 17:53:53,531 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,531 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-09-29 17:53:53,534 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,534 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-09-29 17:53:53,536 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,536 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-09-29 17:53:53,538 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,538 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-09-29 17:53:53,539 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,540 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-09-29 17:53:53,546 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,549 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-09-29 17:53:53,553 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,554 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-09-29 17:53:53,555 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,555 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-09-29 17:53:53,556 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,556 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-09-29 17:53:53,559 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,559 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-09-29 17:53:53,560 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,560 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-09-29 17:53:53,562 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,562 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-09-29 17:53:53,563 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,563 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-09-29 17:53:53,565 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,565 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-09-29 17:53:53,568 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,568 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-09-29 17:53:53,569 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,569 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-09-29 17:53:53,572 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,572 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-09-29 17:53:53,578 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,578 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-09-29 17:53:53,581 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,581 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-09-29 17:53:53,583 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,584 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-09-29 17:53:53,591 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,591 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-09-29 17:53:53,594 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,594 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-09-29 17:53:53,598 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,598 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-09-29 17:53:53,602 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,602 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-09-29 17:53:53,608 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:53:53,608 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-09-29 17:53:53,711 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:53,739 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 17:53:53,753 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 17:53:53,762 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 17:53:53,762 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 17:53:53,762 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:53,762 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 17:53:53,939 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:53,941 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 17:53:53,941 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 17:53:53,941 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:53,941 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 17:53:53,946 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:54,077 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:54,084 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-29 17:53:54,085 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:54,134 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 17:53:54,233 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:54,235 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:54,235 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:54,235 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 17:53:54,236 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 17:53:54,275 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-09-29 17:53:54,277 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-09-29 17:53:54,299 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 17:53:55,043 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 17:53:55,044 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-09-29 17:53:55,045 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 17:53:55,060 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-29 17:53:55,061 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 17:53:55,109 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-09-29 17:53:55,304 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-09-29 17:53:56,163 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-09-29 17:53:56,186 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-09-29 17:53:56,206 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-09-29 17:53:56,229 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-09-29 17:53:56,241 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-09-29 17:53:56,328 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-09-29 17:53:56,359 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-09-29 17:53:56,423 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-09-29 17:53:56,534 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-09-29 17:53:56,558 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-09-29 17:53:56,585 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-09-29 17:53:56,597 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-09-29 17:53:56,612 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-09-29 17:53:56,625 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-09-29 17:53:56,632 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-09-29 17:53:56,650 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 17:53:56,651 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 17:53:56,652 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 17:53:56,652 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 17:53:56,653 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 17:53:56,661 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-09-29 17:53:56,671 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-09-29 17:53:56,683 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-09-29 17:53:56,696 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-09-29 17:53:56,753 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-09-29 17:53:56,766 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-09-29 17:53:56,771 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-09-29 17:53:56,783 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-09-29 17:53:56,836 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-09-29 17:53:56,853 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-09-29 17:53:56,867 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-09-29 17:53:56,893 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-09-29 17:53:56,904 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-09-29 17:53:56,912 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-09-29 17:53:56,926 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-09-29 17:53:56,939 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-09-29 17:53:56,946 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-09-29 17:53:56,955 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-09-29 17:53:56,964 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-09-29 17:53:56,973 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-09-29 17:53:57,083 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-09-29 17:53:57,228 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-09-29 17:53:57,347 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-09-29 17:53:57,732 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 17:53:57,733 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 17:53:57,750 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 17:53:57,761 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-09-29 17:53:57,794 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-09-29 17:53:57,796 [INFO] WebApp:900 - Register for checkConnection events +2025-09-29 17:53:57,796 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 17:53:57,796 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 17:53:57,797 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 17:53:57,804 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-09-29 17:53:57,809 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-09-29 17:53:57,819 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-09-29 17:53:57,856 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-09-29 17:53:57,873 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-09-29 17:53:57,886 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-09-29 17:53:57,892 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-09-29 17:53:57,899 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-09-29 17:53:57,918 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-09-29 17:53:57,955 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 17:53:57,957 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-09-29 17:53:57,959 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 17:53:57,960 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 17:53:57,961 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 17:53:57,974 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-09-29 17:53:57,995 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-09-29 17:53:58,026 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 17:53:58,026 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 17:53:58,031 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-09-29 17:53:58,032 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 17:53:58,033 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 17:53:58,034 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 17:53:58,034 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 17:53:58,035 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 17:53:58,044 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-09-29 17:53:58,049 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-09-29 17:53:58,053 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-09-29 17:53:58,073 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 17:53:58,073 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 17:53:58,073 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 17:53:58,091 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-09-29 17:53:58,119 [INFO] WebApp:225 - Starting web application +2025-09-29 17:53:58,119 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-09-29 17:53:58,133 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-09-29 17:53:58,142 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-09-29 17:53:58,166 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-09-29 17:53:58,174 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-09-29 17:53:58,180 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-09-29 17:53:58,207 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-09-29 17:53:58,223 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-09-29 17:53:58,234 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-09-29 17:53:58,243 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-09-29 17:53:58,263 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-09-29 17:53:58,288 [INFO] ThirdParty:978 - Integrity check success = true +2025-09-29 17:53:58,288 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-09-29 17:53:58,288 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-09-29 17:53:58,309 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 17:53:58,660 [INFO] WebApp:191 - Connection restablished +2025-09-29 17:56:43,956 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-29 17:56:43,962 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 17:56:43,963 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 17:56:44,014 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-29 17:56:44,015 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 17:56:44,027 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-09-29 17:56:44,028 [INFO] ThirdParty:873 - entering critical section [close project] +2025-09-29 17:56:44,030 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-09-29 17:56:44,034 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 17:56:44,037 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 580960728 Bytes (896532480) +2025-09-29 17:56:44,039 [INFO] MicroXplorer:468 - Change Database Path : +2025-09-29 17:56:44,039 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 17:56:44,039 [INFO] OpenFileManager:355 - Change cursor +2025-09-29 17:56:44,201 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 +2025-09-29 17:56:52,626 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-09-29 17:56:54,182 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin10 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-09-29 17:56:54,411 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-09-29 17:56:54,411 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-09-29 17:56:54,411 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-09-29 17:56:54,412 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-09-29 17:56:54,412 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-09-29 17:56:54,468 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,468 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,469 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,469 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,469 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,469 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,470 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,470 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,470 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,470 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,471 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,472 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,473 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,473 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,473 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,473 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,474 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,474 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,474 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,474 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,474 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,475 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,475 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,475 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,475 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,475 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,476 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,476 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,476 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,476 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,476 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,477 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,477 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-09-29 17:56:54,477 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-09-29 17:56:54,758 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-09-29 17:56:56,230 [INFO] ThirdPartyModel:316 - End build external matchings +2025-09-29 17:56:56,268 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] +2025-09-29 17:56:57,218 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) +2025-09-29 17:56:57,341 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-29 17:56:57,342 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-29 17:56:57,342 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-29 17:56:57,343 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-29 17:56:57,476 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' +2025-09-29 17:56:57,476 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' +2025-09-29 17:56:57,477 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' +2025-09-29 17:56:57,477 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' +2025-09-29 17:56:57,577 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-29 17:56:57,930 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 +2025-09-29 17:56:57,931 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 +2025-09-29 17:56:57,945 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B +2025-09-29 17:56:57,945 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B +2025-09-29 17:56:57,948 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B +2025-09-29 17:56:57,949 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B +2025-09-29 17:56:58,345 [INFO] DbBoards:168 - Found 212 boards, 209 are supported +2025-09-29 17:56:58,346 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp +2025-09-29 17:56:58,355 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-09-29 17:56:58,356 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-09-29 17:56:58,356 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-09-29 17:56:58,356 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-09-29 17:57:07,753 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-09-29 17:57:07,762 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported +2025-09-29 17:57:07,763 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-09-29 17:57:07,763 [INFO] ApiDb:427 - User favorites MCUs=[] +2025-09-29 17:57:07,763 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs +2025-09-29 17:57:08,726 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) +2025-09-29 17:57:08,727 [INFO] ApiDb:427 - User favorites Boards=[STM32F429I-DISC1] +2025-09-29 17:57:08,727 [INFO] DbBoards:198 - Set 1 / 1 favorites Boards +2025-09-29 17:57:08,773 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 722884752 Bytes (1073741824) +2025-09-29 17:57:08,998 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-09-29 17:57:08,999 [INFO] ThirdParty:835 - entering critical section [change project] +2025-09-29 17:57:08,999 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-09-29 17:57:08,999 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-09-29 17:57:08,999 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-09-29 17:57:08,999 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-09-29 17:57:08,999 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-09-29 17:57:08,999 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-09-29 17:57:09,000 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-09-29 17:57:09,000 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-09-29 17:57:09,000 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 +2025-09-29 17:57:09,000 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-09-29 17:57:09,000 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-09-29 17:57:09,000 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-09-29 17:57:09,001 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-09-29 17:57:09,002 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-09-29 17:57:09,003 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.26.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-09-29 17:57:09,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-09-29 17:57:09,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-09-29 17:57:09,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-09-29 17:57:09,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-09-29 17:57:09,006 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-09-29 17:57:10,428 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 17:57:10,431 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) +2025-09-29 17:57:11,702 [INFO] UtilMem:75 - Before build in PCC Used Memory: 585604912 Bytes (1073741824) +2025-09-29 17:57:13,184 [INFO] UtilMem:75 - After build in PCC Used Memory: 710907696 Bytes (1073741824) +2025-09-29 17:57:13,295 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-09-29 17:57:13,399 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,400 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,400 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,400 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,400 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,401 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,401 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,402 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,402 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,403 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,403 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,403 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,404 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,404 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,405 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,405 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,405 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,405 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,405 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,406 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,406 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,407 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,407 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,408 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,409 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,409 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,410 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,411 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,411 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,412 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,413 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,414 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,414 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,415 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,415 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,415 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,416 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,416 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,417 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,417 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,417 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,418 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,418 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,418 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,418 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,418 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,419 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,419 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,419 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,419 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,419 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,420 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,420 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,421 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,422 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,423 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,424 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,426 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,427 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,428 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,429 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,431 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,432 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,434 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,435 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,437 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 17:57:13,453 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-09-29 17:57:13,537 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) +2025-09-29 17:57:14,316 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 +2025-09-29 17:57:14,317 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 17:57:14,335 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] +2025-09-29 17:57:14,416 [INFO] OpenFileManager:386 - Restore cursor +2025-09-29 17:59:06,836 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,450x248,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-09-29 19:26:34,690 [INFO] Activator:176 - + + +2025-09-29 19:26:34,691 [INFO] Activator:177 - !SESSION log4j initialized +2025-09-29 19:26:40,288 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-29 19:26:41,722 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 19:26:41,738 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 19:26:41,738 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 19:26:41,738 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 19:26:41,741 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 19:26:41,742 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 19:26:41,743 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 19:26:41,859 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 19:26:41,910 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 19:26:41,910 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 19:26:41,910 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 19:26:41,910 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:41,910 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 19:26:41,910 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:41,910 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 19:26:41,910 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:41,911 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:41,911 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 19:26:41,960 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-09-29 19:26:42,289 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-29 19:26:42,289 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-29 19:26:42,290 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-29 19:26:42,290 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:42,290 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 19:26:42,290 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:42,290 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-29 19:26:42,290 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:42,290 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-29 19:26:42,290 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-29 19:26:42,306 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 19:26:42,307 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-09-29 19:26:42,308 [INFO] PluginManage:310 - Check plugin analytics +2025-09-29 19:26:42,627 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-09-29 19:26:42,627 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-09-29 19:26:42,627 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-09-29 19:26:42,632 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-09-29 19:26:42,632 [INFO] PluginManage:310 - Check plugin cadmodel +2025-09-29 19:26:42,636 [INFO] CADModel:105 - Init CAD model plugin +2025-09-29 19:26:42,636 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-09-29 19:26:42,636 [INFO] PluginManage:310 - Check plugin clock +2025-09-29 19:26:42,644 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-09-29 19:26:42,645 [INFO] PluginManage:310 - Check plugin ddr +2025-09-29 19:26:42,648 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-09-29 19:26:42,648 [INFO] PluginManage:310 - Check plugin filemanager +2025-09-29 19:26:42,779 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-09-29 19:26:42,780 [INFO] PluginManage:310 - Check plugin ipmanager +2025-09-29 19:26:42,786 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-09-29 19:26:42,786 [INFO] PluginManage:310 - Check plugin lpbam +2025-09-29 19:26:42,794 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-09-29 19:26:42,794 [INFO] PluginManage:310 - Check plugin memorymap +2025-09-29 19:26:42,806 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-09-29 19:26:42,806 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-09-29 19:26:42,813 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-09-29 19:26:42,813 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-09-29 19:26:42,910 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-09-29 19:26:43,048 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-09-29 19:26:43,048 [INFO] PluginManage:310 - Check plugin power +2025-09-29 19:26:43,058 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-09-29 19:26:43,058 [INFO] PluginManage:310 - Check plugin projectmanager +2025-09-29 19:26:43,074 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-09-29 19:26:43,075 [INFO] PluginManage:310 - Check plugin rif +2025-09-29 19:26:43,085 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-09-29 19:26:43,085 [INFO] PluginManage:310 - Check plugin thirdparty +2025-09-29 19:26:43,219 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-09-29 19:26:43,219 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-09-29 19:26:43,219 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-09-29 19:26:43,219 [INFO] PluginManage:310 - Check plugin tools +2025-09-29 19:26:43,220 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-09-29 19:26:43,221 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-09-29 19:26:43,222 [INFO] PluginManage:310 - Check plugin tutovideos +2025-09-29 19:26:43,473 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-09-29 19:26:43,474 [INFO] PluginManage:310 - Check plugin updater +2025-09-29 19:26:43,491 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-09-29 19:26:43,491 [INFO] PluginManage:310 - Check plugin userauth +2025-09-29 19:26:43,495 [INFO] UserAuth:118 - Init User Auth plugin +2025-09-29 19:26:43,496 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-09-29 19:26:43,496 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-09-29 19:26:43,647 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-29 19:26:43,708 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 19:26:43,708 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 19:26:43,719 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,719 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-09-29 19:26:43,723 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,723 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-09-29 19:26:43,724 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,724 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-09-29 19:26:43,726 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,726 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-09-29 19:26:43,727 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,727 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-09-29 19:26:43,727 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,728 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-09-29 19:26:43,730 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,730 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-09-29 19:26:43,732 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,732 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-09-29 19:26:43,734 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,734 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-09-29 19:26:43,736 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,736 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-09-29 19:26:43,737 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,737 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-09-29 19:26:43,738 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,738 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-09-29 19:26:43,739 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,739 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-09-29 19:26:43,740 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,740 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-09-29 19:26:43,742 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,743 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-09-29 19:26:43,744 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,744 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-09-29 19:26:43,746 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,746 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-09-29 19:26:43,752 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,752 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-09-29 19:26:43,754 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,754 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-09-29 19:26:43,758 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,758 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-09-29 19:26:43,763 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,763 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-09-29 19:26:43,765 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,765 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-09-29 19:26:43,767 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,767 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-09-29 19:26:43,769 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,769 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-09-29 19:26:43,771 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,771 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-09-29 19:26:43,772 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,772 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-09-29 19:26:43,776 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,779 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-09-29 19:26:43,782 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,783 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-09-29 19:26:43,783 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,784 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-09-29 19:26:43,785 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,785 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-09-29 19:26:43,786 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,786 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-09-29 19:26:43,787 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,787 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-09-29 19:26:43,789 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,789 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-09-29 19:26:43,790 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,790 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-09-29 19:26:43,792 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,792 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-09-29 19:26:43,793 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,793 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-09-29 19:26:43,796 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,796 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-09-29 19:26:43,799 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,799 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-09-29 19:26:43,804 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,804 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-09-29 19:26:43,806 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,806 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-09-29 19:26:43,808 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,808 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-09-29 19:26:43,816 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,816 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-09-29 19:26:43,818 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,818 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-09-29 19:26:43,821 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,821 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-09-29 19:26:43,824 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,824 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-09-29 19:26:43,828 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-29 19:26:43,828 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-09-29 19:26:43,923 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:43,943 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 19:26:43,953 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-29 19:26:43,958 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 19:26:43,958 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 19:26:43,959 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:43,959 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 19:26:44,095 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,096 [INFO] CADModel:165 - CPN selected for project level +2025-09-29 19:26:44,096 [INFO] CADModel:114 - Register for checkConnection events +2025-09-29 19:26:44,096 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,097 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-29 19:26:44,100 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,197 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,201 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-29 19:26:44,202 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,241 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 19:26:44,296 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,298 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,298 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,298 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-29 19:26:44,298 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-29 19:26:44,324 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-09-29 19:26:44,325 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-09-29 19:26:44,337 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-29 19:26:45,101 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-29 19:26:45,102 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-09-29 19:26:45,102 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-29 19:26:45,105 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-29 19:26:45,105 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 19:26:45,117 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-09-29 19:26:45,277 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-09-29 19:26:45,779 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-09-29 19:26:46,374 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-09-29 19:26:46,397 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-09-29 19:26:46,421 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-09-29 19:26:46,427 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-09-29 19:26:46,487 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-09-29 19:26:46,514 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-09-29 19:26:46,557 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-09-29 19:26:46,581 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 19:26:46,582 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 19:26:46,591 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 19:26:46,598 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-09-29 19:26:46,612 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-09-29 19:26:46,615 [INFO] WebApp:900 - Register for checkConnection events +2025-09-29 19:26:46,615 [INFO] WebApp:463 - Apply proxy settings +2025-09-29 19:26:46,615 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-29 19:26:46,616 [INFO] WebApp:491 - Direct internet connection detected +2025-09-29 19:26:46,626 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-09-29 19:26:46,632 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-09-29 19:26:46,638 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-09-29 19:26:46,644 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-09-29 19:26:46,648 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-09-29 19:26:46,656 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 19:26:46,656 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 19:26:46,656 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 19:26:46,656 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 19:26:46,656 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-29 19:26:46,660 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-09-29 19:26:46,665 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-09-29 19:26:46,669 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-09-29 19:26:46,674 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-09-29 19:26:46,679 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-09-29 19:26:46,684 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-09-29 19:26:46,687 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-09-29 19:26:46,692 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-09-29 19:26:46,723 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-09-29 19:26:46,732 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-09-29 19:26:46,738 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-09-29 19:26:46,749 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-09-29 19:26:46,757 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-09-29 19:26:46,762 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-09-29 19:26:46,769 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-09-29 19:26:46,775 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-09-29 19:26:46,780 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-09-29 19:26:46,786 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-09-29 19:26:46,793 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-09-29 19:26:46,798 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-09-29 19:26:46,813 [INFO] WebApp:225 - Starting web application +2025-09-29 19:26:46,814 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-09-29 19:26:46,838 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-09-29 19:26:46,882 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-09-29 19:26:46,934 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-29 19:26:46,953 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-09-29 19:26:47,319 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-09-29 19:26:47,344 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-09-29 19:26:47,350 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-09-29 19:26:47,353 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-09-29 19:26:47,369 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-09-29 19:26:47,425 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-09-29 19:26:47,459 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-09-29 19:26:47,473 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-09-29 19:26:47,479 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-09-29 19:26:47,485 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-09-29 19:26:47,493 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-09-29 19:26:47,522 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 19:26:47,524 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-09-29 19:26:47,528 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 19:26:47,528 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 19:26:47,529 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-29 19:26:47,541 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-09-29 19:26:47,560 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-09-29 19:26:47,595 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 19:26:47,595 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 19:26:47,600 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-09-29 19:26:47,601 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 19:26:47,601 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 19:26:47,602 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 19:26:47,602 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 19:26:47,603 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-29 19:26:47,607 [INFO] WebApp:191 - Connection restablished +2025-09-29 19:26:47,610 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-09-29 19:26:47,615 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-09-29 19:26:47,618 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-09-29 19:26:47,633 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 19:26:47,633 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 19:26:47,633 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-29 19:26:47,647 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-09-29 19:26:47,693 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-09-29 19:26:47,701 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-09-29 19:26:47,722 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-09-29 19:26:47,729 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-09-29 19:26:47,734 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-09-29 19:26:47,750 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-09-29 19:26:47,773 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-09-29 19:26:47,792 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-09-29 19:26:47,799 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-09-29 19:26:47,810 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-09-29 19:26:47,829 [INFO] ThirdParty:978 - Integrity check success = true +2025-09-29 19:26:47,829 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-09-29 19:26:47,829 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-09-29 19:32:53,546 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] diff --git a/.metadata/.ide.log-2025-09-30.log b/.metadata/.ide.log-2025-09-30.log new file mode 100644 index 0000000..4b474fa --- /dev/null +++ b/.metadata/.ide.log-2025-09-30.log @@ -0,0 +1,310 @@ +2025-09-30 16:10:40,870 [INFO] Activator:176 - + + +2025-09-30 16:10:40,873 [INFO] Activator:177 - !SESSION log4j initialized +2025-09-30 16:10:46,753 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-09-30 16:10:48,576 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-30 16:10:48,600 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-30 16:10:48,601 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-30 16:10:48,601 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-30 16:10:48,609 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-30 16:10:48,611 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-30 16:10:48,614 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-30 16:10:48,753 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-30 16:10:48,826 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-30 16:10:48,826 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-30 16:10:48,826 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-30 16:10:48,826 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:48,826 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-30 16:10:48,827 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:48,827 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-30 16:10:48,827 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:48,827 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:48,827 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-30 16:10:48,905 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-09-30 16:10:49,445 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-09-30 16:10:49,445 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-09-30 16:10:49,445 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-09-30 16:10:49,446 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:49,446 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-30 16:10:49,446 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:49,446 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-09-30 16:10:49,446 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:49,446 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-09-30 16:10:49,446 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-09-30 16:10:49,466 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-30 16:10:49,467 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-09-30 16:10:49,468 [INFO] PluginManage:310 - Check plugin analytics +2025-09-30 16:10:49,824 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-09-30 16:10:49,825 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-09-30 16:10:49,825 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-09-30 16:10:49,831 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-09-30 16:10:49,833 [INFO] PluginManage:310 - Check plugin cadmodel +2025-09-30 16:10:49,840 [INFO] CADModel:105 - Init CAD model plugin +2025-09-30 16:10:49,841 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-09-30 16:10:49,841 [INFO] PluginManage:310 - Check plugin clock +2025-09-30 16:10:49,853 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-09-30 16:10:49,853 [INFO] PluginManage:310 - Check plugin ddr +2025-09-30 16:10:49,857 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-09-30 16:10:49,857 [INFO] PluginManage:310 - Check plugin filemanager +2025-09-30 16:10:50,044 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-09-30 16:10:50,044 [INFO] PluginManage:310 - Check plugin ipmanager +2025-09-30 16:10:50,049 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-09-30 16:10:50,049 [INFO] PluginManage:310 - Check plugin lpbam +2025-09-30 16:10:50,061 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-09-30 16:10:50,061 [INFO] PluginManage:310 - Check plugin memorymap +2025-09-30 16:10:50,074 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-09-30 16:10:50,074 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-09-30 16:10:50,083 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-09-30 16:10:50,083 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-09-30 16:10:50,185 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-09-30 16:10:50,344 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-09-30 16:10:50,344 [INFO] PluginManage:310 - Check plugin power +2025-09-30 16:10:50,356 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-09-30 16:10:50,356 [INFO] PluginManage:310 - Check plugin projectmanager +2025-09-30 16:10:50,375 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-09-30 16:10:50,375 [INFO] PluginManage:310 - Check plugin rif +2025-09-30 16:10:50,386 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-09-30 16:10:50,386 [INFO] PluginManage:310 - Check plugin thirdparty +2025-09-30 16:10:50,582 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-09-30 16:10:50,582 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-09-30 16:10:50,582 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-09-30 16:10:50,583 [INFO] PluginManage:310 - Check plugin tools +2025-09-30 16:10:50,583 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-09-30 16:10:50,586 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-09-30 16:10:50,586 [INFO] PluginManage:310 - Check plugin tutovideos +2025-09-30 16:10:50,906 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-09-30 16:10:50,906 [INFO] PluginManage:310 - Check plugin updater +2025-09-30 16:10:50,949 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-09-30 16:10:50,949 [INFO] PluginManage:310 - Check plugin userauth +2025-09-30 16:10:50,959 [INFO] UserAuth:118 - Init User Auth plugin +2025-09-30 16:10:50,961 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-09-30 16:10:50,962 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-09-30 16:10:51,266 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-09-30 16:10:51,368 [INFO] CADModel:165 - CPN selected for project level +2025-09-30 16:10:51,368 [INFO] CADModel:114 - Register for checkConnection events +2025-09-30 16:10:51,387 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,388 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-09-30 16:10:51,396 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,397 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-09-30 16:10:51,399 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,399 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-09-30 16:10:51,404 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,404 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-09-30 16:10:51,407 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,407 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-09-30 16:10:51,409 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,409 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-09-30 16:10:51,414 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,415 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-09-30 16:10:51,418 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,418 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-09-30 16:10:51,424 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,424 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-09-30 16:10:51,429 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,429 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-09-30 16:10:51,431 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,432 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-09-30 16:10:51,434 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,434 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-09-30 16:10:51,436 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,436 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-09-30 16:10:51,440 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,441 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-09-30 16:10:51,447 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,447 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-09-30 16:10:51,449 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,450 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-09-30 16:10:51,452 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,453 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-09-30 16:10:51,468 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,468 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-09-30 16:10:51,475 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,476 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-09-30 16:10:51,482 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,482 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-09-30 16:10:51,493 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,494 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-09-30 16:10:51,499 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,499 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-09-30 16:10:51,502 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,503 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-09-30 16:10:51,507 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,507 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-09-30 16:10:51,509 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,510 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-09-30 16:10:51,512 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,513 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-09-30 16:10:51,522 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,527 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-09-30 16:10:51,533 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,533 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-09-30 16:10:51,535 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,535 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-09-30 16:10:51,538 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,538 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-09-30 16:10:51,542 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,543 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-09-30 16:10:51,545 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,545 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-09-30 16:10:51,547 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,547 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-09-30 16:10:51,549 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,549 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-09-30 16:10:51,552 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,553 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-09-30 16:10:51,559 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,559 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-09-30 16:10:51,561 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,561 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-09-30 16:10:51,564 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,564 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-09-30 16:10:51,575 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,575 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-09-30 16:10:51,578 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,578 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-09-30 16:10:51,581 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,581 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-09-30 16:10:51,594 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,594 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-09-30 16:10:51,598 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,598 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-09-30 16:10:51,605 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,605 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-09-30 16:10:51,613 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,614 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-09-30 16:10:51,624 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-09-30 16:10:51,624 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-09-30 16:10:51,748 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:51,785 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-30 16:10:51,801 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-09-30 16:10:51,811 [INFO] CADModel:165 - CPN selected for project level +2025-09-30 16:10:51,812 [INFO] CADModel:114 - Register for checkConnection events +2025-09-30 16:10:51,812 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:51,812 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-30 16:10:52,000 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,002 [INFO] CADModel:165 - CPN selected for project level +2025-09-30 16:10:52,002 [INFO] CADModel:114 - Register for checkConnection events +2025-09-30 16:10:52,003 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,003 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-09-30 16:10:52,008 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,188 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,197 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-09-30 16:10:52,198 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,249 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-30 16:10:52,315 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,317 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,317 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,317 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-09-30 16:10:52,319 [FATAL] Updater:351 - Updater called before beeing initialized +2025-09-30 16:10:52,356 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-09-30 16:10:52,359 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-09-30 16:10:52,380 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-09-30 16:10:53,184 [INFO] MainUpdater:2872 - connection check result : 10 +2025-09-30 16:10:53,186 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-09-30 16:10:53,187 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-09-30 16:10:53,191 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-09-30 16:10:53,192 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-30 16:10:53,212 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-09-30 16:10:53,390 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-09-30 16:10:53,797 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-09-30 16:10:53,812 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-09-30 16:10:53,822 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-09-30 16:10:53,832 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-09-30 16:10:53,896 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-09-30 16:10:53,953 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-09-30 16:10:54,073 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-09-30 16:10:54,149 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-09-30 16:10:54,185 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-09-30 16:10:54,226 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-09-30 16:10:54,246 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-09-30 16:10:54,262 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-09-30 16:10:54,282 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-09-30 16:10:54,294 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-09-30 16:10:54,325 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-30 16:10:54,326 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-30 16:10:54,327 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-30 16:10:54,327 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-30 16:10:54,327 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-09-30 16:10:54,340 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-09-30 16:10:54,346 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-09-30 16:10:54,359 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-09-30 16:10:54,370 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-09-30 16:10:54,380 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-09-30 16:10:54,389 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-09-30 16:10:54,396 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-09-30 16:10:54,408 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-09-30 16:10:54,452 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-09-30 16:10:54,479 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-09-30 16:10:54,499 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-09-30 16:10:54,528 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-09-30 16:10:54,540 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-09-30 16:10:54,551 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-09-30 16:10:54,559 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-09-30 16:10:54,574 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-09-30 16:10:54,622 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-09-30 16:10:54,630 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-09-30 16:10:54,638 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-09-30 16:10:54,647 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-09-30 16:10:54,653 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-09-30 16:10:54,707 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-09-30 16:10:54,806 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-09-30 16:10:54,912 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-09-30 16:10:55,413 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-09-30 16:10:55,442 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-09-30 16:10:55,449 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-09-30 16:10:55,454 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-09-30 16:10:55,464 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-09-30 16:10:55,523 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-09-30 16:10:55,539 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-09-30 16:10:55,550 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-09-30 16:10:55,556 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-09-30 16:10:55,562 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-09-30 16:10:55,569 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-09-30 16:10:55,608 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-30 16:10:55,610 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-09-30 16:10:55,613 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-30 16:10:55,613 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-30 16:10:55,615 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-09-30 16:10:55,628 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-09-30 16:10:55,663 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-09-30 16:10:55,692 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-30 16:10:55,692 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-30 16:10:55,695 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-09-30 16:10:55,696 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-30 16:10:55,696 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-30 16:10:55,696 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-30 16:10:55,697 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-30 16:10:55,697 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-09-30 16:10:55,713 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-09-30 16:10:55,719 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-09-30 16:10:55,724 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-09-30 16:10:55,742 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-30 16:10:55,742 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-30 16:10:55,742 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-09-30 16:10:55,758 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-09-30 16:10:55,802 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-09-30 16:10:55,810 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-09-30 16:10:55,843 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-09-30 16:10:55,848 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-09-30 16:10:55,857 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-09-30 16:10:55,876 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-09-30 16:10:55,887 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-09-30 16:10:55,894 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-09-30 16:10:55,901 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-09-30 16:10:55,916 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-09-30 16:10:55,934 [INFO] ThirdParty:978 - Integrity check success = true +2025-09-30 16:10:55,934 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-09-30 16:10:55,935 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-09-30 16:10:56,192 [INFO] WebApp:463 - Apply proxy settings +2025-09-30 16:10:56,193 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-30 16:10:56,204 [INFO] WebApp:491 - Direct internet connection detected +2025-09-30 16:10:56,229 [INFO] WebApp:900 - Register for checkConnection events +2025-09-30 16:10:56,229 [INFO] WebApp:463 - Apply proxy settings +2025-09-30 16:10:56,229 [INFO] WebApp:548 - Chromium requires no authentication +2025-09-30 16:10:56,230 [INFO] WebApp:491 - Direct internet connection detected +2025-09-30 16:10:56,407 [INFO] WebApp:225 - Starting web application +2025-09-30 16:10:56,407 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-09-30 16:10:56,542 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-09-30 16:10:57,055 [INFO] WebApp:191 - Connection restablished +2025-09-30 16:23:40,163 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] diff --git a/.metadata/.ide.log-2025-10-01.log b/.metadata/.ide.log-2025-10-01.log new file mode 100644 index 0000000..3635ce1 --- /dev/null +++ b/.metadata/.ide.log-2025-10-01.log @@ -0,0 +1,570 @@ +2025-10-01 14:12:29,244 [INFO] Activator:176 - + + +2025-10-01 14:12:29,247 [INFO] Activator:177 - !SESSION log4j initialized +2025-10-01 14:12:39,473 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-10-01 14:12:51,071 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-01 14:12:51,085 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-01 14:12:51,086 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-01 14:12:51,086 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-01 14:12:51,091 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-01 14:12:51,092 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-01 14:12:51,094 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-01 14:12:51,194 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-01 14:12:51,242 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-01 14:12:51,242 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-01 14:12:51,242 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-01 14:12:51,243 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,243 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-01 14:12:51,243 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,243 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-01 14:12:51,243 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,243 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,243 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-01 14:12:51,305 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-10-01 14:12:51,811 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-01 14:12:51,811 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-01 14:12:51,811 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-01 14:12:51,812 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,812 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-01 14:12:51,812 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,812 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-01 14:12:51,812 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,812 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-01 14:12:51,812 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-01 14:12:51,826 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-01 14:12:51,827 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-10-01 14:12:51,828 [INFO] PluginManage:310 - Check plugin analytics +2025-10-01 14:12:52,259 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-10-01 14:12:52,259 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-10-01 14:12:52,259 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-10-01 14:12:52,262 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-10-01 14:12:52,262 [INFO] PluginManage:310 - Check plugin cadmodel +2025-10-01 14:12:52,266 [INFO] CADModel:105 - Init CAD model plugin +2025-10-01 14:12:52,266 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-10-01 14:12:52,266 [INFO] PluginManage:310 - Check plugin clock +2025-10-01 14:12:52,273 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-10-01 14:12:52,273 [INFO] PluginManage:310 - Check plugin ddr +2025-10-01 14:12:52,275 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-10-01 14:12:52,275 [INFO] PluginManage:310 - Check plugin filemanager +2025-10-01 14:12:52,407 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-10-01 14:12:52,407 [INFO] PluginManage:310 - Check plugin ipmanager +2025-10-01 14:12:52,411 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-10-01 14:12:52,412 [INFO] PluginManage:310 - Check plugin lpbam +2025-10-01 14:12:52,421 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-10-01 14:12:52,421 [INFO] PluginManage:310 - Check plugin memorymap +2025-10-01 14:12:52,432 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-10-01 14:12:52,432 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-10-01 14:12:52,441 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-10-01 14:12:52,441 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-10-01 14:12:52,543 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-10-01 14:12:52,676 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-10-01 14:12:52,676 [INFO] PluginManage:310 - Check plugin power +2025-10-01 14:12:52,686 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-10-01 14:12:52,686 [INFO] PluginManage:310 - Check plugin projectmanager +2025-10-01 14:12:52,702 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-10-01 14:12:52,702 [INFO] PluginManage:310 - Check plugin rif +2025-10-01 14:12:52,710 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-10-01 14:12:52,710 [INFO] PluginManage:310 - Check plugin thirdparty +2025-10-01 14:12:52,815 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-10-01 14:12:52,815 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-10-01 14:12:52,815 [INFO] PluginManage:310 - Check plugin tools +2025-10-01 14:12:52,815 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-10-01 14:12:52,816 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-10-01 14:12:52,817 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-10-01 14:12:52,817 [INFO] PluginManage:310 - Check plugin tutovideos +2025-10-01 14:12:52,987 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-10-01 14:12:52,987 [INFO] PluginManage:310 - Check plugin updater +2025-10-01 14:12:53,005 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-10-01 14:12:53,005 [INFO] PluginManage:310 - Check plugin userauth +2025-10-01 14:12:53,008 [INFO] UserAuth:118 - Init User Auth plugin +2025-10-01 14:12:53,009 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-10-01 14:12:53,009 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-10-01 14:12:53,142 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-10-01 14:12:53,194 [INFO] CADModel:165 - CPN selected for project level +2025-10-01 14:12:53,194 [INFO] CADModel:114 - Register for checkConnection events +2025-10-01 14:12:53,202 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,203 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-10-01 14:12:53,207 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,207 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-10-01 14:12:53,208 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,208 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-10-01 14:12:53,210 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,210 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-10-01 14:12:53,211 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,211 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-10-01 14:12:53,212 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,212 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-10-01 14:12:53,215 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,215 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-10-01 14:12:53,216 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,216 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-10-01 14:12:53,218 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,218 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-10-01 14:12:53,220 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,220 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-10-01 14:12:53,222 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,222 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-10-01 14:12:53,223 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,224 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-10-01 14:12:53,224 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,225 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-10-01 14:12:53,226 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,226 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-10-01 14:12:53,228 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,228 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-10-01 14:12:53,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,230 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-10-01 14:12:53,232 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,232 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-10-01 14:12:53,237 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,237 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-10-01 14:12:53,240 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,241 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-10-01 14:12:53,245 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,245 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-10-01 14:12:53,250 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,250 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-10-01 14:12:53,253 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,253 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-10-01 14:12:53,256 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,256 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-10-01 14:12:53,258 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,258 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-10-01 14:12:53,259 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,260 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-10-01 14:12:53,261 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,261 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-10-01 14:12:53,267 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,269 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-10-01 14:12:53,273 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,273 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-10-01 14:12:53,274 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,274 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-10-01 14:12:53,276 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,276 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-10-01 14:12:53,278 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,278 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-10-01 14:12:53,279 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,279 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-10-01 14:12:53,280 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,280 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-10-01 14:12:53,282 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,282 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-10-01 14:12:53,284 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,284 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-10-01 14:12:53,286 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,286 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-10-01 14:12:53,287 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,287 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-10-01 14:12:53,289 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,289 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-10-01 14:12:53,295 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,295 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-10-01 14:12:53,297 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,297 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-10-01 14:12:53,299 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,299 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-10-01 14:12:53,304 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,304 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-10-01 14:12:53,306 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,306 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-10-01 14:12:53,310 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,310 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-10-01 14:12:53,313 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,313 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-10-01 14:12:53,318 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 14:12:53,318 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-10-01 14:12:53,411 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,433 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-01 14:12:53,442 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-01 14:12:53,447 [INFO] CADModel:165 - CPN selected for project level +2025-10-01 14:12:53,448 [INFO] CADModel:114 - Register for checkConnection events +2025-10-01 14:12:53,448 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,448 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-10-01 14:12:53,558 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,559 [INFO] CADModel:165 - CPN selected for project level +2025-10-01 14:12:53,560 [INFO] CADModel:114 - Register for checkConnection events +2025-10-01 14:12:53,560 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,560 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-10-01 14:12:53,562 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,645 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,649 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-10-01 14:12:53,649 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,682 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-10-01 14:12:53,734 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,735 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,736 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,736 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-10-01 14:12:53,737 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-01 14:12:53,763 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-10-01 14:12:53,765 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-10-01 14:12:53,781 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-01 14:12:55,816 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [2/15] +2025-10-01 14:12:56,134 [INFO] MainUpdater:2872 - connection check result : 10 +2025-10-01 14:12:56,136 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-10-01 14:12:56,136 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-10-01 14:12:56,147 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-10-01 14:12:56,148 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-10-01 14:12:56,173 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-10-01 14:12:56,339 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-10-01 14:12:56,834 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-10-01 14:12:57,365 [INFO] WebApp:463 - Apply proxy settings +2025-10-01 14:12:57,366 [INFO] WebApp:548 - Chromium requires no authentication +2025-10-01 14:12:57,373 [INFO] WebApp:491 - Direct internet connection detected +2025-10-01 14:12:57,388 [INFO] WebApp:900 - Register for checkConnection events +2025-10-01 14:12:57,388 [INFO] WebApp:463 - Apply proxy settings +2025-10-01 14:12:57,389 [INFO] WebApp:548 - Chromium requires no authentication +2025-10-01 14:12:57,389 [INFO] WebApp:491 - Direct internet connection detected +2025-10-01 14:12:57,505 [INFO] WebApp:225 - Starting web application +2025-10-01 14:12:57,505 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-10-01 14:12:57,585 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-10-01 14:12:58,474 [INFO] WebApp:191 - Connection restablished +2025-10-01 14:12:58,951 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-10-01 14:12:58,959 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-10-01 14:12:58,967 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-10-01 14:12:58,971 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-10-01 14:12:59,004 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-10-01 14:12:59,017 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-10-01 14:12:59,074 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-10-01 14:12:59,140 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-10-01 14:12:59,163 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-10-01 14:12:59,180 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-10-01 14:12:59,188 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-10-01 14:12:59,223 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-10-01 14:12:59,240 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-10-01 14:12:59,246 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-10-01 14:12:59,258 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-01 14:12:59,260 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-01 14:12:59,260 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-01 14:12:59,261 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-01 14:12:59,261 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-01 14:12:59,269 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-10-01 14:12:59,275 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-10-01 14:12:59,284 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-10-01 14:12:59,293 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-10-01 14:12:59,301 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-10-01 14:12:59,306 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-10-01 14:12:59,311 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-10-01 14:12:59,322 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-10-01 14:12:59,346 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-10-01 14:12:59,352 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-10-01 14:12:59,357 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-10-01 14:12:59,366 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-10-01 14:12:59,370 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-10-01 14:12:59,374 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-10-01 14:12:59,380 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-10-01 14:12:59,385 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-10-01 14:12:59,388 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-10-01 14:12:59,393 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-10-01 14:12:59,399 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-10-01 14:12:59,402 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-10-01 14:12:59,429 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-10-01 14:12:59,468 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-10-01 14:12:59,505 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-10-01 14:12:59,625 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-10-01 14:12:59,647 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-10-01 14:12:59,650 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-10-01 14:12:59,653 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-10-01 14:12:59,658 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-10-01 14:12:59,678 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-10-01 14:12:59,688 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-10-01 14:12:59,696 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-10-01 14:12:59,699 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-10-01 14:12:59,703 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-10-01 14:12:59,707 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-10-01 14:12:59,720 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-01 14:12:59,720 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-10-01 14:12:59,721 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-01 14:12:59,721 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-01 14:12:59,722 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-01 14:12:59,727 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-10-01 14:12:59,734 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-10-01 14:12:59,746 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-01 14:12:59,746 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-01 14:12:59,748 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-10-01 14:12:59,749 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-01 14:12:59,749 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-01 14:12:59,749 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-01 14:12:59,749 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-01 14:12:59,749 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-01 14:12:59,754 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-10-01 14:12:59,756 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-10-01 14:12:59,758 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-10-01 14:12:59,769 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-01 14:12:59,769 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-01 14:12:59,769 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-01 14:12:59,780 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-10-01 14:12:59,796 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-10-01 14:12:59,799 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-10-01 14:12:59,808 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-10-01 14:12:59,812 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-10-01 14:12:59,815 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-10-01 14:12:59,825 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-10-01 14:12:59,832 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-10-01 14:12:59,836 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-10-01 14:12:59,840 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-10-01 14:12:59,847 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-10-01 14:12:59,857 [INFO] ThirdParty:978 - Integrity check success = true +2025-10-01 14:12:59,858 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-10-01 14:12:59,858 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-10-01 16:05:08,988 [INFO] WebApp:194 - Connection lost +2025-10-01 16:05:18,789 [INFO] WebApp:191 - Connection restablished +2025-10-01 16:31:59,842 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-10-01 16:31:59,846 [INFO] MainUpdater:2872 - connection check result : 10 +2025-10-01 16:31:59,847 [INFO] MainUpdater:2872 - connection check result : 10 +2025-10-01 16:31:59,878 [INFO] MicroXplorer:468 - Change Database Path : +2025-10-01 16:31:59,879 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-10-01 16:31:59,887 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-10-01 16:31:59,888 [INFO] ThirdParty:873 - entering critical section [close project] +2025-10-01 16:31:59,890 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-10-01 16:31:59,895 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-10-01 16:31:59,900 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 325664960 Bytes (559939584) +2025-10-01 16:31:59,902 [INFO] MicroXplorer:468 - Change Database Path : +2025-10-01 16:31:59,902 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-10-01 16:31:59,902 [INFO] OpenFileManager:355 - Change cursor +2025-10-01 16:31:59,973 [INFO] Mcu:2029 - Initializing MCU STM32F429ZITx STM32F429ZITx STM32F429ZIT6 +2025-10-01 16:32:01,549 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-10-01 16:32:02,148 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin10 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-10-01 16:32:02,245 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-10-01 16:32:02,245 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-10-01 16:32:02,245 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-10-01 16:32:02,245 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-10-01 16:32:02,245 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,263 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,264 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,265 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-10-01 16:32:02,266 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-10-01 16:32:02,578 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-10-01 16:32:03,309 [INFO] ThirdPartyModel:316 - End build external matchings +2025-10-01 16:32:03,326 [INFO] RtosManager:1018 - Current active RTOS is FREERTOS [Cortex-M4NS] +2025-10-01 16:32:03,716 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/ja/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) +2025-10-01 16:32:03,771 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-10-01 16:32:03,772 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-10-01 16:32:03,774 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-10-01 16:32:03,774 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-10-01 16:32:03,821 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' +2025-10-01 16:32:03,822 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' +2025-10-01 16:32:03,823 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' +2025-10-01 16:32:03,823 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' +2025-10-01 16:32:03,859 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-10-01 16:32:03,955 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 +2025-10-01 16:32:03,956 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 +2025-10-01 16:32:03,960 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B +2025-10-01 16:32:03,960 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B +2025-10-01 16:32:03,961 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B +2025-10-01 16:32:03,961 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B +2025-10-01 16:32:04,046 [INFO] DbBoards:168 - Found 212 boards, 209 are supported +2025-10-01 16:32:04,046 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp +2025-10-01 16:32:04,049 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-10-01 16:32:04,049 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-10-01 16:32:04,049 [INFO] ApiDb:670 - CubeFinder database generation date=2025-08-25 (1756130511) +2025-10-01 16:32:04,049 [INFO] ApiDb:671 - CubeFinder database FW Pack versions=[FP-ATR-ASTRA1_V2.0.0, FP-SNS-FLIGHT1_V5.1.0, FP-SNS-MOTENV1_V5.0.0, FP-SNS-MOTENVWB1_V1.4.0, FP-SNS-SMARTAG2_V1.2.0, FP-SNS-STBOX1_V2.1.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.3, STM32Cube_FW_F7_V1.17.4, STM32Cube_FW_G0_V1.6.2, STM32Cube_FW_G4_V1.6.1, STM32Cube_FW_H5_V1.5.0, STM32Cube_FW_H7RS_V1.2.0, STM32Cube_FW_H7_V1.12.1, STM32Cube_FW_L0_V1.12.2, STM32Cube_FW_L4_V1.18.1, STM32Cube_FW_L5_V1.5.1, STM32Cube_FW_N6_V1.2.0, STM32Cube_FW_U0_V1.3.0, STM32Cube_FW_U3_V1.2.0, STM32Cube_FW_U5_V1.8.0, STM32Cube_FW_WB0_V1.3.0, STM32Cube_FW_WBA_V1.7.0, STM32Cube_FW_WB_V1.23.0, STM32Cube_FW_WL3_V1.2.0, STM32Cube_FW_WL_V1.3.1, X-CUBE-ALGOBUILD_V1.4.0, X-CUBE-ALS_V1.0.2, X-CUBE-AZRTOS-F4_V1.1.0, X-CUBE-AZRTOS-F7_V1.1.0, X-CUBE-AZRTOS-G0_V1.1.0, X-CUBE-AZRTOS-G4_V2.0.0, X-CUBE-AZRTOS-H7RS_V1.1.0, X-CUBE-AZRTOS-H7_V3.4.0, X-CUBE-AZRTOS-L4_V2.0.0, X-CUBE-AZRTOS-L5_V2.0.0, X-CUBE-AZRTOS-WB_V2.0.0, X-CUBE-AZRTOS-WL_V2.0.0, X-CUBE-BLE1_V7.1.0, X-CUBE-BLE2_V3.3.0, X-CUBE-BLEMGR_V4.1.0, X-CUBE-EEPRMA1_V5.2.0, X-CUBE-FREERTOS_V1.3.1, X-CUBE-GNSS1_V6.0.0, X-CUBE-MEMS1_V11.3.0, X-CUBE-NFC4_V3.0.0, X-CUBE-NFC7_V2.0.0, X-CUBE-SFXS2LP1_V4.0.0, X-CUBE-ST67W61_V1.0.0, X-CUBE-SUBG2_V5.0.0, X-CUBE-TOF1_V3.4.3] +2025-10-01 16:32:06,322 [INFO] ApiDb:240 - Found 880 in-development CPN: [B-G473E-ZEST1S, B-WB1M-WPAN1, B-WBA5M-WPAN, B-WL5M-SUBG1, NUCLEO-C031C6, NUCLEO-C051C8, NUCLEO-C071RB, NUCLEO-C092RC, NUCLEO-H503RB, NUCLEO-H533RE, NUCLEO-H563ZI, NUCLEO-H7S3L8, NUCLEO-N657X0-Q, NUCLEO-U031R8, NUCLEO-U083RC, NUCLEO-U385RG-Q, NUCLEO-U545RE-Q, NUCLEO-U5A5ZJ-Q, NUCLEO-WB05KZ, NUCLEO-WB07CC, NUCLEO-WB09KE, NUCLEO-WBA52CG, NUCLEO-WBA55CG, NUCLEO-WL33CC1, NUCLEO-WL33CC2, STEVAL-PROTEUS1, STEVAL-SMARTAG2, STEVAL-STWINBX1, STM320518-EVAL, STM32C0116-DK, STM32C011D6Y3TR, STM32C011D6Y6TR, STM32C011F4P3, STM32C011F4P6, STM32C011F4U3, STM32C011F4U6TR, STM32C011F6P3, STM32C011F6P6, STM32C011F6U3, STM32C011F6U6TR, STM32C011J4M3, STM32C011J4M6, STM32C011J6M3, STM32C011J6M6, STM32C0316-DK, STM32C031C4T3, STM32C031C4T6, STM32C031C4U3, STM32C031C4U6, STM32C031C6T3, STM32C031C6T6, STM32C031C6U3, STM32C031C6U6, STM32C031F4P3, STM32C031F4P6, STM32C031F6P3, STM32C031F6P6, STM32C031G4U3, STM32C031G4U6, STM32C031G6U3, STM32C031G6U6, STM32C031K4T3, STM32C031K4T6, STM32C031K4U3, STM32C031K4U6, STM32C031K6T3, STM32C031K6T6, STM32C031K6U3, STM32C031K6U6, STM32C051C6T6, STM32C051C6U6, STM32C051C8T6, STM32C051C8U6, STM32C051D8Y6TR, STM32C051F6P6, STM32C051F8P6, STM32C051G6U6, STM32C051G8U6, STM32C051K6T6, STM32C051K6U6, STM32C051K8T6, STM32C071C8T6, STM32C071C8T6N, STM32C071C8U6, STM32C071C8U6N, STM32C071CBT6, STM32C071CBT6N, STM32C071CBU6, STM32C071CBU6N, STM32C071F8P6, STM32C071F8P6N, STM32C071FBP6, STM32C071FBP6N, STM32C071FBY6TR, STM32C071G8U6, STM32C071G8U6N, STM32C071GBU6, STM32C071GBU6N, STM32C071K8T6, STM32C071K8T6N, STM32C071K8U6, STM32C071K8U6N, STM32C071KBT6, STM32C071KBT6N, STM32C071KBU6, STM32C071KBU6N, STM32C071R8T6, STM32C071R8T6N, STM32C071RBI6N, STM32C071RBT6, STM32C071RBT6N, STM32C091CBT6, STM32C091CBU6, STM32C091CCT6, STM32C091CCU6, STM32C091ECY6TR, STM32C091FBP6, STM32C091FCP6, STM32C091GBU6, STM32C091GCU6, STM32C091KBT6, STM32C091KBU6, STM32C091KCT6, STM32C091KCU6, STM32C091RBT6, STM32C091RCI6, STM32C091RCT6, STM32C092CBT6, STM32C092CBU6, STM32C092CCT6, STM32C092CCU6, STM32C092ECY6TR, STM32C092FBP6, STM32C092FCP6, STM32C092GBU6, STM32C092GCU6, STM32C092KBT6, STM32C092KBU6, STM32C092KCT6, STM32C092KCU6, STM32C092RBT6, STM32C092RCI6, STM32C092RCT6, STM32G071K8TXN, STM32G071K8UXN, STM32G081GBU6N, STM32G081KBT6N, STM32G081KBUXN, STM32G0B1CCT6N, STM32G0B1KCT6, STM32G0B1NEY6TR, STM32G0B1RCT6N, STM32G0C1CCT6, STM32G0C1CCT6N, STM32G0C1CCU6N, STM32G0C1CET6N, STM32G0C1CEU6N, STM32G0C1KCT6, STM32G0C1NEY6TR, STM32G0C1RCI6N, STM32G0C1RCT6N, STM32G0C1REI6N, STM32G0C1RET6N, STM32G0C1VCI6, STM32G0C1VEI6, STM32G411C6T3, STM32G411C6T6, STM32G411C6U3, STM32G411C6U6, STM32G411C8T3, STM32G411C8T6, STM32G411C8U3, STM32G411C8U6, STM32G411CBT3, STM32G411CBT6, STM32G411CBU3, STM32G411CBU6, STM32G411K6T3, STM32G411K6T6, STM32G411K6U3, STM32G411K6U6, STM32G411K8T3, STM32G411K8T6, STM32G411K8U3, STM32G411K8U6, STM32G411KBT3, STM32G411KBT6, STM32G411KBU3, STM32G411KBU6, STM32G411M6T3, STM32G411M6T6, STM32G411M8T3, STM32G411M8T6, STM32G411MBT3, STM32G411MBT6, STM32G411R6T3, STM32G411R6T6, STM32G411R8T3, STM32G411R8T6, STM32G411RBT3, STM32G411RBT6, STM32G414CBT3, STM32G414CBT6, STM32G414CBU3, STM32G414CBU6, STM32G414CCT3, STM32G414CCT6, STM32G414CCU3, STM32G414CCU6, STM32G414MBT3, STM32G414MBT6, STM32G414MCT3, STM32G414MCT6, STM32G414RBT3, STM32G414RBT6, STM32G414RCT3, STM32G414RCT6, STM32G414VBT3, STM32G414VBT6, STM32G414VCT3, STM32G414VCT6, STM32G431CBT3Z, STM32G431RBT3Z, STM32G471CCT6, STM32G471CCU6, STM32G471CET3, STM32G471CET6, STM32G471CEU3, STM32G471CEU6, STM32G471MCT6, STM32G471MET3, STM32G471MET6, STM32G471MEY6TR, STM32G471QCT6, STM32G471QET3, STM32G471RCT6, STM32G471RET3, STM32G471RET6, STM32G471VCH6, STM32G471VCI6, STM32G471VCT6, STM32G471VEH3, STM32G471VEH6, STM32G471VEI3, STM32G471VEI6, STM32G471VET3, STM32G471VET6, STM32G473QET3Z, STM32G473RET3Z, STM32G474CCT6, STM32G491RET3Z, STM32H503CBT6, STM32H503CBU6, STM32H503EBY6TR, STM32H503KBU6, STM32H503RBT6, STM32H523CCT6, STM32H523CCU6, STM32H523CET6, STM32H523CEU6, STM32H523HEY6TR, STM32H523RCT6, STM32H523RET6, STM32H523VCI6, STM32H523VCT6, STM32H523VEI6, STM32H523VET6, STM32H523ZCJ6, STM32H523ZCT6, STM32H523ZEJ6, STM32H523ZET6, STM32H533CET6, STM32H533CEU6, STM32H533HEY6TR, STM32H533RET6, STM32H533VEI6, STM32H533VET6, STM32H533ZEJ6, STM32H533ZET6, STM32H562AGI6, STM32H562AII6, STM32H562IGK6, STM32H562IGT6, STM32H562IIK6, STM32H562IIT6, STM32H562RGT6, STM32H562RGV6, STM32H562RIT6, STM32H562RIV6, STM32H562VGT6, STM32H562VIT6, STM32H562ZGT6, STM32H562ZIT6, STM32H563AGI6, STM32H563AII3Q, STM32H563AII6, STM32H563IGK6, STM32H563IGT6, STM32H563IIK3Q, STM32H563IIK6, STM32H563IIT3Q, STM32H563IIT6, STM32H563MIY3QTR, STM32H563RGT6, STM32H563RGV6, STM32H563RIT6, STM32H563RIV6, STM32H563VGT6, STM32H563VIT3Q, STM32H563VIT6, STM32H563ZGT6, STM32H563ZIT3Q, STM32H563ZIT6, STM32H573AII3Q, STM32H573AII6, STM32H573I-DK, STM32H573IIK3Q, STM32H573IIK6, STM32H573IIT3Q, STM32H573IIT6, STM32H573MIY3QTR, STM32H573RIT6, STM32H573RIV6, STM32H573VIT3Q, STM32H573VIT6, STM32H573ZIT3Q, STM32H573ZIT6, STM32H7R3A8I6, STM32H7R3I8K6, STM32H7R3I8T6, STM32H7R3L8H6, STM32H7R3L8H6H, STM32H7R3R8V6, STM32H7R3V8H6, STM32H7R3V8T6, STM32H7R3V8Y6TR, STM32H7R3Z8J6, STM32H7R3Z8T6, STM32H7R7A8I6, STM32H7R7I8K6, STM32H7R7I8T6, STM32H7R7L8H6, STM32H7R7L8H6H, STM32H7R7Z8J6, STM32H7S3A8I6, STM32H7S3I8K6, STM32H7S3I8T6, STM32H7S3L8H6, STM32H7S3L8H6H, STM32H7S3R8V6, STM32H7S3V8H6, STM32H7S3V8T6, STM32H7S3V8Y6TR, STM32H7S3Z8J6, STM32H7S3Z8T6, STM32H7S78-DK, STM32H7S7A8I6, STM32H7S7I8K6, STM32H7S7I8T6, STM32H7S7L8H6, STM32H7S7L8H6H, STM32H7S7Z8J6, STM32L4R5QGI6STR, STM32MP131AAE3, STM32MP131AAF3, STM32MP131AAG3, STM32MP131CAE3, STM32MP131CAF3, STM32MP131CAG3, STM32MP131DAE7, STM32MP131DAF7, STM32MP131DAG7, STM32MP131FAE7, STM32MP131FAF7, STM32MP131FAG7, STM32MP133AAE3, STM32MP133AAF3, STM32MP133AAG3, STM32MP133CAE3, STM32MP133CAF3, STM32MP133CAG3, STM32MP133DAE7, STM32MP133DAF7, STM32MP133DAG7, STM32MP133FAE7, STM32MP133FAF7, STM32MP133FAG7, STM32MP135AAE3, STM32MP135AAF3, STM32MP135AAG3, STM32MP135CAE3, STM32MP135CAF3, STM32MP135CAG3, STM32MP135DAE7, STM32MP135DAF7, STM32MP135DAG7, STM32MP135F-DK, STM32MP135FAE7, STM32MP135FAF7, STM32MP135FAF7T, STM32MP135FAF7U, STM32MP135FAG7, STM32MP211AAL3, STM32MP211AAM3, STM32MP211AAN3, STM32MP211AAO3, STM32MP211CAL3, STM32MP211CAM3, STM32MP211CAN3, STM32MP211CAO3, STM32MP211DAL3, STM32MP211DAM3, STM32MP211DAN3, STM32MP211DAO3, STM32MP211FAL3, STM32MP211FAM3, STM32MP211FAN3, STM32MP211FAO3, STM32MP213AAL3, STM32MP213AAM3, STM32MP213AAN3, STM32MP213AAO3, STM32MP213CAL3, STM32MP213CAM3, STM32MP213CAN3, STM32MP213CAO3, STM32MP213DAL3, STM32MP213DAM3, STM32MP213DAN3, STM32MP213DAO3, STM32MP213FAL3, STM32MP213FAM3, STM32MP213FAN3, STM32MP213FAO3, STM32MP215AAL3, STM32MP215AAM3, STM32MP215AAN3, STM32MP215AAO3, STM32MP215CAL3, STM32MP215CAM3, STM32MP215CAN3, STM32MP215CAO3, STM32MP215DAL3, STM32MP215DAM3, STM32MP215DAN3, STM32MP215DAO3, STM32MP215F-DK, STM32MP215FAL3, STM32MP215FAM3, STM32MP215FAN3, STM32MP215FAO3, STM32MP231AAJ3, STM32MP231AAK3, STM32MP231AAL3, STM32MP231CAJ3, STM32MP231CAK3, STM32MP231CAL3, STM32MP231DAJ3, STM32MP231DAK3, STM32MP231DAL3, STM32MP231FAJ3, STM32MP231FAK3, STM32MP231FAL3, STM32MP233AAJ3, STM32MP233AAK3, STM32MP233AAL3, STM32MP233CAJ3, STM32MP233CAK3, STM32MP233CAL3, STM32MP233DAJ3, STM32MP233DAK3, STM32MP233DAL3, STM32MP233FAJ3, STM32MP233FAK3, STM32MP233FAL3, STM32MP235AAJ3, STM32MP235AAK3, STM32MP235AAL3, STM32MP235CAJ3, STM32MP235CAK3, STM32MP235CAL3, STM32MP235DAJ3, STM32MP235DAK3, STM32MP235DAL3, STM32MP235FAJ3, STM32MP235FAK3, STM32MP235FAL3, STM32MP251AAI3, STM32MP251AAK3, STM32MP251AAL3, STM32MP251CAI3, STM32MP251CAK3, STM32MP251CAL3, STM32MP251DAI3, STM32MP251DAK3, STM32MP251DAL3, STM32MP251FAI3, STM32MP251FAK3, STM32MP251FAL3, STM32MP253AAI3, STM32MP253AAK3, STM32MP253AAL3, STM32MP253CAI3, STM32MP253CAK3, STM32MP253CAL3, STM32MP253DAI3, STM32MP253DAK3, STM32MP253DAL3, STM32MP253FAI3, STM32MP253FAK3, STM32MP253FAL3, STM32MP255AAI3, STM32MP255AAK3, STM32MP255AAL3, STM32MP255CAI3, STM32MP255CAK3, STM32MP255CAL3, STM32MP255DAI3, STM32MP255DAK3, STM32MP255DAL3, STM32MP255FAI3, STM32MP255FAK3, STM32MP255FAL3, STM32MP257AAI3, STM32MP257AAK3, STM32MP257AAL3, STM32MP257CAI3, STM32MP257CAK3, STM32MP257CAL3, STM32MP257DAI3, STM32MP257DAK3, STM32MP257DAL3, STM32MP257F-DK, STM32MP257F-EV1, STM32MP257FAI3, STM32MP257FAK3, STM32MP257FAL3, STM32N645A0H3Q, STM32N645B0H3Q, STM32N645I0H3Q, STM32N645L0H3Q, STM32N645X0H3Q, STM32N645Z0H3Q, STM32N647A0H3Q, STM32N647B0H3Q, STM32N647I0H3Q, STM32N647L0H3Q, STM32N647X0H3Q, STM32N647Z0H3Q, STM32N655A0H3Q, STM32N655B0H3Q, STM32N655I0H3Q, STM32N655L0H3Q, STM32N655X0H3Q, STM32N655Z0H3Q, STM32N6570-DK, STM32N657A0H3Q, STM32N657B0H3Q, STM32N657I0H3Q, STM32N657L0H3Q, STM32N657X0H3Q, STM32N657Z0H3Q, STM32U031C6T6, STM32U031C6U6, STM32U031C8T6, STM32U031C8U6, STM32U031F4P6, STM32U031F6P6, STM32U031F8P6, STM32U031G6Y6TR, STM32U031G8Y6TR, STM32U031K4U6, STM32U031K6U6, STM32U031K8U6, STM32U031R6I6, STM32U031R6T6, STM32U031R8I6, STM32U031R8T6, STM32U073C8T6, STM32U073C8U6, STM32U073CBT6, STM32U073CBU6, STM32U073CCT6, STM32U073CCU6, STM32U073H8Y6TR, STM32U073HBY6TR, STM32U073HCY6TR, STM32U073K8U6, STM32U073KBU6, STM32U073KCU6, STM32U073M8I6, STM32U073M8T6, STM32U073MBI6, STM32U073MBT6, STM32U073MCI6, STM32U073MCT6, STM32U073R8I6, STM32U073R8T6, STM32U073RBI6, STM32U073RBT6, STM32U073RCI6, STM32U073RCT6, STM32U083C-DK, STM32U083CCT6, STM32U083CCU6, STM32U083HCY6TR, STM32U083KCU6, STM32U083MCI6, STM32U083MCT6, STM32U083RCI6, STM32U083RCT6, STM32U375CET6, STM32U375CET6Q, STM32U375CEU6, STM32U375CEU6Q, STM32U375CEY6QTR, STM32U375CGT6, STM32U375CGT6Q, STM32U375CGU6, STM32U375CGU6Q, STM32U375CGY6QTR, STM32U375KEU6, STM32U375KGU6, STM32U375REI6, STM32U375REI6Q, STM32U375RET6, STM32U375RET6Q, STM32U375REY6GTR, STM32U375REY6QTR, STM32U375RGI6, STM32U375RGI6Q, STM32U375RGT6, STM32U375RGT6Q, STM32U375RGY6GTR, STM32U375RGY6QTR, STM32U375VEI6, STM32U375VEI6Q, STM32U375VET6, STM32U375VET6Q, STM32U375VGI6, STM32U375VGI6Q, STM32U375VGT6, STM32U375VGT6Q, STM32U385CGT6, STM32U385CGT6Q, STM32U385CGU6, STM32U385CGU6Q, STM32U385CGY6QTR, STM32U385KGU6, STM32U385RGI6, STM32U385RGI6Q, STM32U385RGT6, STM32U385RGT6Q, STM32U385RGY6GTR, STM32U385RGY6QTR, STM32U385VGI6, STM32U385VGI6Q, STM32U385VGT6, STM32U385VGT6Q, STM32U535CBT6, STM32U535CBT6Q, STM32U535CBU6, STM32U535CBU6Q, STM32U535CCT6, STM32U535CCT6Q, STM32U535CCU6, STM32U535CCU6Q, STM32U535CET6, STM32U535CET6Q, STM32U535CEU6, STM32U535CEU6Q, STM32U535JEY6QTR, STM32U535NCY6QTR, STM32U535NEY6QTR, STM32U535RBI6, STM32U535RBI6Q, STM32U535RBT6, STM32U535RBT6Q, STM32U535RCI6, STM32U535RCI6Q, STM32U535RCT6, STM32U535RCT6Q, STM32U535REI6, STM32U535REI6Q, STM32U535RET6, STM32U535RET6Q, STM32U535VCI6, STM32U535VCI6Q, STM32U535VCT6, STM32U535VCT6Q, STM32U535VEI6, STM32U535VEI6Q, STM32U535VET6, STM32U535VET6Q, STM32U545CET6, STM32U545CET6Q, STM32U545CEU6, STM32U545CEU6Q, STM32U545JEY6QTR, STM32U545NEY6QTR, STM32U545REI6, STM32U545REI6Q, STM32U545RET6, STM32U545RET6Q, STM32U545VEI6, STM32U545VEI6Q, STM32U545VET6, STM32U545VET6Q, STM32U595AIH6, STM32U595AIH6Q, STM32U595AJH6, STM32U595AJH6Q, STM32U595QII6, STM32U595QII6Q, STM32U595QJI6, STM32U595QJI6Q, STM32U595RIT6, STM32U595RIT6Q, STM32U595RJT6, STM32U595RJT6Q, STM32U595VIT6, STM32U595VIT6Q, STM32U595VJT6, STM32U595VJT6Q, STM32U595ZIT6, STM32U595ZIT6Q, STM32U595ZIY6QTR, STM32U595ZJT6, STM32U595ZJT6Q, STM32U595ZJY6QTR, STM32U599BJY6QTR, STM32U599NIH6Q, STM32U599NJH6Q, STM32U599VIT6Q, STM32U599VJT6, STM32U599VJT6Q, STM32U599ZIT6Q, STM32U599ZIY6QTR, STM32U599ZJT6Q, STM32U599ZJY6QTR, STM32U5A5AJH6, STM32U5A5AJH6Q, STM32U5A5QII3Q , STM32U5A5QJI6, STM32U5A5QJI6Q, STM32U5A5RJT6, STM32U5A5RJT6Q, STM32U5A5VJT6, STM32U5A5VJT6Q, STM32U5A5ZJT6, STM32U5A5ZJT6Q, STM32U5A5ZJY6QTR, STM32U5A9BJY6QTR, STM32U5A9J-DK, STM32U5A9NJH6Q, STM32U5A9VJT6Q, STM32U5A9ZJT6Q, STM32U5A9ZJY6QTR, STM32U5F7VIT6, STM32U5F7VIT6Q, STM32U5F7VJT6, STM32U5F7VJT6Q, STM32U5F9BJY6QTR, STM32U5F9NJH6Q, STM32U5F9VIT6Q, STM32U5F9VJT6Q, STM32U5F9ZIJ6QTR, STM32U5F9ZIT6Q, STM32U5F9ZJJ6QTR, STM32U5F9ZJT6Q, STM32U5G7VJT6, STM32U5G7VJT6Q, STM32U5G9BJY6QTR, STM32U5G9J-DK1, STM32U5G9J-DK2, STM32U5G9NJH6Q, STM32U5G9VJT6Q, STM32U5G9ZJJ6QTR, STM32U5G9ZJT6Q, STM32WB05KZV6TR, STM32WB05KZV7TR, STM32WB05TZF6TR, STM32WB05TZF7TR, STM32WB06CCF6TR, STM32WB06CCF7TR, STM32WB06CCV6TR, STM32WB06CCV7TR, STM32WB06KCV6TR, STM32WB06KCV7TR, STM32WB07CCF6TR, STM32WB07CCF7TR, STM32WB07CCV6TR, STM32WB07CCV7TR, STM32WB07KCV6TR, STM32WB07KCV7TR, STM32WB09KEV6TR, STM32WB09KEV7TR, STM32WB09TEF6TR, STM32WB09TEF7TR, STM32WB1MMCH6, STM32WBA50KGU6, STM32WBA50KGU6TR, STM32WBA52CEU6, STM32WBA52CEU6TR, STM32WBA52CEU7, STM32WBA52CEU7TR, STM32WBA52CGU6, STM32WBA52CGU6TR, STM32WBA52CGU6U, STM32WBA52CGU7, STM32WBA52CGU7TR, STM32WBA52KEU6, STM32WBA52KEU6TR, STM32WBA52KGU6, STM32WBA52KGU6TR, STM32WBA54CEU6, STM32WBA54CEU6TR, STM32WBA54CEU7, STM32WBA54CEU7TR, STM32WBA54CGU6, STM32WBA54CGU6TR, STM32WBA54CGU7, STM32WBA54CGU7TR, STM32WBA54KEU6, STM32WBA54KEU6TR, STM32WBA54KEU7, STM32WBA54KEU7TR, STM32WBA54KGU6, STM32WBA54KGU6TR, STM32WBA54KGU7, STM32WBA54KGU7TR, STM32WBA55CEU6, STM32WBA55CEU6TR, STM32WBA55CEU7, STM32WBA55CEU7TR, STM32WBA55CGU6, STM32WBA55CGU6TR, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CGU7TR, STM32WBA55G-DK1, STM32WBA55HEF6, STM32WBA55HEF7, STM32WBA55HGF6, STM32WBA55HGF7, STM32WBA55UEI6, STM32WBA55UEI6TR, STM32WBA55UEI7, STM32WBA55UEI7TR, STM32WBA55UGI6, STM32WBA55UGI6TR, STM32WBA55UGI7, STM32WBA55UGI7TR, STM32WBA5MMGH6TR, STM32WBA62MGF6, STM32WBA62MIF6, STM32WBA65MGF7, STM32WBA65MIF6, STM32WBA65MIF7, STM32WL30K8V6, STM32WL30KBV6, STM32WL31C8V6, STM32WL31CBV6, STM32WL31K8V6, STM32WL31KBV6, STM32WL33C8V6, STM32WL33C8V6X, STM32WL33CBV6, STM32WL33CBV6X, STM32WL33CCV6, STM32WL33CCV6A, STM32WL33CCV6X, STM32WL33K8V7, STM32WL33K8V7X, STM32WL33KBV7 , STM32WL33KBV7X, STM32WL33KCV7, STM32WL33KCV7X, STM32WL5MOCH6, STM32WL5MOCH6TR] +2025-10-01 16:32:06,326 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported +2025-10-01 16:32:06,327 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-10-01 16:32:06,327 [INFO] ApiDb:427 - User favorites MCUs=[] +2025-10-01 16:32:06,327 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs +2025-10-01 16:32:06,830 [INFO] ApiDb:423 - Load user favorites file /home/ja/.stm32cubeide/favorites.boards.txt: 1 item(s) +2025-10-01 16:32:06,830 [INFO] ApiDb:427 - User favorites Boards=[STM32F429I-DISC1] +2025-10-01 16:32:06,830 [INFO] DbBoards:198 - Set 1 / 1 favorites Boards +2025-10-01 16:32:06,883 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 246782504 Bytes (559939584) +2025-10-01 16:32:07,042 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-10-01 16:32:07,043 [INFO] ThirdParty:835 - entering critical section [change project] +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.2 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-10-01 16:32:07,043 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.1.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-10-01 16:32:07,044 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.4.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :RealThread X-CUBE-RT-Thread_Nano 4.1.1 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-10-01 16:32:07,045 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.26.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-STSE01 1.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-10-01 16:32:07,046 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-10-01 16:32:07,047 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-10-01 16:32:07,556 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-10-01 16:32:07,557 [INFO] PinOutPanel:1589 - setPackage(STM32F429ZITx,LQFP144) +2025-10-01 16:32:08,043 [INFO] UtilMem:75 - Before build in PCC Used Memory: 247146320 Bytes (559939584) +2025-10-01 16:32:08,538 [INFO] UtilMem:75 - After build in PCC Used Memory: 349382520 Bytes (559939584) +2025-10-01 16:32:08,617 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-10-01 16:32:08,668 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,668 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,668 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,668 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,668 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,669 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,669 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,669 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,669 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,670 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,670 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,670 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,670 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,670 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,671 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,672 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,672 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,672 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,672 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,672 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,672 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,673 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,673 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,673 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,673 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,673 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,673 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,673 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,674 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,675 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,676 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,676 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,676 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,676 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,677 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,677 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,677 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,678 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,678 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,678 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,679 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-01 16:32:08,685 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-10-01 16:32:08,708 [WARN] FreeRTOS:1023 - Null or empty value: should not occur! (nothing added to the table) +2025-10-01 16:32:08,887 [INFO] CADModel:165 - CPN selected for project levelSTM32F429ZIT6 +2025-10-01 16:32:08,887 [INFO] CADModel:114 - Register for checkConnection events +2025-10-01 16:32:08,892 [INFO] RtosManager:728 - Active RTOS found at IOC load: FREERTOS [Cortex-M4NS] +2025-10-01 16:32:08,932 [INFO] OpenFileManager:386 - Restore cursor +2025-10-01 16:34:09,333 [INFO] Gpio:278 - dependency for GPIO [] +2025-10-01 16:34:15,632 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,2,26,310x280,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] diff --git a/.metadata/.ide.log-2025-10-06.log b/.metadata/.ide.log-2025-10-06.log new file mode 100644 index 0000000..996e706 --- /dev/null +++ b/.metadata/.ide.log-2025-10-06.log @@ -0,0 +1,322 @@ +2025-10-06 14:00:19,647 [INFO] Activator:176 - + + +2025-10-06 14:00:19,650 [INFO] Activator:177 - !SESSION log4j initialized +2025-10-06 14:00:25,791 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-10-06 14:00:27,947 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-06 14:00:27,963 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-06 14:00:27,963 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-06 14:00:27,963 [WARN] ApiDb:259 - Overriding images path with different value: => /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-06 14:00:27,969 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-06 14:00:27,970 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-06 14:00:27,972 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-06 14:00:28,079 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-06 14:00:28,133 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-06 14:00:28,133 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-06 14:00:28,133 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-06 14:00:28,133 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,134 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-06 14:00:28,134 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,134 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-06 14:00:28,134 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,134 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,134 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-06 14:00:28,196 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-10-06 14:00:28,647 [INFO] DbMcusXml:78 - Set database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-10-06 14:00:28,647 [INFO] ApiDb:274 - Set plugin database path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-10-06 14:00:28,648 [INFO] ApiDb:261 - Set plugin images path to: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-10-06 14:00:28,648 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,648 [INFO] ApiDb:250 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-06 14:00:28,648 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,648 [INFO] DbMcusAds:125 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/ +2025-10-06 14:00:28,648 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,648 [WARN] DbFile:41 - Overriding database path with different value: /home/ja/.stmcufinder/plugins/mcufinder/ => /home/ja/.stmcufinder/plugins/mcufinder +2025-10-06 14:00:28,648 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/ja/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-10-06 14:00:28,661 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-06 14:00:28,662 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-10-06 14:00:28,664 [INFO] PluginManage:310 - Check plugin analytics +2025-10-06 14:00:28,987 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: STM32CubeMX.6.15.0 +2025-10-06 14:00:28,987 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-10-06 14:00:28,987 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-10-06 14:00:28,989 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-10-06 14:00:28,989 [INFO] PluginManage:310 - Check plugin cadmodel +2025-10-06 14:00:28,993 [INFO] CADModel:105 - Init CAD model plugin +2025-10-06 14:00:28,993 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-10-06 14:00:28,993 [INFO] PluginManage:310 - Check plugin clock +2025-10-06 14:00:29,000 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-10-06 14:00:29,001 [INFO] PluginManage:310 - Check plugin ddr +2025-10-06 14:00:29,002 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-10-06 14:00:29,002 [INFO] PluginManage:310 - Check plugin filemanager +2025-10-06 14:00:29,128 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-10-06 14:00:29,128 [INFO] PluginManage:310 - Check plugin ipmanager +2025-10-06 14:00:29,132 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-10-06 14:00:29,133 [INFO] PluginManage:310 - Check plugin lpbam +2025-10-06 14:00:29,141 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-10-06 14:00:29,141 [INFO] PluginManage:310 - Check plugin memorymap +2025-10-06 14:00:29,151 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-10-06 14:00:29,151 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-10-06 14:00:29,158 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-10-06 14:00:29,158 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-10-06 14:00:29,233 [WARN] SupportedApi:132 - Cannot load RTOS API schema: s4s-elt-must-match.1: The content of 'definitions' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: attribute. +2025-10-06 14:00:29,343 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-10-06 14:00:29,344 [INFO] PluginManage:310 - Check plugin power +2025-10-06 14:00:29,350 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-10-06 14:00:29,351 [INFO] PluginManage:310 - Check plugin projectmanager +2025-10-06 14:00:29,366 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-10-06 14:00:29,366 [INFO] PluginManage:310 - Check plugin rif +2025-10-06 14:00:29,375 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-10-06 14:00:29,375 [INFO] PluginManage:310 - Check plugin thirdparty +2025-10-06 14:00:29,492 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-10-06 14:00:29,492 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-10-06 14:00:29,492 [INFO] PluginManage:310 - Check plugin tools +2025-10-06 14:00:29,492 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-10-06 14:00:29,493 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-10-06 14:00:29,494 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-10-06 14:00:29,494 [INFO] PluginManage:310 - Check plugin tutovideos +2025-10-06 14:00:29,671 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-10-06 14:00:29,671 [INFO] PluginManage:310 - Check plugin updater +2025-10-06 14:00:29,690 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-10-06 14:00:29,690 [INFO] PluginManage:310 - Check plugin userauth +2025-10-06 14:00:29,694 [INFO] UserAuth:118 - Init User Auth plugin +2025-10-06 14:00:29,694 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-10-06 14:00:29,695 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-10-06 14:00:29,847 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-10-06 14:00:29,903 [INFO] CADModel:165 - CPN selected for project level +2025-10-06 14:00:29,903 [INFO] CADModel:114 - Register for checkConnection events +2025-10-06 14:00:29,912 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,912 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-10-06 14:00:29,916 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,916 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-10-06 14:00:29,917 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,918 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-10-06 14:00:29,919 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,919 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-10-06 14:00:29,921 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,921 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-10-06 14:00:29,922 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,922 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-10-06 14:00:29,925 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,925 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-10-06 14:00:29,927 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,927 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-10-06 14:00:29,929 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,929 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-10-06 14:00:29,931 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,931 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-10-06 14:00:29,933 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,933 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-10-06 14:00:29,935 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,935 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-10-06 14:00:29,936 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,936 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-10-06 14:00:29,937 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,937 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-10-06 14:00:29,940 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,940 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-10-06 14:00:29,941 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,941 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-10-06 14:00:29,943 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,943 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-10-06 14:00:29,949 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,949 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-10-06 14:00:29,952 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,952 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-10-06 14:00:29,957 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,957 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-10-06 14:00:29,961 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,962 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-10-06 14:00:29,964 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,964 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-10-06 14:00:29,966 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,967 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-10-06 14:00:29,968 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,968 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-10-06 14:00:29,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,970 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-10-06 14:00:29,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,971 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-10-06 14:00:29,976 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,978 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-10-06 14:00:29,983 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,983 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-10-06 14:00:29,984 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,984 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-10-06 14:00:29,985 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,985 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-10-06 14:00:29,987 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,987 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-10-06 14:00:29,988 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,988 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-10-06 14:00:29,989 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,989 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-10-06 14:00:29,991 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,991 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-10-06 14:00:29,992 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,992 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-10-06 14:00:29,995 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,995 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-10-06 14:00:29,996 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,996 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-10-06 14:00:29,998 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:29,998 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-10-06 14:00:30,002 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,002 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-10-06 14:00:30,004 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,004 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-10-06 14:00:30,006 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,006 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-10-06 14:00:30,012 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,012 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-10-06 14:00:30,014 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,014 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-10-06 14:00:30,017 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,017 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-10-06 14:00:30,020 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,020 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-10-06 14:00:30,025 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-10-06 14:00:30,025 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-10-06 14:00:30,120 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,162 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-06 14:00:30,173 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-10-06 14:00:30,178 [INFO] CADModel:165 - CPN selected for project level +2025-10-06 14:00:30,178 [INFO] CADModel:114 - Register for checkConnection events +2025-10-06 14:00:30,178 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,179 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-10-06 14:00:30,311 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,312 [INFO] CADModel:165 - CPN selected for project level +2025-10-06 14:00:30,312 [INFO] CADModel:114 - Register for checkConnection events +2025-10-06 14:00:30,312 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,312 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-10-06 14:00:30,315 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,377 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,381 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 03:14:23 CDT 2025 (1751962463524) +2025-10-06 14:00:30,381 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,410 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-10-06 14:00:30,468 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,470 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,470 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,470 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-10-06 14:00:30,470 [FATAL] Updater:351 - Updater called before beeing initialized +2025-10-06 14:00:30,495 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-10-06 14:00:30,497 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-10-06 14:00:30,513 [INFO] ApplicationProperties:184 - Using Application install path: /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-10-06 14:00:31,573 [INFO] MainUpdater:2872 - connection check result : 10 +2025-10-06 14:00:31,573 [INFO] MainUpdater:3604 - Updater definition file requires update +2025-10-06 14:00:31,575 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-10-06 14:00:31,575 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-10-06 14:00:31,586 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-10-06 14:00:31,587 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-10-06 14:00:31,605 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-10-06 14:00:31,892 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-10-06 14:00:31,894 [INFO] ServerAccessManage:509 - Download File updaters.zip +2025-10-06 14:00:32,217 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-10-06 14:00:32,493 [WARN] MainUpdater:1193 - Updater busy. Cannot search thirdparties +2025-10-06 14:00:32,493 [INFO] ThirdPartyUpdaterWithRetryManager:96 - Updater plugin is busy. [1/15] +2025-10-06 14:00:32,531 [INFO] FileExtend:248 - Unzip File : updaters.zip +2025-10-06 14:00:32,531 [INFO] FileExtend:263 - Standard Zip Deflate +2025-10-06 14:00:32,884 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-10-06 14:00:32,884 [INFO] ServerAccessManage:509 - Download File PacksControlFlags.xml +2025-10-06 14:00:32,910 [INFO] WebApp:463 - Apply proxy settings +2025-10-06 14:00:32,910 [INFO] WebApp:548 - Chromium requires no authentication +2025-10-06 14:00:32,919 [INFO] WebApp:491 - Direct internet connection detected +2025-10-06 14:00:32,943 [INFO] WebApp:900 - Register for checkConnection events +2025-10-06 14:00:32,943 [INFO] WebApp:463 - Apply proxy settings +2025-10-06 14:00:32,943 [INFO] WebApp:548 - Chromium requires no authentication +2025-10-06 14:00:32,944 [INFO] WebApp:491 - Direct internet connection detected +2025-10-06 14:00:33,078 [INFO] WebApp:225 - Starting web application +2025-10-06 14:00:33,078 [INFO] WebApp:593 - Web application path used /home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-10-06 14:00:33,148 [INFO] ServerAccessManage:452 - Complete download http(s) 200 +2025-10-06 14:00:33,148 [INFO] ServerAccessManage:509 - Download File cubemx.pidx +2025-10-06 14:00:33,166 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-10-06 14:00:33,260 [INFO] LoadServerUpdatesThread:375 - End of LoadServerUpdate Thread +2025-10-06 14:00:33,416 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-10-06 14:00:33,845 [INFO] WebApp:191 - Connection restablished +2025-10-06 14:00:35,640 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-10-06 14:00:35,648 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-10-06 14:00:35,657 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-10-06 14:00:35,662 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-10-06 14:00:35,705 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-10-06 14:00:35,723 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.4.0 +2025-10-06 14:00:35,763 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-10-06 14:00:35,808 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-10-06 14:00:35,823 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-10-06 14:00:35,839 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-10-06 14:00:35,846 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-10-06 14:00:35,856 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-10-06 14:00:35,864 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-10-06 14:00:35,869 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-10-06 14:00:35,881 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-06 14:00:35,881 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-06 14:00:35,882 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-06 14:00:35,882 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-06 14:00:35,882 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-10-06 14:00:35,888 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-10-06 14:00:35,894 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-10-06 14:00:35,902 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-10-06 14:00:35,910 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-10-06 14:00:35,917 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.2 +2025-10-06 14:00:35,922 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-10-06 14:00:35,926 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-10-06 14:00:35,932 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-10-06 14:00:35,956 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-10-06 14:00:35,966 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-10-06 14:00:35,972 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-10-06 14:00:35,983 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-10-06 14:00:35,990 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-10-06 14:00:35,994 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-10-06 14:00:36,000 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-10-06 14:00:36,006 [WARN] PackLoader:240 - Cannot read IP mode file for RealThread.X-CUBE-RT-Thread_Nano.4.1.1 +2025-10-06 14:00:36,010 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-10-06 14:00:36,015 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-10-06 14:00:36,021 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-10-06 14:00:36,025 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-10-06 14:00:36,062 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-10-06 14:00:36,123 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-10-06 14:00:36,191 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-10-06 14:00:36,322 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-10-06 14:00:36,334 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-10-06 14:00:36,338 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-10-06 14:00:36,341 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-10-06 14:00:36,348 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-10-06 14:00:36,367 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-10-06 14:00:36,378 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-10-06 14:00:36,385 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-10-06 14:00:36,389 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.26.0 +2025-10-06 14:00:36,394 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-10-06 14:00:36,398 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-10-06 14:00:36,418 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-06 14:00:36,419 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-10-06 14:00:36,421 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-06 14:00:36,421 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-06 14:00:36,422 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-10-06 14:00:36,429 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-10-06 14:00:36,441 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-10-06 14:00:36,457 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-06 14:00:36,458 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-06 14:00:36,460 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-10-06 14:00:36,461 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-06 14:00:36,461 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-06 14:00:36,462 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-06 14:00:36,462 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-06 14:00:36,462 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-10-06 14:00:36,467 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-10-06 14:00:36,471 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-10-06 14:00:36,473 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-10-06 14:00:36,482 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-06 14:00:36,482 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-06 14:00:36,482 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-10-06 14:00:36,493 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-10-06 14:00:36,519 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-10-06 14:00:36,524 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-10-06 14:00:36,537 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-10-06 14:00:36,541 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-10-06 14:00:36,544 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-10-06 14:00:36,558 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-10-06 14:00:36,580 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-10-06 14:00:36,584 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-STSE01.1.0.0 +2025-10-06 14:00:36,588 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-10-06 14:00:36,595 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-10-06 14:00:36,602 [INFO] ThirdParty:978 - Integrity check success = true +2025-10-06 14:00:36,603 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-10-06 14:00:36,603 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-10-06 16:14:50,904 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] diff --git a/.metadata/.log b/.metadata/.log index c62c9eb..bea58a8 100644 --- a/.metadata/.log +++ b/.metadata/.log @@ -529,3 +529,364 @@ Command-line arguments: -os linux -ws gtk -arch x86_64 !ENTRY org.eclipse.cdt.core 1 0 2025-09-22 14:30:06.505 !MESSAGE Indexed 'TrafficLightsPlusPlus' (58 sources, 125 headers) in 4.39 sec: 12,712 declarations; 87,377 references; 0 unresolved inclusions; 1 syntax errors; 2 unresolved names (0.002%) +!SESSION 2025-09-29 14:05:26.003 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-09-29 14:05:33.441 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-09-29 14:05:33.442 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-09-29 14:05:40.190 +!MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2025-09-29 14:20:57.093 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-09-29 14:21:08.082 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-09-29 14:21:08.083 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-09-29 14:21:15.394 +!MESSAGE Started RMI Server, listening on port 41337 + +!ENTRY org.eclipse.cdt.core 4 0 2025-09-29 17:50:26.302 +!MESSAGE Error: Cannot run program "bear -- make": Unknown reason +!STACK 0 +java.io.IOException: Cannot run program "bear -- make": Unknown reason + at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:450) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:147) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:134) + at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:273) + at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:366) + at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:189) + at org.eclipse.cdt.core.CommandLauncherManager$CommandLauncherWrapper.execute(CommandLauncherManager.java:146) + at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:274) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:140) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:73) + at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:81) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:783) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:530) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:471) + at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1077) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352) + at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503) + at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585) + at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:595) + at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:491) + at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:288) + at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) +!SESSION 2025-09-29 17:53:33.055 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-09-29 17:53:41.312 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-09-29 17:53:41.313 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-09-29 17:53:50.780 +!MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2025-09-29 19:26:27.227 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-09-29 19:26:34.184 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-09-29 19:26:34.185 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-09-29 19:26:41.574 +!MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2025-09-30 16:10:32.335 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-09-30 16:10:40.407 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-09-30 16:10:40.408 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-09-30 16:10:48.370 +!MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2025-10-01 14:12:17.472 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-10-01 14:12:28.447 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-10-01 14:12:28.448 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-10-01 14:12:56.294 +!MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2025-10-06 14:00:12.368 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY org.eclipse.core.resources 2 10035 2025-10-06 14:00:16.176 +!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-10-06 14:00:19.104 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-10-06 14:00:19.104 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-10-06 14:00:27.811 +!MESSAGE Started RMI Server, listening on port 41337 + +!ENTRY org.eclipse.cdt.core 4 0 2025-10-06 14:22:03.962 +!MESSAGE Error: Cannot run program "bear -- make": Unknown reason +!STACK 0 +java.io.IOException: Cannot run program "bear -- make": Unknown reason + at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:450) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:147) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:134) + at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:273) + at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:366) + at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:189) + at org.eclipse.cdt.core.CommandLauncherManager$CommandLauncherWrapper.execute(CommandLauncherManager.java:146) + at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:274) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:140) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:73) + at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:81) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:783) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:530) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:471) + at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1077) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352) + at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503) + at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585) + at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:595) + at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:491) + at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:288) + at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.cdt.core 4 0 2025-10-06 14:32:48.179 +!MESSAGE Error: Cannot run program "bear --": Unknown reason +!STACK 0 +java.io.IOException: Cannot run program "bear --": Unknown reason + at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:450) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:147) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:134) + at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:273) + at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:366) + at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:189) + at org.eclipse.cdt.core.CommandLauncherManager$CommandLauncherWrapper.execute(CommandLauncherManager.java:146) + at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:274) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:140) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:73) + at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:81) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:783) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:530) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:471) + at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1077) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352) + at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503) + at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585) + at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:595) + at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:491) + at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:288) + at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.cdt.core 4 0 2025-10-06 14:34:03.172 +!MESSAGE Error: Cannot run program "bear -- make": Unknown reason +!STACK 0 +java.io.IOException: Cannot run program "bear -- make": Unknown reason + at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:450) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:147) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:134) + at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:273) + at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:366) + at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:189) + at org.eclipse.cdt.core.CommandLauncherManager$CommandLauncherWrapper.execute(CommandLauncherManager.java:146) + at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:274) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:140) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:73) + at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:81) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:783) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:530) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:471) + at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1077) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352) + at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503) + at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585) + at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:595) + at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:491) + at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:288) + at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.cdt.core 4 0 2025-10-06 14:35:29.559 +!MESSAGE Error: Cannot run program "bear make": Unknown reason +!STACK 0 +java.io.IOException: Cannot run program "bear make": Unknown reason + at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:450) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:147) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:134) + at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:273) + at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:366) + at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:189) + at org.eclipse.cdt.core.CommandLauncherManager$CommandLauncherWrapper.execute(CommandLauncherManager.java:146) + at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:274) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:140) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:73) + at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:81) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:783) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:530) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:471) + at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1077) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352) + at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503) + at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585) + at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:595) + at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:491) + at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:288) + at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.cdt.core 4 0 2025-10-06 14:41:30.597 +!MESSAGE Error: Cannot run program "/usr/bin/bear -- make": Unknown reason +!STACK 0 +java.io.IOException: Cannot run program "/usr/bin/bear -- make": Unknown reason + at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:450) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:147) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:134) + at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:273) + at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:366) + at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:189) + at org.eclipse.cdt.core.CommandLauncherManager$CommandLauncherWrapper.execute(CommandLauncherManager.java:146) + at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:274) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:140) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:73) + at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:81) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:783) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:530) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:471) + at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1077) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352) + at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503) + at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585) + at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:595) + at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:491) + at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:288) + at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.cdt.core 4 0 2025-10-06 14:42:46.335 +!MESSAGE Error: Cannot run program "bear -- make -j8 all": Unknown reason +!STACK 0 +java.io.IOException: Cannot run program "bear -- make -j8 all": Unknown reason + at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:450) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:147) + at org.eclipse.cdt.utils.spawner.Spawner.(Spawner.java:134) + at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:273) + at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:366) + at org.eclipse.cdt.core.CommandLauncher.execute(CommandLauncher.java:189) + at org.eclipse.cdt.core.CommandLauncherManager$CommandLauncherWrapper.execute(CommandLauncherManager.java:146) + at org.eclipse.cdt.internal.core.BuildRunnerHelper.build(BuildRunnerHelper.java:274) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:140) + at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:73) + at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:81) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:783) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:530) + at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:471) + at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1077) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:352) + at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:441) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:444) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:555) + at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:503) + at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:585) + at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:595) + at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:491) + at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:288) + at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) +!SESSION 2025-10-13 14:21:35.248 ----------------------------------------------- +eclipse.buildId=Version 1.19.0 +java.version=21.0.3 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-10-13 14:21:52.837 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-10-13 14:21:52.838 +!MESSAGE Log4j2 initialized with config file /home/ja/st/Home/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-10-13 14:21:59.450 +!MESSAGE Started RMI Server, listening on port 41337 diff --git a/.metadata/.plugins/org.eclipse.cdt.core/.log b/.metadata/.plugins/org.eclipse.cdt.core/.log index b7dead4..165dc1d 100644 --- a/.metadata/.plugins/org.eclipse.cdt.core/.log +++ b/.metadata/.plugins/org.eclipse.cdt.core/.log @@ -17,3 +17,10 @@ *** SESSION Sep 20, 2025 22:34:37.42 ------------------------------------------- *** SESSION Sep 22, 2025 14:12:24.952 ------------------------------------------ *** SESSION Sep 22, 2025 14:25:48.576 ------------------------------------------ +*** SESSION Sep 29, 2025 14:05:32.147 ------------------------------------------ +*** SESSION Sep 29, 2025 14:21:06.486 ------------------------------------------ +*** SESSION Sep 29, 2025 17:53:39.168 ------------------------------------------ +*** SESSION Sep 29, 2025 19:26:32.917 ------------------------------------------ +*** SESSION Sep 30, 2025 16:10:38.815 ------------------------------------------ +*** SESSION Oct 06, 2025 14:00:17.912 ------------------------------------------ +*** SESSION Oct 13, 2025 14:21:51.496 ------------------------------------------ diff --git a/.metadata/.plugins/org.eclipse.cdt.core/TrafficLightsPlusPlus.1758569400646.pdom b/.metadata/.plugins/org.eclipse.cdt.core/TrafficLightsPlusPlus.1758569400646.pdom index a0609cd..d12e199 100644 Binary files a/.metadata/.plugins/org.eclipse.cdt.core/TrafficLightsPlusPlus.1758569400646.pdom and b/.metadata/.plugins/org.eclipse.cdt.core/TrafficLightsPlusPlus.1758569400646.pdom differ diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlus.build.log b/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlus.build.log index a5620eb..b4b028b 100644 --- a/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlus.build.log +++ b/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlus.build.log @@ -1,18 +1,10 @@ -01:20:42 **** Incremental Build of configuration Debug for project TrafficLightsPlus **** +17:50:44 **** Incremental Build of configuration Debug for project TrafficLightsPlus **** make -j8 all -arm-none-eabi-gcc "../Core/Src/breadboard.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F429xx -c -I../Core/Inc -I../USB_HOST/App -I../USB_HOST/Target -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/breadboard.d" -MT"Core/Src/breadboard.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/breadboard.o" -arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F429xx -c -I../Core/Inc -I../USB_HOST/App -I../USB_HOST/Target -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" -arm-none-eabi-gcc -o "TrafficLightsPlus.elf" @"objects.list" -mcpu=cortex-m4 -T"/home/ja/st/Home/TrafficLightsPlus/STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="TrafficLightsPlus.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group -Finished building target: TrafficLightsPlus.elf - arm-none-eabi-size TrafficLightsPlus.elf -arm-none-eabi-objdump -h -S TrafficLightsPlus.elf > "TrafficLightsPlus.list" text data bss dec hex filename 32656 16 3496 36168 8d48 TrafficLightsPlus.elf Finished building: default.size.stdout -Finished building: TrafficLightsPlus.list - -01:20:42 Build Finished. 0 errors, 0 warnings. (took 593ms) +17:50:44 Build Finished. 0 errors, 0 warnings. (took 132ms) diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlusPlus.build.log b/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlusPlus.build.log new file mode 100644 index 0000000..c030526 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlusPlus.build.log @@ -0,0 +1,11 @@ +14:52:33 **** Incremental Build of configuration Debug for project TrafficLightsPlusPlus **** +make -j8 all +arm-none-eabi-g++ -o "TrafficLightsPlusPlus.elf" @"objects.list" -mcpu=cortex-m4 -T"/home/ja/st/Home/TrafficLightsPlusPlus/STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="TrafficLightsPlusPlus.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group +/home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.linux64_1.0.0.202410170706/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: ./Core/Src/stm32f4xx_it.o: in function `DMA2D_IRQHandler': +/home/ja/st/Home/TrafficLightsPlusPlus/Debug/../Core/Src/stm32f4xx_it.c:203:(.text.DMA2D_IRQHandler+0x10): undefined reference to `hdma2d' +collect2: error: ld returned 1 exit status +make: *** [makefile:92: TrafficLightsPlusPlus.elf] Error 1 +"make -j8 all" terminated with exit code 2. Build might be incomplete. + +14:52:33 Build Failed. 2 errors, 0 warnings. (took 171ms) + diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log b/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log index 76bf488..e2354e9 100644 --- a/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log +++ b/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log @@ -1,15 +1,8 @@ -01:20:42 **** Incremental Build of configuration Debug for project TrafficLightsPlus **** +14:52:33 **** Incremental Build of configuration Debug for project TrafficLightsPlusPlus **** make -j8 all -arm-none-eabi-gcc "../Core/Src/breadboard.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F429xx -c -I../Core/Inc -I../USB_HOST/App -I../USB_HOST/Target -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/breadboard.d" -MT"Core/Src/breadboard.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/breadboard.o" -arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F429xx -c -I../Core/Inc -I../USB_HOST/App -I../USB_HOST/Target -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o" -arm-none-eabi-gcc -o "TrafficLightsPlus.elf" @"objects.list" -mcpu=cortex-m4 -T"/home/ja/st/Home/TrafficLightsPlus/STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="TrafficLightsPlus.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group -Finished building target: TrafficLightsPlus.elf - -arm-none-eabi-size TrafficLightsPlus.elf -arm-none-eabi-objdump -h -S TrafficLightsPlus.elf > "TrafficLightsPlus.list" - text data bss dec hex filename - 32656 16 3496 36168 8d48 TrafficLightsPlus.elf -Finished building: default.size.stdout - -Finished building: TrafficLightsPlus.list - +arm-none-eabi-g++ -o "TrafficLightsPlusPlus.elf" @"objects.list" -mcpu=cortex-m4 -T"/home/ja/st/Home/TrafficLightsPlusPlus/STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="TrafficLightsPlusPlus.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group +/home/ja/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.linux64_1.0.0.202410170706/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: ./Core/Src/stm32f4xx_it.o: in function `DMA2D_IRQHandler': +/home/ja/st/Home/TrafficLightsPlusPlus/Debug/../Core/Src/stm32f4xx_it.c:203:(.text.DMA2D_IRQHandler+0x10): undefined reference to `hdma2d' +collect2: error: ld returned 1 exit status +make: *** [makefile:92: TrafficLightsPlusPlus.elf] Error 1 +"make -j8 all" terminated with exit code 2. Build might be incomplete. diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/0/2055ea26af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/0/2055ea26af9600101605f36318c5a03f deleted file mode 100644 index 634aaca..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/0/2055ea26af9600101605f36318c5a03f +++ /dev/null @@ -1,95 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1/b00c57006aa80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/1/b00c57006aa80010153fd89ba5384631 new file mode 100644 index 0000000..00d12a3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1/b00c57006aa80010153fd89ba5384631 @@ -0,0 +1,310 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedstrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/10/a0de2e24af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/10/a0de2e24af9600101605f36318c5a03f deleted file mode 100644 index a4b2b3a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/10/a0de2e24af9600101605f36318c5a03f +++ /dev/null @@ -1,95 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/11/000cc83f6aa80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/11/000cc83f6aa80010153fd89ba5384631 new file mode 100644 index 0000000..ef4dbe7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/11/000cc83f6aa80010153fd89ba5384631 @@ -0,0 +1,311 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedstrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/11/30372612a59600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/11/30372612a59600101605f36318c5a03f deleted file mode 100644 index 7674c5e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/11/30372612a59600101605f36318c5a03f +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.h - * - * Created on: Sep 20, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - -void trafflight(int); - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/13/d01a6f4faf9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/13/d01a6f4faf9600101605f36318c5a03f deleted file mode 100644 index ddb1214..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/13/d01a6f4faf9600101605f36318c5a03f +++ /dev/null @@ -1,95 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/14/a010b688ea9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/14/a010b688ea9700101fd9ff769d0aef2b deleted file mode 100644 index 0b40d64..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/14/a010b688ea9700101fd9ff769d0aef2b +++ /dev/null @@ -1,2 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=76D5CABA7E36F5DD0D38ED323FA426B4 -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/16/d0c9bb40ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/16/d0c9bb40ae9600101605f36318c5a03f deleted file mode 100644 index 99d589b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/16/d0c9bb40ae9600101605f36318c5a03f +++ /dev/null @@ -1,85 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 0: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/18/10d57df6a49600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/18/10d57df6a49600101605f36318c5a03f deleted file mode 100644 index 0a34a6b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/18/10d57df6a49600101605f36318c5a03f +++ /dev/null @@ -1,731 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(333); - walksig(1000); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/00346ae2019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/00346ae2019f0010137c8db58b20398a new file mode 100644 index 0000000..5d750d2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/00346ae2019f0010137c8db58b20398a @@ -0,0 +1,536 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } else + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_Pin_RESET); + if (elapased >= DURATION_RED_PED) + { + currentStateTime = now; + } + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/904321aaef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/904321aaef9700101fd9ff769d0aef2b deleted file mode 100644 index bf6d416..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/904321aaef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,9 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboad.hpp" - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/d06349456ba80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/d06349456ba80010153fd89ba5384631 new file mode 100644 index 0000000..ffeaedc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/d06349456ba80010153fd89ba5384631 @@ -0,0 +1,313 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/f02274df6ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/f02274df6ca80010153fd89ba5384631 new file mode 100644 index 0000000..f807060 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/f02274df6ca80010153fd89ba5384631 @@ -0,0 +1,324 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/20e775f0ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/20e775f0ae9600101605f36318c5a03f deleted file mode 100644 index 080c062..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/20e775f0ae9600101605f36318c5a03f +++ /dev/null @@ -1,98 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/c0a99ab46aa80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/c0a99ab46aa80010153fd89ba5384631 new file mode 100644 index 0000000..1cccf5c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/c0a99ab46aa80010153fd89ba5384631 @@ -0,0 +1,314 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2/b0159e83ff9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/2/b0159e83ff9e0010137c8db58b20398a new file mode 100644 index 0000000..6938e29 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2/b0159e83ff9e0010137c8db58b20398a @@ -0,0 +1,516 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE + } + break; + + case TrafficState::RED: + // + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/21/e0e61637e8970010125ca9aaa0d733fc b/.metadata/.plugins/org.eclipse.core.resources/.history/21/e0e61637e8970010125ca9aaa0d733fc deleted file mode 100644 index 639fc77..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/21/e0e61637e8970010125ca9aaa0d733fc +++ /dev/null @@ -1,88 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_index = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); - walktick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_index) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - - case 0: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - } - - trafflight_index = (trafflight_index + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/24/10afa69def9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/24/10afa69def9700101fd9ff769d0aef2b deleted file mode 100644 index 250f4b9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/24/10afa69def9700101fd9ff769d0aef2b +++ /dev/null @@ -1,10 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/24/707b75faac9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/24/707b75faac9600101605f36318c5a03f deleted file mode 100644 index be35d2d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/24/707b75faac9600101605f36318c5a03f +++ /dev/null @@ -1,87 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - redlight_last = HAL_GetTick(); - ylwlight_last = HAL_GetTick(); - grnlight_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - redlight_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - ylwlight_last) >= ldelay2) { - ylwlight_last = trafftick_curr; - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - grnlight_last) >= ldelay3) { - grnlight_last = trafftick_curr; - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/26/e01c570b769200101794e455cb82d570 b/.metadata/.plugins/org.eclipse.core.resources/.history/26/e01c570b769200101794e455cb82d570 deleted file mode 100644 index 7cb5e91..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/26/e01c570b769200101794e455cb82d570 +++ /dev/null @@ -1,32 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 12, 2025 - * Author: ja - */ - -#include -#include "main.h" - -void -breadboard(int DELAY_MS) -{ - bool Purple = (HAL_GPIO_ReadPin(BTN_PRPL_GPIO_Port, BTN_PRPL_Pin) == GPIO_PIN_SET); // PD5 - bool Grey = (HAL_GPIO_ReadPin(BTN_GREY_GPIO_Port, BTN_GREY_Pin) == GPIO_PIN_SET); // PD7 - - if (Purple && Grey) { // inverted for ease of debug, assignment calls for (Purple && Grey) - HAL_GPIO_WritePin(LED_EXT_GPIO_Port, LED_EXT_Pin, GPIO_PIN_SET); // PB4 - } else { - HAL_GPIO_WritePin(LED_EXT_GPIO_Port, LED_EXT_Pin, GPIO_PIN_RESET); // PB4 - } - - HAL_Delay(DELAY_MS); // milliseconds of delay after execution - - /* - // Always flash: - HAL_GPIO_WritePin(GPIOB, LED_EXT_Pin, GPIO_PIN_SET); // PB4 ON - HAL_Delay(DELAY_MS); - HAL_GPIO_WritePin(GPIOB, LED_EXT_Pin, GPIO_PIN_RESET); // PB4 OFF - HAL_Delay(DELAY_MS); - */ -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/27/d0b3bcefaf9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/27/d0b3bcefaf9600101605f36318c5a03f deleted file mode 100644 index 2e60fba..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/27/d0b3bcefaf9600101605f36318c5a03f +++ /dev/null @@ -1,95 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/28/00e887a3fc9300101105d73469834d19 b/.metadata/.plugins/org.eclipse.core.resources/.history/28/00e887a3fc9300101105d73469834d19 deleted file mode 100644 index 0674429..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/28/00e887a3fc9300101105d73469834d19 +++ /dev/null @@ -1,3 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=76D5CABA7E36F5DD0D38ED323FA426B4 -DC22A860405A8BF2F2C095E5B6529F12=BB3BD6F58A87E81DE6E549B37335B23A -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/28/60df89739e9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/28/60df89739e9600101605f36318c5a03f deleted file mode 100644 index bf4d781..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/28/60df89739e9600101605f36318c5a03f +++ /dev/null @@ -1,731 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(333); - walksig(1000) - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/28/f08ed78fae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/28/f08ed78fae9600101605f36318c5a03f deleted file mode 100644 index 53995f0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/28/f08ed78fae9600101605f36318c5a03f +++ /dev/null @@ -1,92 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1007ef6feb9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1007ef6feb9700101fd9ff769d0aef2b deleted file mode 100644 index dbb99f1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1007ef6feb9700101fd9ff769d0aef2b +++ /dev/null @@ -1,4 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=76D5CABA7E36F5DD0D38ED323FA426B4 -66BE74F758C12D739921AEA421D593D3=0 -DC22A860405A8BF2F2C095E5B6529F12=BB3BD6F58A87E81DE6E549B37335B23A -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/2052be29ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/2052be29ae9600101605f36318c5a03f deleted file mode 100644 index c3a04f4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/2052be29ae9600101605f36318c5a03f +++ /dev/null @@ -1,82 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50c89b5bad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50c89b5bad9600101605f36318c5a03f deleted file mode 100644 index ba3d973..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50c89b5bad9600101605f36318c5a03f +++ /dev/null @@ -1,69 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3/d05e6c94fd9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/3/d05e6c94fd9e0010137c8db58b20398a new file mode 100644 index 0000000..bf26aaf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3/d05e6c94fd9e0010137c8db58b20398a @@ -0,0 +1,499 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (buttonPressedThisCycle) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + } + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/30/40e90d79f29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/30/40e90d79f29700101fd9ff769d0aef2b deleted file mode 100644 index 399c834..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/30/40e90d79f29700101fd9ff769d0aef2b +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void SetTrafficLights(TrafficState s) -{ - HAL_GPIO_WritePin(LED_Port, -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/31/50dac48ffe9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/31/50dac48ffe9e0010137c8db58b20398a new file mode 100644 index 0000000..3ac45ec --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/31/50dac48ffe9e0010137c8db58b20398a @@ -0,0 +1,499 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + } + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/38/30af6cc7ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/38/30af6cc7ae9600101605f36318c5a03f deleted file mode 100644 index 683cab9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/38/30af6cc7ae9600101605f36318c5a03f +++ /dev/null @@ -1,97 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/39/2064420df29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/39/2064420df29700101fd9ff769d0aef2b deleted file mode 100644 index 154a7ac..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/39/2064420df29700101fd9ff769d0aef2b +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void breadboard(void) -{ - return; -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3a/60863702ac9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/3a/60863702ac9600101605f36318c5a03f deleted file mode 100644 index ae1a96f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3a/60863702ac9600101605f36318c5a03f +++ /dev/null @@ -1,85 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - redlight_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - ylwlight_last) >= ldelay2) { - ylwlight_last = trafftick_curr; - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - trafftick_last) >= ldelay3) { - grnlight_last = trafftick_curr; - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3c/20397f836da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/20397f836da80010153fd89ba5384631 new file mode 100644 index 0000000..54f759e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/20397f836da80010153fd89ba5384631 @@ -0,0 +1,334 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/003eff459e9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/003eff459e9600101605f36318c5a03f deleted file mode 100644 index d538725..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/003eff459e9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - breadboard(333); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/b0d7504e019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/3e/b0d7504e019f0010137c8db58b20398a new file mode 100644 index 0000000..7ec26d0 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3e/b0d7504e019f0010137c8db58b20398a @@ -0,0 +1,525 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + } + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/805b7f41ff9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/805b7f41ff9e0010137c8db58b20398a new file mode 100644 index 0000000..edcc6d9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/805b7f41ff9e0010137c8db58b20398a @@ -0,0 +1,513 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + // + } + break; + + case TrafficState::RED: + // + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4/20788a71fd9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/4/20788a71fd9e0010137c8db58b20398a new file mode 100644 index 0000000..ca33f83 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/4/20788a71fd9e0010137c8db58b20398a @@ -0,0 +1,480 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/43/30f91ec5af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/43/30f91ec5af9600101605f36318c5a03f deleted file mode 100644 index 38387e8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/43/30f91ec5af9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(2000, 10*1000); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/47/80da2abfef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/47/80da2abfef9700101fd9ff769d0aef2b deleted file mode 100644 index b1c1397..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/47/80da2abfef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,10 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/80acf844e8970010125ca9aaa0d733fc b/.metadata/.plugins/org.eclipse.core.resources/.history/4b/80acf844e8970010125ca9aaa0d733fc deleted file mode 100644 index 44edcb8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/80acf844e8970010125ca9aaa0d733fc +++ /dev/null @@ -1,90 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_index = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); - walktick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_index) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - - case 0: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - - } - - trafflight_index = (trafflight_index + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/90c0f519ad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/4b/90c0f519ad9600101605f36318c5a03f deleted file mode 100644 index 80d1190..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/90c0f519ad9600101605f36318c5a03f +++ /dev/null @@ -1,71 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - redlight_last = HAL_GetTick(); - ylwlight_last = HAL_GetTick(); - grnlight_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4d/90eb84bd6aa80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/4d/90eb84bd6aa80010153fd89ba5384631 new file mode 100644 index 0000000..ed816ad --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/4d/90eb84bd6aa80010153fd89ba5384631 @@ -0,0 +1,314 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + //buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4e/f00d65b6ad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/4e/f00d65b6ad9600101605f36318c5a03f deleted file mode 100644 index e925800..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4e/f00d65b6ad9600101605f36318c5a03f +++ /dev/null @@ -1,72 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4f/0077d120769200101794e455cb82d570 b/.metadata/.plugins/org.eclipse.core.resources/.history/4f/0077d120769200101794e455cb82d570 deleted file mode 100644 index be8c3fd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4f/0077d120769200101794e455cb82d570 +++ /dev/null @@ -1,32 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 12, 2025 - * Author: ja - */ - -#include -#include "main.h" - -void -breadboard(int DELAY_MS) -{ - bool Purple = (HAL_GPIO_ReadPin(BTN_PRPL_GPIO_Port, BTN_PRPL_Pin) == GPIO_PIN_SET); // PD5 - bool Grey = (HAL_GPIO_ReadPin(BTN_GREY_GPIO_Port, BTN_GREY_Pin) == GPIO_PIN_SET); // PD7 - - if (Purple || Grey) { // inverted for ease of debug, assignment calls for (Purple && Grey) - HAL_GPIO_WritePin(LED_EXT_GPIO_Port, LED_EXT_Pin, GPIO_PIN_SET); // PB4 - } else { - HAL_GPIO_WritePin(LED_EXT_GPIO_Port, LED_EXT_Pin, GPIO_PIN_RESET); // PB4 - } - - HAL_Delay(DELAY_MS); // milliseconds of delay after execution - - /* - // Always flash: - HAL_GPIO_WritePin(GPIOB, LED_EXT_Pin, GPIO_PIN_SET); // PB4 ON - HAL_Delay(DELAY_MS); - HAL_GPIO_WritePin(GPIOB, LED_EXT_Pin, GPIO_PIN_RESET); // PB4 OFF - HAL_Delay(DELAY_MS); - */ -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5/10b98bf46ba80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/5/10b98bf46ba80010153fd89ba5384631 new file mode 100644 index 0000000..7f95e76 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5/10b98bf46ba80010153fd89ba5384631 @@ -0,0 +1,322 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port); + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5/200721b5ab9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/5/200721b5ab9600101605f36318c5a03f deleted file mode 100644 index 530e25f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5/200721b5ab9600101605f36318c5a03f +++ /dev/null @@ -1,83 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - trafftick_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - trafftick_last) >= ldelay2) { - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - trafftick_last) >= ldelay3) { - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/f05b6b53f29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/53/f05b6b53f29700101fd9ff769d0aef2b deleted file mode 100644 index 2eea13f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/53/f05b6b53f29700101fd9ff769d0aef2b +++ /dev/null @@ -1,82 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.h - * @brief : Header for main.c file. - * This file contains the common defines of the application. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f4xx_hal.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void Error_Handler(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -/* Private defines -----------------------------------------------------------*/ -#define PedButton_Pin GPIO_PIN_14 -#define PedButton_GPIO_Port GPIOA -#define PedButton_EXTI_IRQn EXTI15_10_IRQn -#define White_Pin GPIO_PIN_1 -#define White_GPIO_Port GPIOD -#define Red_Pin GPIO_PIN_3 -#define Red_GPIO_Port GPIOD -#define Yellow_Pin GPIO_PIN_5 -#define Yellow_GPIO_Port GPIOD -#define Green_Pin GPIO_PIN_7 -#define Green_GPIO_Port GPIOD - -/* USER CODE BEGIN Private defines */ - -#define Traffic_GPIO_Port GPIOD - -/* USER CODE END Private defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/54/109966649e9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/54/109966649e9600101605f36318c5a03f deleted file mode 100644 index 7674c5e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/54/109966649e9600101605f36318c5a03f +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.h - * - * Created on: Sep 20, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - -void trafflight(int); - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/56/90558020af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/56/90558020af9600101605f36318c5a03f deleted file mode 100644 index f51383a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/56/90558020af9600101605f36318c5a03f +++ /dev/null @@ -1,95 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/40888a666aa80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/5c/40888a666aa80010153fd89ba5384631 new file mode 100644 index 0000000..f320f1d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5c/40888a666aa80010153fd89ba5384631 @@ -0,0 +1,311 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/708bc2d0ab9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/708bc2d0ab9600101605f36318c5a03f deleted file mode 100644 index fe5cee9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/708bc2d0ab9600101605f36318c5a03f +++ /dev/null @@ -1,84 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - redlight_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - grnlight_last) >= ldelay2) { - grnlight_last = trafftick_curr; - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - trafftick_last) >= ldelay3) { - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/10730258ff9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/6/10730258ff9e0010137c8db58b20398a new file mode 100644 index 0000000..36b4b80 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6/10730258ff9e0010137c8db58b20398a @@ -0,0 +1,514 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + } + break; + + case TrafficState::RED: + // + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/702ef369f29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/6/702ef369f29700101fd9ff769d0aef2b deleted file mode 100644 index bc12c13..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6/702ef369f29700101fd9ff769d0aef2b +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void SetTrafficLights(TrafficState s) -{ - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/62/b0def2d3f995001014a1b349f7adbbd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/62/b0def2d3f995001014a1b349f7adbbd1 deleted file mode 100644 index 4a87b48..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/62/b0def2d3f995001014a1b349f7adbbd1 +++ /dev/null @@ -1,729 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - breadboard(333); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/20e57f9a6da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/63/20e57f9a6da80010153fd89ba5384631 new file mode 100644 index 0000000..e2a71da --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/63/20e57f9a6da80010153fd89ba5384631 @@ -0,0 +1,342 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +/* +extern "C" void EXTI15_10_IRQHandler() +{ + HAL_GPIO_EXTI_IRQHandler(PedButton_Pin); +} +*/ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/80047dfead9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/63/80047dfead9600101605f36318c5a03f deleted file mode 100644 index e534eb9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/63/80047dfead9600101605f36318c5a03f +++ /dev/null @@ -1,74 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(); - switch (trafflight_i) { - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/904a0c0cf19700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/64/004c1e8ffc9e0010137c8db58b20398a similarity index 84% rename from .metadata/.plugins/org.eclipse.core.resources/.history/5c/904a0c0cf19700101fd9ff769d0aef2b rename to .metadata/.plugins/org.eclipse.core.resources/.history/64/004c1e8ffc9e0010137c8db58b20398a index 57b8e4e..65e75bc 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/904a0c0cf19700101fd9ff769d0aef2b +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/64/004c1e8ffc9e0010137c8db58b20398a @@ -17,13 +17,13 @@ */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ -#include #include "main.h" #include "cmsis_os.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ - +#include "breadboard.h" +#include /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -61,13 +61,31 @@ static void MX_DMA2D_Init(void); static void MX_TIM1_Init(void); void StartDefaultTask(void const * argument); +void SetTrafficLights(TrafficSate s); + /* USER CODE BEGIN PFP */ /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ + /* USER CODE BEGIN 0 */ +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; + /* USER CODE END 0 */ /** @@ -124,8 +142,8 @@ int main(void) /* Create the thread(s) */ /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); /* USER CODE BEGIN RTOS_THREADS */ /* add threads, ... */ @@ -140,6 +158,28 @@ int main(void) /* USER CODE BEGIN WHILE */ while (1) { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ @@ -345,6 +385,23 @@ static void MX_GPIO_Init(void) /* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + /* USER CODE END 4 */ /* USER CODE BEGIN Header_StartDefaultTask */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/65/506f5f686aa80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/65/506f5f686aa80010153fd89ba5384631 new file mode 100644 index 0000000..564640a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/65/506f5f686aa80010153fd89ba5384631 @@ -0,0 +1,314 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/66/c05318c3af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/66/c05318c3af9600101605f36318c5a03f deleted file mode 100644 index 25e1466..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/66/c05318c3af9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(2000, 10000); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/67/30dc1b23769200101794e455cb82d570 b/.metadata/.plugins/org.eclipse.core.resources/.history/67/30dc1b23769200101794e455cb82d570 deleted file mode 100644 index 7cb5e91..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/67/30dc1b23769200101794e455cb82d570 +++ /dev/null @@ -1,32 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 12, 2025 - * Author: ja - */ - -#include -#include "main.h" - -void -breadboard(int DELAY_MS) -{ - bool Purple = (HAL_GPIO_ReadPin(BTN_PRPL_GPIO_Port, BTN_PRPL_Pin) == GPIO_PIN_SET); // PD5 - bool Grey = (HAL_GPIO_ReadPin(BTN_GREY_GPIO_Port, BTN_GREY_Pin) == GPIO_PIN_SET); // PD7 - - if (Purple && Grey) { // inverted for ease of debug, assignment calls for (Purple && Grey) - HAL_GPIO_WritePin(LED_EXT_GPIO_Port, LED_EXT_Pin, GPIO_PIN_SET); // PB4 - } else { - HAL_GPIO_WritePin(LED_EXT_GPIO_Port, LED_EXT_Pin, GPIO_PIN_RESET); // PB4 - } - - HAL_Delay(DELAY_MS); // milliseconds of delay after execution - - /* - // Always flash: - HAL_GPIO_WritePin(GPIOB, LED_EXT_Pin, GPIO_PIN_SET); // PB4 ON - HAL_Delay(DELAY_MS); - HAL_GPIO_WritePin(GPIOB, LED_EXT_Pin, GPIO_PIN_RESET); // PB4 OFF - HAL_Delay(DELAY_MS); - */ -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/68/d0cc52d6ab9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/68/d0cc52d6ab9600101605f36318c5a03f deleted file mode 100644 index e64d732..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/68/d0cc52d6ab9600101605f36318c5a03f +++ /dev/null @@ -1,85 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - redlight_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - ylwlight_last) >= ldelay2) { - ylwlight_last = trafftick_curr; - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - trafftick_last) >= ldelay3) { - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/30006aa0af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/69/30006aa0af9600101605f36318c5a03f deleted file mode 100644 index c540f16..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/69/30006aa0af9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(333); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/50b960c3ad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/69/50b960c3ad9600101605f36318c5a03f deleted file mode 100644 index 4a2b5f1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/69/50b960c3ad9600101605f36318c5a03f +++ /dev/null @@ -1,72 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - switch (trafflight_i) - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/00581abd6ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/6b/00581abd6ca80010153fd89ba5384631 new file mode 100644 index 0000000..66ec18c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6b/00581abd6ca80010153fd89ba5384631 @@ -0,0 +1,334 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/205f51abef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/205f51abef9700101fd9ff769d0aef2b deleted file mode 100644 index 21785d0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/205f51abef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,9 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "../Inc/breadboad.hpp" - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/71/009bf612af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/71/009bf612af9600101605f36318c5a03f deleted file mode 100644 index 46148ce..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/71/009bf612af9600101605f36318c5a03f +++ /dev/null @@ -1,101 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin && - Y_Prt, Y_Pin && - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/71/30d1116eaf9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/71/30d1116eaf9600101605f36318c5a03f deleted file mode 100644 index cbd6deb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/71/30d1116eaf9600101605f36318c5a03f +++ /dev/null @@ -1,15 +0,0 @@ -/* - * breadboard.h - * - * Created on: Sep 20, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - -void starttick(void); - -void trafflight(int); - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/71/b0eb6c48e8970010125ca9aaa0d733fc b/.metadata/.plugins/org.eclipse.core.resources/.history/71/b0eb6c48e8970010125ca9aaa0d733fc deleted file mode 100644 index e98d2f6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/71/b0eb6c48e8970010125ca9aaa0d733fc +++ /dev/null @@ -1,91 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_index = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); - walktick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_index) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - - case 0: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - } - - trafflight_index = (trafflight_index + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/79/70aa856af29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/79/70aa856af29700101fd9ff769d0aef2b deleted file mode 100644 index ced57ec..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/79/70aa856af29700101fd9ff769d0aef2b +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void SetTrafficLights(TrafficState s) -{ - HAL_GPIO_WritePin(Green_Port) -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7a/e06b0351ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/7a/e06b0351ae9600101605f36318c5a03f deleted file mode 100644 index 1bb08ea..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7a/e06b0351ae9600101605f36318c5a03f +++ /dev/null @@ -1,89 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7b/e09ffd89fd9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/7b/e09ffd89fd9e0010137c8db58b20398a new file mode 100644 index 0000000..3e921af --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7b/e09ffd89fd9e0010137c8db58b20398a @@ -0,0 +1,494 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/80c0ddcb6ba80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/80c0ddcb6ba80010153fd89ba5384631 new file mode 100644 index 0000000..9a34f98 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/80c0ddcb6ba80010153fd89ba5384631 @@ -0,0 +1,322 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White) + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/90e3ddd96ba80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/90e3ddd96ba80010153fd89ba5384631 new file mode 100644 index 0000000..310c351 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/90e3ddd96ba80010153fd89ba5384631 @@ -0,0 +1,322 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin() + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c0f3d9b1019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c0f3d9b1019f0010137c8db58b20398a new file mode 100644 index 0000000..11cf4e7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c0f3d9b1019f0010137c8db58b20398a @@ -0,0 +1,529 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/d02852896da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/d02852896da80010153fd89ba5384631 new file mode 100644 index 0000000..2415074 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/d02852896da80010153fd89ba5384631 @@ -0,0 +1,340 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +extern "C" void EXTI15_10_IRQHandler() +{ + HAL_GPIO_EXTI_IRQHandler(PedButton_Pin); +} + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/60775b676ba80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/60775b676ba80010153fd89ba5384631 new file mode 100644 index 0000000..57a2318 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/60775b676ba80010153fd89ba5384631 @@ -0,0 +1,320 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + { + pedestrianNextCycle = true; + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8/206f3334ad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/8/206f3334ad9600101605f36318c5a03f deleted file mode 100644 index 387c932..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8/206f3334ad9600101605f36318c5a03f +++ /dev/null @@ -1,74 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - redlight_last = HAL_GetTick(); - ylwlight_last = HAL_GetTick(); - grnlight_last = HAL_GetTick(); - - trafflight_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if (trafftick_curr) -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/81/80e16946b09600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/81/80e16946b09600101605f36318c5a03f deleted file mode 100644 index a0af75d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/81/80e16946b09600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(2*1000, 10*1000); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/83/c00f9d0faf9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/83/c00f9d0faf9600101605f36318c5a03f deleted file mode 100644 index 10528c6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/83/c00f9d0faf9600101605f36318c5a03f +++ /dev/null @@ -1,100 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin && - Y_Prt, Y_Pin && - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/86/604c3bb7ef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/86/604c3bb7ef9700101fd9ff769d0aef2b deleted file mode 100644 index f3072df..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/86/604c3bb7ef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,15 +0,0 @@ -/* - * breadboard.hpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_HPP_ -#define INC_BREADBOARD_HPP_ - - -void breadboard(void); - - -#endif /* INC_BREADBOARD_HPP_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/906a4983ef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/86/f04b48bbfc9e0010137c8db58b20398a similarity index 84% rename from .metadata/.plugins/org.eclipse.core.resources/.history/6f/906a4983ef9700101fd9ff769d0aef2b rename to .metadata/.plugins/org.eclipse.core.resources/.history/86/f04b48bbfc9e0010137c8db58b20398a index be73478..ca87a93 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/906a4983ef9700101fd9ff769d0aef2b +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/86/f04b48bbfc9e0010137c8db58b20398a @@ -22,7 +22,8 @@ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ - +#include "breadboard.h" +#include /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -60,13 +61,32 @@ static void MX_DMA2D_Init(void); static void MX_TIM1_Init(void); void StartDefaultTask(void const * argument); +void SetTrafficLights(TrafficSate s); + /* USER CODE BEGIN PFP */ /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ + /* USER CODE BEGIN 0 */ +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + /* USER CODE END 0 */ /** @@ -123,8 +143,8 @@ int main(void) /* Create the thread(s) */ /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); /* USER CODE BEGIN RTOS_THREADS */ /* add threads, ... */ @@ -139,6 +159,28 @@ int main(void) /* USER CODE BEGIN WHILE */ while (1) { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ @@ -344,6 +386,23 @@ static void MX_GPIO_Init(void) /* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + /* USER CODE END 4 */ /* USER CODE BEGIN Header_StartDefaultTask */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/007c9d8aef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/87/007c9d8aef9700101fd9ff769d0aef2b deleted file mode 100644 index 2f80cff..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/87/007c9d8aef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,15 +0,0 @@ -/* - * breadboard.hpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_HPP_ -#define INC_BREADBOARD_HPP_ - - - - - -#endif /* INC_BREADBOARD_HPP_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/30ae8e36f295001014a1b349f7adbbd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/87/30ae8e36f295001014a1b349f7adbbd1 deleted file mode 100644 index 0005318..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/87/30ae8e36f295001014a1b349f7adbbd1 +++ /dev/null @@ -1,728 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/70300f56ad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/87/70300f56ad9600101605f36318c5a03f deleted file mode 100644 index 499c077..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/87/70300f56ad9600101605f36318c5a03f +++ /dev/null @@ -1,68 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last)) -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/89/60090e4dff9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/89/60090e4dff9e0010137c8db58b20398a new file mode 100644 index 0000000..51c0cd7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/89/60090e4dff9e0010137c8db58b20398a @@ -0,0 +1,513 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + } + break; + + case TrafficState::RED: + // + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/89/c0192844ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/89/c0192844ae9600101605f36318c5a03f deleted file mode 100644 index 8fc238f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/89/c0192844ae9600101605f36318c5a03f +++ /dev/null @@ -1,88 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8b/7022fec7019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/8b/7022fec7019f0010137c8db58b20398a new file mode 100644 index 0000000..902d828 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8b/7022fec7019f0010137c8db58b20398a @@ -0,0 +1,532 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } else + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_Pin_RESET); + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/e01e3f04ff9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/e01e3f04ff9e0010137c8db58b20398a new file mode 100644 index 0000000..cfb4db6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/e01e3f04ff9e0010137c8db58b20398a @@ -0,0 +1,512 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + // + } + break; + + case TrafficState::RED: + // + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/91/a089ec9a6da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/91/a089ec9a6da80010153fd89ba5384631 new file mode 100644 index 0000000..8d148b6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/91/a089ec9a6da80010153fd89ba5384631 @@ -0,0 +1,338 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +/* +extern "C" void EXTI15_10_IRQHandler() +{ + HAL_GPIO_EXTI_IRQHandler(PedButton_Pin); +} +*/ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/92/402d992dac9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/92/402d992dac9600101605f36318c5a03f deleted file mode 100644 index 63298d3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/92/402d992dac9600101605f36318c5a03f +++ /dev/null @@ -1,89 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); - - redlight_last = HAL_GetTick(); - ylwlight_last = HAL_GetTick(); - grnlight_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - redlight_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - ylwlight_last) >= ldelay2) { - ylwlight_last = trafftick_curr; - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - grnlight_last) >= ldelay3) { - grnlight_last = trafftick_curr; - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/92/90d6c0356ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/92/90d6c0356ca80010153fd89ba5384631 new file mode 100644 index 0000000..b12fd5f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/92/90d6c0356ca80010153fd89ba5384631 @@ -0,0 +1,328 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/96/b0f465df019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/96/b0f465df019f0010137c8db58b20398a new file mode 100644 index 0000000..a4eae41 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/96/b0f465df019f0010137c8db58b20398a @@ -0,0 +1,536 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } else + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_Pin_RESET); + if (elapased >= DURATION_RED_PED) + { + + } + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/20cda504f29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/97/20cda504f29700101fd9ff769d0aef2b deleted file mode 100644 index 9d06d47..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/20cda504f29700101fd9ff769d0aef2b +++ /dev/null @@ -1,15 +0,0 @@ -/* - * breadboard.hpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - - -void breadboard(void); - - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/99/20b4b4a86aa80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/99/20b4b4a86aa80010153fd89ba5384631 new file mode 100644 index 0000000..447d390 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/99/20b4b4a86aa80010153fd89ba5384631 @@ -0,0 +1,313 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/99/b03e3fbcaf9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/99/b03e3fbcaf9600101605f36318c5a03f deleted file mode 100644 index 92e6d85..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/99/b03e3fbcaf9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(2000, 500); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/a03040a3fc9300101105d73469834d19 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/a03040a3fc9300101105d73469834d19 deleted file mode 100644 index 0b40d64..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/a03040a3fc9300101105d73469834d19 +++ /dev/null @@ -1,2 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=76D5CABA7E36F5DD0D38ED323FA426B4 -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9b/40460782f29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/9b/40460782f29700101fd9ff769d0aef2b deleted file mode 100644 index db684f4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9b/40460782f29700101fd9ff769d0aef2b +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void SetTrafficLights(TrafficState s) -{ - HAL_GPIO_WritePin(LED_Port, Green_Pin, GPIO_PIN_RESET); -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9d/f0eda9ce6da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/9d/f0eda9ce6da80010153fd89ba5384631 new file mode 100644 index 0000000..bd47910 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9d/f0eda9ce6da80010153fd89ba5384631 @@ -0,0 +1,337 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +/* +extern "C" void EXTI15_10_IRQHandler() +{ + HAL_GPIO_EXTI_IRQHandler(PedButton_Pin); +} +*/ + +extern "C" void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9e/b0d3ae29ac9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/9e/b0d3ae29ac9600101605f36318c5a03f deleted file mode 100644 index e4b85fa..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9e/b0d3ae29ac9600101605f36318c5a03f +++ /dev/null @@ -1,85 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - redlight_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - ylwlight_last) >= ldelay2) { - ylwlight_last = trafftick_curr; - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - grnlight_last) >= ldelay3) { - grnlight_last = trafftick_curr; - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9f/00375fd4a79600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/00375fd4a79600101605f36318c5a03f deleted file mode 100644 index c540f16..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9f/00375fd4a79600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(333); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a3/c0cea1a7f995001014a1b349f7adbbd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/a3/c0cea1a7f995001014a1b349f7adbbd1 deleted file mode 100644 index 4031318..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a3/c0cea1a7f995001014a1b349f7adbbd1 +++ /dev/null @@ -1,728 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a7/d0d817729e9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/a7/d0d817729e9600101605f36318c5a03f deleted file mode 100644 index c540f16..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a7/d0d817729e9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(333); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/404392bdf995001014a1b349f7adbbd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/404392bdf995001014a1b349f7adbbd1 deleted file mode 100644 index dbb99f1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/404392bdf995001014a1b349f7adbbd1 +++ /dev/null @@ -1,4 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=76D5CABA7E36F5DD0D38ED323FA426B4 -66BE74F758C12D739921AEA421D593D3=0 -DC22A860405A8BF2F2C095E5B6529F12=BB3BD6F58A87E81DE6E549B37335B23A -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a9/409a50c4ef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/a9/409a50c4ef9700101fd9ff769d0aef2b deleted file mode 100644 index 4b422e1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a9/409a50c4ef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,9 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/307949c5ef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/ac/307949c5ef9700101fd9ff769d0aef2b deleted file mode 100644 index 6006074..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/307949c5ef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void breadboard(void) -{ - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/c03a60aff995001014a1b349f7adbbd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/ac/c03a60aff995001014a1b349f7adbbd1 deleted file mode 100644 index 1945c95..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/c03a60aff995001014a1b349f7adbbd1 +++ /dev/null @@ -1,728 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/901243beef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/901243beef9700101fd9ff769d0aef2b deleted file mode 100644 index bf6d416..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/901243beef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,9 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboad.hpp" - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/b00fa0076ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/b00fa0076ca80010153fd89ba5384631 new file mode 100644 index 0000000..c90f4da --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/b00fa0076ca80010153fd89ba5384631 @@ -0,0 +1,327 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/TrafficLightsPlusPlus/Core/Src/main.c b/.metadata/.plugins/org.eclipse.core.resources/.history/af/c0139870fb9e0010137c8db58b20398a similarity index 85% rename from TrafficLightsPlusPlus/Core/Src/main.c rename to .metadata/.plugins/org.eclipse.core.resources/.history/af/c0139870fb9e0010137c8db58b20398a index d6df371..fe8e96b 100644 --- a/TrafficLightsPlusPlus/Core/Src/main.c +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/af/c0139870fb9e0010137c8db58b20398a @@ -23,6 +23,7 @@ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "breadboard.h" +#include /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -65,8 +66,23 @@ void StartDefaultTask(void const * argument); /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ + /* USER CODE BEGIN 0 */ +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; + /* USER CODE END 0 */ /** @@ -123,8 +139,8 @@ int main(void) /* Create the thread(s) */ /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); /* USER CODE BEGIN RTOS_THREADS */ /* add threads, ... */ @@ -139,6 +155,28 @@ int main(void) /* USER CODE BEGIN WHILE */ while (1) { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ @@ -344,6 +382,23 @@ static void MX_GPIO_Init(void) /* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + /* USER CODE END 4 */ /* USER CODE BEGIN Header_StartDefaultTask */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b/9014714af29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/b/9014714af29700101fd9ff769d0aef2b deleted file mode 100644 index 94975d8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b/9014714af29700101fd9ff769d0aef2b +++ /dev/null @@ -1,80 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.h - * @brief : Header for main.c file. - * This file contains the common defines of the application. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f4xx_hal.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void Error_Handler(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -/* Private defines -----------------------------------------------------------*/ -#define PedButton_Pin GPIO_PIN_14 -#define PedButton_GPIO_Port GPIOA -#define PedButton_EXTI_IRQn EXTI15_10_IRQn -#define White_Pin GPIO_PIN_1 -#define White_GPIO_Port GPIOD -#define Red_Pin GPIO_PIN_3 -#define Red_GPIO_Port GPIOD -#define Yellow_Pin GPIO_PIN_5 -#define Yellow_GPIO_Port GPIOD -#define Green_Pin GPIO_PIN_7 -#define Green_GPIO_Port GPIOD - -/* USER CODE BEGIN Private defines */ - -/* USER CODE END Private defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/d05454f3f49700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/b1/d05454f3f49700101fd9ff769d0aef2b deleted file mode 100644 index c77e413..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/d05454f3f49700101fd9ff769d0aef2b +++ /dev/null @@ -1,15 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void SetTrafficLights(TrafficState s) -{ - HAL_GPIO_WritePin(LED_Port, Green_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(LED_Port, Yellow_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(LED_Port, Red_Pin, GPIO_PIN_RESET); -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/001207d2ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/001207d2ae9600101605f36318c5a03f deleted file mode 100644 index 24d99d3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/001207d2ae9600101605f36318c5a03f +++ /dev/null @@ -1,97 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/d0024abeaf9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/d0024abeaf9600101605f36318c5a03f deleted file mode 100644 index cb0434a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/d0024abeaf9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(2000, 1000); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/e05dffdbad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/e05dffdbad9600101605f36318c5a03f deleted file mode 100644 index 0453ae2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/e05dffdbad9600101605f36318c5a03f +++ /dev/null @@ -1,73 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - switch (trafflight_i) { - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/90a12443b09600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/b7/90a12443b09600101605f36318c5a03f deleted file mode 100644 index a0af75d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/90a12443b09600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(2*1000, 10*1000); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b9/600f65016ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/b9/600f65016ca80010153fd89ba5384631 new file mode 100644 index 0000000..e7957a4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b9/600f65016ca80010153fd89ba5384631 @@ -0,0 +1,326 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ba/d07d3ff4a49600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/ba/d07d3ff4a49600101605f36318c5a03f deleted file mode 100644 index 733c8b2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ba/d07d3ff4a49600101605f36318c5a03f +++ /dev/null @@ -1,14 +0,0 @@ -/* - * breadboard.h - * - * Created on: Sep 20, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - -void trafflight(int); -void walksig(int); - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/e02ce408af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/e02ce408af9600101605f36318c5a03f deleted file mode 100644 index 4263ff5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/e02ce408af9600101605f36318c5a03f +++ /dev/null @@ -1,99 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin && - Y_Prt, Y_Pin && - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c0/401b4720019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/c0/401b4720019f0010137c8db58b20398a new file mode 100644 index 0000000..fe3aa1a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c0/401b4720019f0010137c8db58b20398a @@ -0,0 +1,521 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET) + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/206820039e9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/206820039e9600101605f36318c5a03f deleted file mode 100644 index 0e78adf..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/206820039e9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - breadboard(333); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/a0450c666ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/a0450c666ca80010153fd89ba5384631 new file mode 100644 index 0000000..5d45e92 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/a0450c666ca80010153fd89ba5384631 @@ -0,0 +1,337 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c7/c08248d06da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/c7/c08248d06da80010153fd89ba5384631 new file mode 100644 index 0000000..4d0e6ea --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c7/c08248d06da80010153fd89ba5384631 @@ -0,0 +1,338 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextCycle = false; +// ../Core/Src/main.cpp:170:27: error: 'pedestrianNextcycle' was not declared in this scope; did you mean 'pedestrianNextCycle'? + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +/* +extern "C" void EXTI15_10_IRQHandler() +{ + HAL_GPIO_EXTI_IRQHandler(PedButton_Pin); +} +*/ + +extern "C" void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/60d0fdccad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/60d0fdccad9600101605f36318c5a03f deleted file mode 100644 index b1f4510..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/60d0fdccad9600101605f36318c5a03f +++ /dev/null @@ -1,74 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - switch (trafflight_i) { - - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/703e7b01b09600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/703e7b01b09600101605f36318c5a03f deleted file mode 100644 index 04a28d5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/703e7b01b09600101605f36318c5a03f +++ /dev/null @@ -1,81 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/805ca1336da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/805ca1336da80010153fd89ba5384631 new file mode 100644 index 0000000..6f903c5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/805ca1336da80010153fd89ba5384631 @@ -0,0 +1,334 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/90d31b5b6ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/90d31b5b6ca80010153fd89ba5384631 new file mode 100644 index 0000000..93b9c83 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/90d31b5b6ca80010153fd89ba5384631 @@ -0,0 +1,330 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/f0746affb19600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/f0746affb19600101605f36318c5a03f deleted file mode 100644 index 538d2d1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/f0746affb19600101605f36318c5a03f +++ /dev/null @@ -1,81 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_index = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_index) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - } - - trafflight_index = (trafflight_index + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ce/5080ba87ef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/ce/5080ba87ef9700101fd9ff769d0aef2b deleted file mode 100644 index 2f80cff..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ce/5080ba87ef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,15 +0,0 @@ -/* - * breadboard.hpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_HPP_ -#define INC_BREADBOARD_HPP_ - - - - - -#endif /* INC_BREADBOARD_HPP_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/205104eceb9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/205104eceb9700101fd9ff769d0aef2b deleted file mode 100644 index f423913..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/205104eceb9700101fd9ff769d0aef2b +++ /dev/null @@ -1,375 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -TIM_HandleTypeDef htim1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_TIM1_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_TIM1_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - ..osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; - RCC_OscInitStruct.HSIState = RCC_HSI_ON; - RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; - RCC_OscInitStruct.PLL.PLLM = 8; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/2091273cad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/2091273cad9600101605f36318c5a03f deleted file mode 100644 index 4c3f5d6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/2091273cad9600101605f36318c5a03f +++ /dev/null @@ -1,70 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafflight_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if (trafftick_curr) -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/50dcc24dad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/50dcc24dad9600101605f36318c5a03f deleted file mode 100644 index 84fac95..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/50dcc24dad9600101605f36318c5a03f +++ /dev/null @@ -1,68 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if (trafftick_curr) -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/609aff18a59600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/609aff18a59600101605f36318c5a03f deleted file mode 100644 index 45ca502..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/609aff18a59600101605f36318c5a03f +++ /dev/null @@ -1,14 +0,0 @@ -/* - * breadboard.h - * - * Created on: Sep 20, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - -void trafflight(int); -void startticking(void); - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d0b05546019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d0b05546019f0010137c8db58b20398a new file mode 100644 index 0000000..85ba6ef --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d0b05546019f0010137c8db58b20398a @@ -0,0 +1,521 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/40d83561ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/d2/40d83561ae9600101605f36318c5a03f deleted file mode 100644 index 898bba0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/40d83561ae9600101605f36318c5a03f +++ /dev/null @@ -1,91 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d3/b08c4786ad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/d3/b08c4786ad9600101605f36318c5a03f deleted file mode 100644 index 99ddace..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d3/b08c4786ad9600101605f36318c5a03f +++ /dev/null @@ -1,70 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/e0904406b19600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/e0904406b19600101605f36318c5a03f deleted file mode 100644 index b268557..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/e0904406b19600101605f36318c5a03f +++ /dev/null @@ -1,81 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/da/d090726b6ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/da/d090726b6ca80010153fd89ba5384631 new file mode 100644 index 0000000..66ec18c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/da/d090726b6ca80010153fd89ba5384631 @@ -0,0 +1,334 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/db/404345429e9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/db/404345429e9600101605f36318c5a03f deleted file mode 100644 index 01b9536..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/db/404345429e9600101605f36318c5a03f +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.h - * - * Created on: Sep 20, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - -void breadboard(int); - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/dd/706473a56da80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/706473a56da80010153fd89ba5384631 new file mode 100644 index 0000000..1086c14 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/706473a56da80010153fd89ba5384631 @@ -0,0 +1,337 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +/* +extern "C" void EXTI15_10_IRQHandler() +{ + HAL_GPIO_EXTI_IRQHandler(PedButton_Pin); +} +*/ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + + // software debounce + if (now - lastInterruptTime < 100) + return; + + lastInterruptTime = now; + + if (GPIO_Pin == PedButton_Pin) + buttonPressedThisCycle = true; + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/dd/f0ff86eaeb9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/dd/f0ff86eaeb9700101fd9ff769d0aef2b deleted file mode 100644 index a7d00f6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/dd/f0ff86eaeb9700101fd9ff769d0aef2b +++ /dev/null @@ -1,375 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -TIM_HandleTypeDef htim1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_TIM1_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_TIM1_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; - RCC_OscInitStruct.HSIState = RCC_HSI_ON; - RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; - RCC_OscInitStruct.PLL.PLLM = 8; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/de/304ad60c6ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/de/304ad60c6ca80010153fd89ba5384631 new file mode 100644 index 0000000..b12fd5f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/de/304ad60c6ca80010153fd89ba5384631 @@ -0,0 +1,328 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + + + + +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/46/009746b7ef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/df/90621f56fc9e0010137c8db58b20398a similarity index 84% rename from .metadata/.plugins/org.eclipse.core.resources/.history/46/009746b7ef9700101fd9ff769d0aef2b rename to .metadata/.plugins/org.eclipse.core.resources/.history/df/90621f56fc9e0010137c8db58b20398a index 87d4b7d..34c0bae 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/46/009746b7ef9700101fd9ff769d0aef2b +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/df/90621f56fc9e0010137c8db58b20398a @@ -19,11 +19,11 @@ /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "cmsis_os.h" -#include "breadboard.hpp" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ - +#include "breadboard.h" +#include /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -61,13 +61,30 @@ static void MX_DMA2D_Init(void); static void MX_TIM1_Init(void); void StartDefaultTask(void const * argument); +void SetTrafficLights(TrafficSate s); + /* USER CODE BEGIN PFP */ /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ + /* USER CODE BEGIN 0 */ +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; + /* USER CODE END 0 */ /** @@ -124,8 +141,8 @@ int main(void) /* Create the thread(s) */ /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); /* USER CODE BEGIN RTOS_THREADS */ /* add threads, ... */ @@ -140,6 +157,28 @@ int main(void) /* USER CODE BEGIN WHILE */ while (1) { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ @@ -345,6 +384,23 @@ static void MX_GPIO_Init(void) /* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + /* USER CODE END 4 */ /* USER CODE BEGIN Header_StartDefaultTask */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/20cfec24f995001014a1b349f7adbbd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/20cfec24f995001014a1b349f7adbbd1 deleted file mode 100644 index d3dabea..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/20cfec24f995001014a1b349f7adbbd1 +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.h - * - * Created on: Sep 20, 2025 - * Author: ja - */ - -#ifndef INC_BREADBOARD_H_ -#define INC_BREADBOARD_H_ - - - -#endif /* INC_BREADBOARD_H_ */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/c0540995ef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/c0540995ef9700101fd9ff769d0aef2b deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/e024b99f019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/e024b99f019f0010137c8db58b20398a new file mode 100644 index 0000000..33a82c5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/e024b99f019f0010137c8db58b20398a @@ -0,0 +1,527 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + } + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e3/30588babad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/e3/30588babad9600101605f36318c5a03f deleted file mode 100644 index 3b1be5e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e3/30588babad9600101605f36318c5a03f +++ /dev/null @@ -1,71 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint8_t trafflight_i; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e5/401cc71c019f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/e5/401cc71c019f0010137c8db58b20398a new file mode 100644 index 0000000..0ccc1dc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e5/401cc71c019f0010137c8db58b20398a @@ -0,0 +1,518 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + // + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e5/7011b93ead9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/e5/7011b93ead9600101605f36318c5a03f deleted file mode 100644 index f9ffdca..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e5/7011b93ead9600101605f36318c5a03f +++ /dev/null @@ -1,68 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -void -starttick(void) -{ - trafflight_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if (trafftick_curr) -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e6/c0851203ff9e0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/e6/c0851203ff9e0010137c8db58b20398a new file mode 100644 index 0000000..3ac45ec --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e6/c0851203ff9e0010137c8db58b20398a @@ -0,0 +1,499 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + } + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/d095dd88ea9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/d095dd88ea9700101fd9ff769d0aef2b deleted file mode 100644 index 0674429..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/d095dd88ea9700101fd9ff769d0aef2b +++ /dev/null @@ -1,3 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=76D5CABA7E36F5DD0D38ED323FA426B4 -DC22A860405A8BF2F2C095E5B6529F12=BB3BD6F58A87E81DE6E549B37335B23A -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/e02bed10ae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/e02bed10ae9600101605f36318c5a03f deleted file mode 100644 index 0e2bc46..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/e02bed10ae9600101605f36318c5a03f +++ /dev/null @@ -1,79 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - switch (trafflight_i) { - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/302699bdab9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/302699bdab9600101605f36318c5a03f deleted file mode 100644 index 73152f2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/302699bdab9600101605f36318c5a03f +++ /dev/null @@ -1,83 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - int ldelay2 = traffSPD * 2; - int ldelay3 = traffSPD * 3; - - if ((trafftick_curr - redlight_last) >= traffSPD) { - redlight_last = trafftick_curr; - HAL_GPIO_TogglePin(R_Prt, R_Pin); - } - - if ((trafftick_curr - grnlight_last) >= ldelay2) { - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - } - - if ((trafftick_curr - trafftick_last) >= ldelay3) { - HAL_GPIO_TogglePin(G_Prt, G_Pin); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/30302e02af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/ef/30302e02af9600101605f36318c5a03f deleted file mode 100644 index feed2b8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/30302e02af9600101605f36318c5a03f +++ /dev/null @@ -1,98 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin && - Y_Prt, Y_Pin && - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/d017ae9fef9700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/ef/d017ae9fef9700101fd9ff769d0aef2b deleted file mode 100644 index 5e05b4b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/d017ae9fef9700101fd9ff769d0aef2b +++ /dev/null @@ -1,8 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboad.h" diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f/c0b69abbae9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/f/c0b69abbae9600101605f36318c5a03f deleted file mode 100644 index 7e695b4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f/c0b69abbae9600101605f36318c5a03f +++ /dev/null @@ -1,94 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_i = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin( - R_Prt, R_Pin | - Y_Prt, Y_Pin | - G_Prt, G_Pin, - GPIO_PIN_RESET - ); - - switch (trafflight_i) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin); - break; - } - - trafflight_i = (trafflight_i + 1) % 3; - trafftick_last = trafftick_curr; - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f5/0034b535e8970010125ca9aaa0d733fc b/.metadata/.plugins/org.eclipse.core.resources/.history/f5/0034b535e8970010125ca9aaa0d733fc deleted file mode 100644 index 56e00f5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f5/0034b535e8970010125ca9aaa0d733fc +++ /dev/null @@ -1,82 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t trafftick_last; -uint32_t walktick_last; - -uint8_t trafflight_index = 0; - -void -starttick(void) -{ - trafftick_last = HAL_GetTick(); - walktick_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD, int walkSPD) -{ - uint32_t trafftick_curr = HAL_GetTick(); - - if ((trafftick_curr - trafftick_last) >= traffSPD) { - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET); - - switch (trafflight_index) { - case 0: - HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET); - break; - case 1: - HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET); - break; - case 2: - HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET); - break; - } - - trafflight_index = (trafflight_index + 1) % 3; - trafftick_last = trafftick_curr; - } - - if ((trafftick_curr - walktick_last) >= walkSPD) { - HAL_GPIO_TogglePin(W_Prt, W_Pin); - walktick_last = trafftick_curr; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/00716255f29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/f6/00716255f29700101fd9ff769d0aef2b deleted file mode 100644 index df5ec73..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/00716255f29700101fd9ff769d0aef2b +++ /dev/null @@ -1,83 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.h - * @brief : Header for main.c file. - * This file contains the common defines of the application. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f4xx_hal.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void Error_Handler(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -/* Private defines -----------------------------------------------------------*/ -#define PedButton_Pin GPIO_PIN_14 -#define PedButton_GPIO_Port GPIOA -#define PedButton_EXTI_IRQn EXTI15_10_IRQn -#define White_Pin GPIO_PIN_1 -#define White_GPIO_Port GPIOD -#define Red_Pin GPIO_PIN_3 -#define Red_GPIO_Port GPIOD -#define Yellow_Pin GPIO_PIN_5 -#define Yellow_GPIO_Port GPIOD -#define Green_Pin GPIO_PIN_7 -#define Green_GPIO_Port GPIOD - -/* USER CODE BEGIN Private defines */ - -#define Traffic_Port GPIOD -#define PedButton_Port - -/* USER CODE END Private defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/204ad165f29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/f6/204ad165f29700101fd9ff769d0aef2b deleted file mode 100644 index 3ccbed6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/204ad165f29700101fd9ff769d0aef2b +++ /dev/null @@ -1,83 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.h - * @brief : Header for main.c file. - * This file contains the common defines of the application. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f4xx_hal.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void Error_Handler(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -/* Private defines -----------------------------------------------------------*/ -#define PedButton_Pin GPIO_PIN_14 -#define PedButton_GPIO_Port GPIOA -#define PedButton_EXTI_IRQn EXTI15_10_IRQn -#define White_Pin GPIO_PIN_1 -#define White_GPIO_Port GPIOD -#define Red_Pin GPIO_PIN_3 -#define Red_GPIO_Port GPIOD -#define Yellow_Pin GPIO_PIN_5 -#define Yellow_GPIO_Port GPIOD -#define Green_Pin GPIO_PIN_7 -#define Green_GPIO_Port GPIOD - -/* USER CODE BEGIN Private defines */ - -#define Traffic_Port GPIOD -#define PedButton_Port GPIOD - -/* USER CODE END Private defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fa/501eb0706ca80010153fd89ba5384631 b/.metadata/.plugins/org.eclipse.core.resources/.history/fa/501eb0706ca80010153fd89ba5384631 new file mode 100644 index 0000000..ac738da --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/fa/501eb0706ca80010153fd89ba5384631 @@ -0,0 +1,335 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +// Feeling sneaky. +extern "C" { +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +} + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +#include + +enum class TrafficState { GREEN, YELLOW, RED }; +void SetTrafficLights(TrafficState s); + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; //HAL_GetTick() at the start of this state +bool buttonPressedThisCycle = false; +bool pedestrianNextCycle = false; +bool pedestrianThisCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED_NOPED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ + +void SetTrafficLights(TrafficState s) +{ + // reset all + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + + switch (s) + { + case TrafficState::GREEN : + HAL_GPIO_WritePin(GPIOD, Green_Pin, GPIO_PIN_SET); + break; + case TrafficState::YELLOW : + HAL_GPIO_WritePin(GPIOD, Yellow_Pin, GPIO_PIN_SET); + break; + case TrafficState::RED: + HAL_GPIO_WritePin(GPIOD, Red_Pin, GPIO_PIN_SET); + break; + } +} + +int main(void) +{ + + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + MX_GPIO_Init(); + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + while (1) + { + /* USER CODE END WHILE */ + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + switch(currentState) + { + case TrafficState::GREEN: + if (buttonPressedThisCycle) + pedestrianThisCycle = true; + + /* + if (buttonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } + else + { + pedestrianNextCycle = false; + SetTrafficLights(currentState); + } + */ + + else if (elapsed >= DURATION_GREEN) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + SetTrafficLights(currentState); + } + break; + case TrafficState::YELLOW: + if (buttonPressedThisCycle || pedestrianNextCycle) + pedestrianThisCycle = true; + + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + buttonPressedThisCycle = false; //TODO add pressed pedestrian button in yellow + SetTrafficLights(currentState); + // If Ped Button was pressed during GREEN or YELLOW, we need to enable WHITE this cycle + } + break; + case TrafficState::RED: + /* + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_SET); // turn on Pedestrian LED + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + else + { + HAL_GPIO_WritePin(GPIOD,White_Pin,GPIO_PIN_RESET); + if(elapsed >= DURATION_RED_PED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } + */ + + if (buttonPressedThisCycle) + pedestrianNextCycle = true; + + if (pedestrianThisCycle) { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianThisCycle = false; + pedestrianNextcycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } else { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + if (elapsed >= DURATION_RED_NOPED) + { + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + buttonPressedThisCycle = false; + } + } + break; + } + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ + +// Dude I'm gonna explode +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 50; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; + RCC_OscInitStruct.PLL.PLLQ = 7; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void HAL_GPIO_EXTI_CallBack() +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if(now - lastInterruptTime < 100) + { + return; + } + lastInterruptTime = now; + + if (PedButton_Pin) + { + buttonPressedThisCycle = true; + } +} + +void HAL_GPIO_EXTI_IRQHandler() +{ + +} + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/f01b5cb9af9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/fc/f01b5cb9af9600101605f36318c5a03f deleted file mode 100644 index b5e1971..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/f01b5cb9af9600101605f36318c5a03f +++ /dev/null @@ -1,730 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file : main.c - * @brief : Main program body - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "cmsis_os.h" -#include "usb_host.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "breadboard.h" - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ - -/* USER CODE END PTD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -CRC_HandleTypeDef hcrc; - -DMA2D_HandleTypeDef hdma2d; - -I2C_HandleTypeDef hi2c3; - -LTDC_HandleTypeDef hltdc; - -SPI_HandleTypeDef hspi5; - -TIM_HandleTypeDef htim1; - -UART_HandleTypeDef huart1; - -SDRAM_HandleTypeDef hsdram1; - -osThreadId defaultTaskHandle; -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void SystemClock_Config(void); -static void MX_GPIO_Init(void); -static void MX_CRC_Init(void); -static void MX_DMA2D_Init(void); -static void MX_FMC_Init(void); -static void MX_I2C3_Init(void); -static void MX_LTDC_Init(void); -static void MX_SPI5_Init(void); -static void MX_TIM1_Init(void); -static void MX_USART1_UART_Init(void); -void StartDefaultTask(void const * argument); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - - /* USER CODE BEGIN 1 */ - - /* USER CODE END 1 */ - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - - /* USER CODE BEGIN Init */ - - /* USER CODE END Init */ - - /* Configure the system clock */ - SystemClock_Config(); - - /* USER CODE BEGIN SysInit */ - - /* USER CODE END SysInit */ - - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_CRC_Init(); - MX_DMA2D_Init(); - MX_FMC_Init(); - MX_I2C3_Init(); - MX_LTDC_Init(); - MX_SPI5_Init(); - MX_TIM1_Init(); - MX_USART1_UART_Init(); - /* USER CODE BEGIN 2 */ - - /* USER CODE END 2 */ - - /* USER CODE BEGIN RTOS_MUTEX */ - /* add mutexes, ... */ - /* USER CODE END RTOS_MUTEX */ - - /* USER CODE BEGIN RTOS_SEMAPHORES */ - /* add semaphores, ... */ - /* USER CODE END RTOS_SEMAPHORES */ - - /* USER CODE BEGIN RTOS_TIMERS */ - /* start timers, add new ones, ... */ - /* USER CODE END RTOS_TIMERS */ - - /* USER CODE BEGIN RTOS_QUEUES */ - /* add queues, ... */ - /* USER CODE END RTOS_QUEUES */ - - /* Create the thread(s) */ - /* definition and creation of defaultTask */ - //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); - //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); - - /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ - /* USER CODE END RTOS_THREADS */ - - /* Start scheduler */ - //osKernelStart(); - - /* We should never get here as control is now taken by the scheduler */ - - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) - { - trafflight(333, 500); - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - } - /* USER CODE END 3 */ -} - -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 72; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 3; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { - Error_Handler(); - } - - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) - { - Error_Handler(); - } -} - -/** - * @brief CRC Initialization Function - * @param None - * @retval None - */ -static void MX_CRC_Init(void) -{ - - /* USER CODE BEGIN CRC_Init 0 */ - - /* USER CODE END CRC_Init 0 */ - - /* USER CODE BEGIN CRC_Init 1 */ - - /* USER CODE END CRC_Init 1 */ - hcrc.Instance = CRC; - if (HAL_CRC_Init(&hcrc) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN CRC_Init 2 */ - - /* USER CODE END CRC_Init 2 */ - -} - -/** - * @brief DMA2D Initialization Function - * @param None - * @retval None - */ -static void MX_DMA2D_Init(void) -{ - - /* USER CODE BEGIN DMA2D_Init 0 */ - - /* USER CODE END DMA2D_Init 0 */ - - /* USER CODE BEGIN DMA2D_Init 1 */ - - /* USER CODE END DMA2D_Init 1 */ - hdma2d.Instance = DMA2D; - hdma2d.Init.Mode = DMA2D_M2M; - hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; - hdma2d.Init.OutputOffset = 0; - hdma2d.LayerCfg[1].InputOffset = 0; - hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; - hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; - hdma2d.LayerCfg[1].InputAlpha = 0; - if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) - { - Error_Handler(); - } - if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN DMA2D_Init 2 */ - - /* USER CODE END DMA2D_Init 2 */ - -} - -/** - * @brief I2C3 Initialization Function - * @param None - * @retval None - */ -static void MX_I2C3_Init(void) -{ - - /* USER CODE BEGIN I2C3_Init 0 */ - - /* USER CODE END I2C3_Init 0 */ - - /* USER CODE BEGIN I2C3_Init 1 */ - - /* USER CODE END I2C3_Init 1 */ - hi2c3.Instance = I2C3; - hi2c3.Init.ClockSpeed = 100000; - hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2; - hi2c3.Init.OwnAddress1 = 0; - hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - hi2c3.Init.OwnAddress2 = 0; - hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - if (HAL_I2C_Init(&hi2c3) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Analogue filter - */ - if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - { - Error_Handler(); - } - - /** Configure Digital filter - */ - if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN I2C3_Init 2 */ - - /* USER CODE END I2C3_Init 2 */ - -} - -/** - * @brief LTDC Initialization Function - * @param None - * @retval None - */ -static void MX_LTDC_Init(void) -{ - - /* USER CODE BEGIN LTDC_Init 0 */ - - /* USER CODE END LTDC_Init 0 */ - - LTDC_LayerCfgTypeDef pLayerCfg = {0}; - - /* USER CODE BEGIN LTDC_Init 1 */ - - /* USER CODE END LTDC_Init 1 */ - hltdc.Instance = LTDC; - hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; - hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; - hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; - hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; - hltdc.Init.HorizontalSync = 9; - hltdc.Init.VerticalSync = 1; - hltdc.Init.AccumulatedHBP = 29; - hltdc.Init.AccumulatedVBP = 3; - hltdc.Init.AccumulatedActiveW = 269; - hltdc.Init.AccumulatedActiveH = 323; - hltdc.Init.TotalWidth = 279; - hltdc.Init.TotalHeigh = 327; - hltdc.Init.Backcolor.Blue = 0; - hltdc.Init.Backcolor.Green = 0; - hltdc.Init.Backcolor.Red = 0; - if (HAL_LTDC_Init(&hltdc) != HAL_OK) - { - Error_Handler(); - } - pLayerCfg.WindowX0 = 0; - pLayerCfg.WindowX1 = 240; - pLayerCfg.WindowY0 = 0; - pLayerCfg.WindowY1 = 320; - pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; - pLayerCfg.Alpha = 255; - pLayerCfg.Alpha0 = 0; - pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; - pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; - pLayerCfg.FBStartAdress = 0xD0000000; - pLayerCfg.ImageWidth = 240; - pLayerCfg.ImageHeight = 320; - pLayerCfg.Backcolor.Blue = 0; - pLayerCfg.Backcolor.Green = 0; - pLayerCfg.Backcolor.Red = 0; - if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN LTDC_Init 2 */ - - /* USER CODE END LTDC_Init 2 */ - -} - -/** - * @brief SPI5 Initialization Function - * @param None - * @retval None - */ -static void MX_SPI5_Init(void) -{ - - /* USER CODE BEGIN SPI5_Init 0 */ - - /* USER CODE END SPI5_Init 0 */ - - /* USER CODE BEGIN SPI5_Init 1 */ - - /* USER CODE END SPI5_Init 1 */ - /* SPI5 parameter configuration*/ - hspi5.Instance = SPI5; - hspi5.Init.Mode = SPI_MODE_MASTER; - hspi5.Init.Direction = SPI_DIRECTION_2LINES; - hspi5.Init.DataSize = SPI_DATASIZE_8BIT; - hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; - hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; - hspi5.Init.NSS = SPI_NSS_SOFT; - hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; - hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; - hspi5.Init.TIMode = SPI_TIMODE_DISABLE; - hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - hspi5.Init.CRCPolynomial = 10; - if (HAL_SPI_Init(&hspi5) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN SPI5_Init 2 */ - - /* USER CODE END SPI5_Init 2 */ - -} - -/** - * @brief TIM1 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM1_Init(void) -{ - - /* USER CODE BEGIN TIM1_Init 0 */ - - /* USER CODE END TIM1_Init 0 */ - - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; - - /* USER CODE BEGIN TIM1_Init 1 */ - - /* USER CODE END TIM1_Init 1 */ - htim1.Instance = TIM1; - htim1.Init.Prescaler = 0; - htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 65535; - htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - htim1.Init.RepetitionCounter = 0; - htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - { - Error_Handler(); - } - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - { - Error_Handler(); - } - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN TIM1_Init 2 */ - - /* USER CODE END TIM1_Init 2 */ - -} - -/** - * @brief USART1 Initialization Function - * @param None - * @retval None - */ -static 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 */ - -} - -/* FMC initialization function */ -static void MX_FMC_Init(void) -{ - - /* USER CODE BEGIN FMC_Init 0 */ - - /* USER CODE END FMC_Init 0 */ - - FMC_SDRAM_TimingTypeDef SdramTiming = {0}; - - /* USER CODE BEGIN FMC_Init 1 */ - - /* USER CODE END FMC_Init 1 */ - - /** Perform the SDRAM1 memory initialization sequence - */ - hsdram1.Instance = FMC_SDRAM_DEVICE; - /* hsdram1.Init */ - hsdram1.Init.SDBank = FMC_SDRAM_BANK2; - hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8; - hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12; - hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16; - hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4; - hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3; - hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE; - hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2; - hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_DISABLE; - hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1; - /* SdramTiming */ - SdramTiming.LoadToActiveDelay = 2; - SdramTiming.ExitSelfRefreshDelay = 7; - SdramTiming.SelfRefreshTime = 4; - SdramTiming.RowCycleDelay = 7; - SdramTiming.WriteRecoveryTime = 3; - SdramTiming.RPDelay = 2; - SdramTiming.RCDDelay = 2; - - if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK) - { - Error_Handler( ); - } - - /* USER CODE BEGIN FMC_Init 2 */ - - /* USER CODE END FMC_Init 2 */ -} - -/** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; - /* USER CODE BEGIN MX_GPIO_Init_1 */ - - /* USER CODE END MX_GPIO_Init_1 */ - - /* GPIO Ports Clock Enable */ - __HAL_RCC_GPIOE_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); - __HAL_RCC_GPIOF_CLK_ENABLE(); - __HAL_RCC_GPIOH_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOG_CLK_ENABLE(); - __HAL_RCC_GPIOD_CLK_ENABLE(); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ACP_RST_GPIO_Port, ACP_RST_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOD, RDX_Pin|WRX_DCX_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */ - GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - - /*Configure GPIO pins : NCS_MEMS_SPI_Pin CSX_Pin OTG_FS_PSO_Pin */ - GPIO_InitStruct.Pin = NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - - /*Configure GPIO pins : B1_Pin MEMS_INT1_Pin MEMS_INT2_Pin TP_INT1_Pin */ - GPIO_InitStruct.Pin = B1_Pin|MEMS_INT1_Pin|MEMS_INT2_Pin|TP_INT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /*Configure GPIO pin : ACP_RST_Pin */ - GPIO_InitStruct.Pin = ACP_RST_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ACP_RST_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : OTG_FS_OC_Pin */ - GPIO_InitStruct.Pin = OTG_FS_OC_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(OTG_FS_OC_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : BOOT1_Pin */ - GPIO_InitStruct.Pin = BOOT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(BOOT1_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : TE_Pin */ - GPIO_InitStruct.Pin = TE_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(TE_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pins : RDX_Pin WRX_DCX_Pin */ - GPIO_InitStruct.Pin = RDX_Pin|WRX_DCX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - - /*Configure GPIO pins : LD3_Pin LD4_Pin */ - GPIO_InitStruct.Pin = LD3_Pin|LD4_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); - - /* USER CODE BEGIN MX_GPIO_Init_2 */ - - /* USER CODE END MX_GPIO_Init_2 */ -} - -/* USER CODE BEGIN 4 */ - -/* USER CODE END 4 */ - -/* USER CODE BEGIN Header_StartDefaultTask */ -/** - * @brief Function implementing the defaultTask thread. - * @param argument: Not used - * @retval None - */ -/* USER CODE END Header_StartDefaultTask */ -void StartDefaultTask(void const * argument) -{ - /* init code for USB_HOST */ - MX_USB_HOST_Init(); - /* USER CODE BEGIN 5 */ - /* Infinite loop */ - for(;;) - { - osDelay(1); - } - /* USER CODE END 5 */ -} - -/** - * @brief Period elapsed callback in non blocking mode - * @note This function is called when TIM6 interrupt took place, inside - * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment - * a global variable "uwTick" used as application time base. - * @param htim : TIM handle - * @retval None - */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) -{ - /* USER CODE BEGIN Callback 0 */ - - /* USER CODE END Callback 0 */ - if (htim->Instance == TIM6) - { - HAL_IncTick(); - } - /* USER CODE BEGIN Callback 1 */ - - /* USER CODE END Callback 1 */ -} - -/** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - /* USER CODE BEGIN Error_Handler_Debug */ - /* User can add his own implementation to report the HAL error return state */ - __disable_irq(); - while (1) - { - } - /* USER CODE END Error_Handler_Debug */ -} -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t *file, uint32_t line) -{ - /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - /* USER CODE END 6 */ -} -#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fd/90da6c6ff29700101fd9ff769d0aef2b b/.metadata/.plugins/org.eclipse.core.resources/.history/fd/90da6c6ff29700101fd9ff769d0aef2b deleted file mode 100644 index 27a5eda..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fd/90da6c6ff29700101fd9ff769d0aef2b +++ /dev/null @@ -1,13 +0,0 @@ -/* - * breadboard.cpp - * - * Created on: Sep 22, 2025 - * Author: ja - */ - -#include "breadboard.h" - -void SetTrafficLights(TrafficState s) -{ - HAL_GPIO_WritePin(Green_Port); -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/a0fc1d32ad9600101605f36318c5a03f b/.metadata/.plugins/org.eclipse.core.resources/.history/ff/a0fc1d32ad9600101605f36318c5a03f deleted file mode 100644 index 5119ff3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/a0fc1d32ad9600101605f36318c5a03f +++ /dev/null @@ -1,72 +0,0 @@ -/* - * breadboard.c - * - * Created on: Sep 17, 2025 - * Author: ja - */ - -/* - * #define RedLight_Pin GPIO_PIN_2 - * #define RedLight_GPIO_Port GPIOE - * - * #define YellowLight_Pin GPIO_PIN_3 - * #define YellowLight_GPIO_Port GPIOE - * - * #define GreenLight_Pin GPIO_PIN_4 - * #define GreenLight_GPIO_Port GPIOE - * - * RedLight: PE2 - * YellowLight: PE3 - * GreenLight: PE4 - * WalkLight: PE5 - * - * Done: Traffic Light - * TODO: async? Walk Signal, Light Dimmer - */ - -#include "main.h" -#include "breadboard.h" - -#define R_Pin RedLight_Pin -#define Y_Pin YellowLight_Pin -#define G_Pin GreenLight_Pin -#define W_Pin WalkLight_Pin - -#define R_Prt RedLight_GPIO_Port -#define Y_Prt YellowLight_GPIO_Port -#define G_Prt GreenLight_GPIO_Port -#define W_Prt WalkLight_GPIO_Port - -uint32_t redlight_last; -uint32_t ylwlight_last; -uint32_t grnlight_last; - -void -starttick(void) -{ - redlight_last = HAL_GetTick(); - ylwlight_last = HAL_GetTick(); - grnlight_last = HAL_GetTick(); -} - -void -trafflight(int traffSPD) -{ - /* - HAL_GPIO_TogglePin(R_Prt, R_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(R_Prt, R_Pin); - - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(Y_Prt, Y_Pin); - - HAL_GPIO_TogglePin(G_Prt, G_Pin); - HAL_Delay(traffSPD); - HAL_GPIO_TogglePin(G_Prt, G_Pin); - */ - - uint32_t trafftick_curr = HAL_GetTick(); - - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/f0ce4bc0029f0010137c8db58b20398a b/.metadata/.plugins/org.eclipse.core.resources/.history/ff/f0ce4bc0029f0010137c8db58b20398a new file mode 100644 index 0000000..a4eae41 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ff/f0ce4bc0029f0010137c8db58b20398a @@ -0,0 +1,536 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "breadboard.h" +#include +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +CRC_HandleTypeDef hcrc; + +DMA2D_HandleTypeDef hdma2d; + +TIM_HandleTypeDef htim1; + +osThreadId defaultTaskHandle; +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_CRC_Init(void); +static void MX_DMA2D_Init(void); +static void MX_TIM1_Init(void); +void StartDefaultTask(void const * argument); + +void SetTrafficLights(TrafficSate s); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +enum class TrafficState { + GREEN, + YELLOW, + RED +}; + +TrafficState currentState = TrafficState::GREEN; +uint32_t stateStartTime = 0; // HAL_GetTick() at the start of this state +bool buttonPressed = false; +bool pedestrianNextCycle = false; + +const uint32_t DURATION_GREEN = 5000; +const uint32_t DURATION_YELLOW = 3000; +const uint32_t DURATION_RED = 5000; +const uint32_t DURATION_RED_PED = 7000; + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + stateStartTime = HAL_GetTick(); + SetTrafficLights(currentState); + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_CRC_Init(); + MX_DMA2D_Init(); + MX_TIM1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + /* add queues, ... */ + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* definition and creation of defaultTask */ + //osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096); + //defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); + + /* USER CODE BEGIN RTOS_THREADS */ + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + uint32_t now = HAL_GetTick(); + uint32_t elapsed = now - stateStartTime; + + /* + switch(currentState) + { + case TrafficState::GREEN: + if (elapsed >= DURATION_GREEN) { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressed = false; // reset the button-flag for the new cycle + } else if (buttonPressed) { + //idk + buttonPressed = true; + currentState = TrafficState::YELLOW; + + } + break; + case TrafficState::YELLOW: + break; + case TrafficState::RED: + break; + } + */ + + switch(currentState) + { + case TrafficState::GREEN: + if (butonPressedThisCycle) + { + currentState = TrafficState::YELLOW; + stateStartTime = now; + buttonPressedThisCycle = false; + SetTrafficLights(currentState); + } else if (elapsed >= DURATION_GREEN) + { + buttonPressedThisCycle = true; + currentState = TrafficState::YELLOW; + stateStartTime = now; + + + } + break; + + case TrafficState::YELLOW: + if (elapsed >= DURATION_YELLOW) + { + currentState = TrafficState::RED; + stateStartTime = now; + SetTrafficLights(currentState); + // if ped button was pressed during GREEN or YELLOW, + // we need to enable WHITE ... + + } + break; + + case TrafficState::RED: + if (pedestrianNextCycle) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_SET); + if (elapsed >= DURATION_RED_PED) + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_PIN_RESET); + pedestrianNextCycle = false; + currentState = TrafficState::GREEN; + stateStartTime = now; + SetTrafficLights(currentState); + } + } else + { + HAL_GPIO_WritePin(White_GPIO_Port, White_Pin, GPIO_Pin_RESET); + if (elapased >= DURATION_RED_PED) + { + + } + } + break; + } + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 8; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief CRC Initialization Function + * @param None + * @retval None + */ +static void MX_CRC_Init(void) +{ + + /* USER CODE BEGIN CRC_Init 0 */ + + /* USER CODE END CRC_Init 0 */ + + /* USER CODE BEGIN CRC_Init 1 */ + + /* USER CODE END CRC_Init 1 */ + hcrc.Instance = CRC; + if (HAL_CRC_Init(&hcrc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN CRC_Init 2 */ + + /* USER CODE END CRC_Init 2 */ + +} + +/** + * @brief DMA2D Initialization Function + * @param None + * @retval None + */ +static void MX_DMA2D_Init(void) +{ + + /* USER CODE BEGIN DMA2D_Init 0 */ + + /* USER CODE END DMA2D_Init 0 */ + + /* USER CODE BEGIN DMA2D_Init 1 */ + + /* USER CODE END DMA2D_Init 1 */ + hdma2d.Instance = DMA2D; + hdma2d.Init.Mode = DMA2D_M2M; + hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; + hdma2d.Init.OutputOffset = 0; + hdma2d.LayerCfg[1].InputOffset = 0; + hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888; + hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; + hdma2d.LayerCfg[1].InputAlpha = 0; + if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) + { + Error_Handler(); + } + if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DMA2D_Init 2 */ + + /* USER CODE END DMA2D_Init 2 */ + +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 0; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 65535; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, White_Pin|Red_Pin|Yellow_Pin|Green_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PedButton_Pin */ + GPIO_InitStruct.Pin = PedButton_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(PedButton_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : White_Pin Red_Pin Yellow_Pin Green_Pin */ + GPIO_InitStruct.Pin = White_Pin|Red_Pin|Yellow_Pin|Green_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* EXTI interrupt init*/ + HAL_NVIC_SetPriority(EXTI15_10_IRQn, 15, 0); + HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ + +void HAL_GPIO_EXTI_CallBack(uint16_t GPIO_Pin) +{ + static uint32_t lastInterruptTime = 0; + uint32_t now = HAL_GetTick(); + if (now - lastInterruptTime < 100) { + return; + } + + lastInterruptTime = now; + + bool buttonPressedThisCycle = false; // temporary, get rid of this + + if (buttonPressed) { // buttonPressedHere? + buttonPressedThisCycle = true; + } +} + +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void const * argument) +{ + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + for(;;) + { + osDelay(1); + } + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM6 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM6) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/Calc2/.indexes/bf/c4/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/Calc2/.indexes/bf/c4/history.index deleted file mode 100644 index 3113dff..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/Calc2/.indexes/bf/c4/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/af/history.index deleted file mode 100644 index 5c7ac5a..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/af/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/bf/be/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/bf/be/history.index deleted file mode 100644 index 9d865cd..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/bf/be/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/bf/c4/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/bf/c4/history.index deleted file mode 100644 index d87a4af..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/bf/c4/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/properties.index index 2c54db9..5cebdf5 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/properties.index and b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlus/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/af/history.index deleted file mode 100644 index 4ca09e1..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/af/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/bf/be/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/bf/be/history.index deleted file mode 100644 index 50a413d..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/bf/be/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/bf/c4/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/bf/c4/history.index index 7efb452..82d10d3 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/bf/c4/history.index and b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/bf/c4/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/properties.index index d9d6288..a99ac23 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/properties.index and b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.markers index 8f85740..8635eab 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.markers and b/.metadata/.plugins/org.eclipse.core.resources/.projects/TrafficLightsPlusPlus/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/19.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/26.tree similarity index 83% rename from .metadata/.plugins/org.eclipse.core.resources/.root/19.tree rename to .metadata/.plugins/org.eclipse.core.resources/.root/26.tree index 05c8300..bbaa8de 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.root/19.tree and b/.metadata/.plugins/org.eclipse.core.resources/.root/26.tree differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources index 1c03d77..b4bfb89 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources and b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 0000000..006b6ff --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +macros/workspace=\n\n diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs index b8eba62..ae1ff2b 100644 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -7,5 +7,5 @@ properties/MyNewProject.null.83337167/com.st.stm32cube.ide.mcu.gnu.managedbuild. properties/MyNewProject.null.83337167/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1285969537=com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.144819249\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.379559059\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.2036727211\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.980685916\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1426522156\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1237423215\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1282775561\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1912732982\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1219327809\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.899390694\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1885585371\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1401195929\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.337205154\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.167142367\=rebuildState\\\=true\\n\n properties/TrafficLightsPlus.null.1047040538/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.551871681=com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.551871681\=rcState\\\=0\\nrebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.138235671\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1872140206\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1477351937\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1725620854\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1637256854\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.835115412\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1553682423\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.229572010\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.7720070\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1699159996\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1811087539\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1471646069\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.43084128\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.2144803112\=rebuildState\\\=false\\n\n properties/TrafficLightsPlus.null.1047040538/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1862556084=com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1925537181\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1243695734\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.2098225013\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.256261605\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.34078085\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1175117447\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.659878081\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.645101001\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1300569852\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.770967083\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1618010879\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.529451660\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.353087469\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.411830067\=rebuildState\\\=true\\n\n -properties/TrafficLightsPlusPlus.null.166290000/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1445703066=com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1445703066\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.417290083\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1169038626\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1982492857\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.608660531\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.975152869\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.2101279197\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.2068495425\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1798514912\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.2075628922\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.580493968\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1133793974\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1157387618\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1903197450\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.130463048\=rebuildState\\\=true\\n\n +properties/TrafficLightsPlusPlus.null.166290000/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1445703066=com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1445703066\=rcState\\\=0\\nrebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.417290083\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1169038626\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1982492857\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.608660531\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.975152869\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.2101279197\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.2068495425\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1798514912\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.2075628922\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.580493968\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1133793974\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1157387618\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1903197450\=rebuildState\\\=false\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.130463048\=rebuildState\\\=false\\n\n properties/TrafficLightsPlusPlus.null.166290000/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1430849248=com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1448864625\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.331577059\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.179178595\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.543420534\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.358312420\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1142953222\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.862510013\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.712074520\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.961692441\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1862849083\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.468550049\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.20346972\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.334079194\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1661529107\=rebuildState\\\=true\\n\n diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prj-TrafficLightsPlus.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prj-TrafficLightsPlus.prefs new file mode 100644 index 0000000..4ff810f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prj-TrafficLightsPlus.prefs @@ -0,0 +1,3 @@ +buildConsole/keepLog=true +buildConsole/logLocation=/home/ja/st/Home/.metadata/.plugins/org.eclipse.cdt.ui/TrafficLightsPlus.build.log +eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs index 40edbad..b53a3e8 100644 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs @@ -1,4 +1,4 @@ eclipse.preferences.version=1 -platformState=766021206087796 +platformState=766023626501177 quickStart=false tipsAndTricks=true diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index 242126c..8ca935c 100644 --- a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,8 +1,8 @@ - - + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration - + @@ -11,9 +11,9 @@ topLevel shellMaximized - - - + + + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -70,68 +70,68 @@ persp.newWizSC:com.st.stm32cube.ide.cmake.newwizard persp.viewSC:com.st.stm32cube.ide.mcu.cyclomaticcomplexity.view persp.viewSC:com.st.stm32cube.ide.mcu.sfrview - - - + + + View categoryTag:General - + View categoryTag:C/C++ - + View categoryTag:General - - - - - + + + + + View categoryTag:General - + View categoryTag:General - + View categoryTag:Make - - - + + + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - - + + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ @@ -140,7 +140,7 @@ - + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -158,19 +158,20 @@ persp.newWizSC:com.st.stm32cube.common.projectcreation.ui.stm32projectfromiocwizard persp.newWizSC:com.st.stm32cube.ide.mpu.linux.projectcreation.ui.wizard.linuxprojectfromsourcewizard persp.newWizSC:com.st.stm32cube.ide.cmake.newwizard - - - + + + noFocus + View categoryTag:General - - - - - - + + + + + + View categoryTag:Device Configuration Tool @@ -180,1147 +181,1141 @@ - - + + View categoryTag:Help - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:Help - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Help - - + + EditorStack org.eclipse.e4.primaryDataStack active noFocus - - + + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor - - + + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor - - + + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor active activeOnClose - - - Editor - removeOnHide - org.eclipse.cdt.ui.editor.CEditor - - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + View categoryTag:General - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Make - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:Device Configuration Tool - - + + toolbarSeparator - + - + Draggable - + - + toolbarSeparator - + - + Draggable - - + + - + toolbarSeparator - + - + Draggable - + Draggable - + Draggable - + Draggable - + toolbarSeparator - + - + Draggable - + - + toolbarSeparator - + - + toolbarSeparator - + - + Draggable - + stretch SHOW_RESTORE_MENU - + Draggable HIDEABLE SHOW_RESTORE_MENU - - + + stretch - + Draggable - + Draggable - - + + TrimStack Draggable - + TrimStack Draggable - + TrimStack Draggable - - + + TrimStack Draggable - + TrimStack Draggable - + TrimStack Draggable - + TrimStack Draggable - - - - - - - - - - - + + + + + + + + + + + platform:gtk - - - - + + + + platform:gtk - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - + + - - - + + + - - - - - - + + + + + + - - - - + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor removeOnHide - + View categoryTag:Device Configuration Tool - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:Debug - + View categoryTag:FreeRTOS - + View categoryTag:FreeRTOS - + View categoryTag:FreeRTOS - + View categoryTag:FreeRTOS - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:C/C++ - + View categoryTag:Other - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Make - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Help - + View categoryTag:Connections - + View categoryTag:General - + View categoryTag:Version Control (Team) - + View categoryTag:Version Control (Team) - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View @@ -1343,697 +1338,697 @@ SHOW_RESTORE_MENU - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrafficLightsPlusPlus/2025/9/40/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrafficLightsPlusPlus/2025/9/40/refactorings.history new file mode 100644 index 0000000..e8b0d3a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrafficLightsPlusPlus/2025/9/40/refactorings.history @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrafficLightsPlusPlus/2025/9/40/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrafficLightsPlusPlus/2025/9/40/refactorings.index new file mode 100644 index 0000000..8219ccb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrafficLightsPlusPlus/2025/9/40/refactorings.index @@ -0,0 +1 @@ +1759192068698 Rename resource 'main.c' diff --git a/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml index dcde5d4..651d2d7 100644 --- a/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml +++ b/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml @@ -4,4 +4,6 @@ +
+
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml index 8fca204..925287e 100644 --- a/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml +++ b/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml @@ -3,20 +3,20 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/.metadata/version.ini b/.metadata/version.ini index 89eb6c6..d59c7b9 100644 --- a/.metadata/version.ini +++ b/.metadata/version.ini @@ -1,3 +1,3 @@ -#Mon Sep 22 14:25:46 CDT 2025 +#Mon Oct 13 14:21:49 CDT 2025 org.eclipse.core.runtime=2 org.eclipse.platform=4.33.0.v20240903-0240 diff --git a/TrafficLightsPlus/.cproject b/TrafficLightsPlus/.cproject index cfc367e..3316133 100644 --- a/TrafficLightsPlus/.cproject +++ b/TrafficLightsPlus/.cproject @@ -24,7 +24,7 @@