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 @@
-
+
@@ -120,19 +120,19 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
+
-
-
-
+
+
-
-
-
+
+
-
+
@@ -219,5 +219,12 @@
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TrafficLightsPlus/.settings/org.eclipse.cdt.core.prefs b/TrafficLightsPlus/.settings/org.eclipse.cdt.core.prefs
new file mode 100644
index 0000000..c8ec5df
--- /dev/null
+++ b/TrafficLightsPlus/.settings/org.eclipse.cdt.core.prefs
@@ -0,0 +1,6 @@
+doxygen/doxygen_new_line_after_brief=true
+doxygen/doxygen_use_brief_tag=false
+doxygen/doxygen_use_javadoc_tags=true
+doxygen/doxygen_use_pre_tag=false
+doxygen/doxygen_use_structural_commands=false
+eclipse.preferences.version=1
diff --git a/TrafficLightsPlus/Debug/Core/Src/breadboard.cyclo b/TrafficLightsPlus/Debug/Core/Src/breadboard.cyclo
deleted file mode 100644
index 5d62bac..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/breadboard.cyclo
+++ /dev/null
@@ -1,2 +0,0 @@
-../Core/Src/breadboard.c:46:1:starttick 1
-../Core/Src/breadboard.c:53:1:trafflight 7
diff --git a/TrafficLightsPlus/Debug/Core/Src/breadboard.d b/TrafficLightsPlus/Debug/Core/Src/breadboard.d
deleted file mode 100644
index ac46ae2..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/breadboard.d
+++ /dev/null
@@ -1,82 +0,0 @@
-Core/Src/breadboard.o: ../Core/Src/breadboard.c ../Core/Inc/main.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h \
- ../Core/Inc/breadboard.h
-../Core/Inc/main.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
-../Core/Inc/breadboard.h:
diff --git a/TrafficLightsPlus/Debug/Core/Src/breadboard.o b/TrafficLightsPlus/Debug/Core/Src/breadboard.o
deleted file mode 100644
index 17e5cf7..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/breadboard.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/breadboard.su b/TrafficLightsPlus/Debug/Core/Src/breadboard.su
deleted file mode 100644
index b3969a7..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/breadboard.su
+++ /dev/null
@@ -1,2 +0,0 @@
-../Core/Src/breadboard.c:46:1:starttick 8 static
-../Core/Src/breadboard.c:53:1:trafflight 24 static
diff --git a/TrafficLightsPlus/Debug/Core/Src/freertos.o b/TrafficLightsPlus/Debug/Core/Src/freertos.o
deleted file mode 100644
index 0a5387c..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/freertos.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/main.cyclo b/TrafficLightsPlus/Debug/Core/Src/main.cyclo
deleted file mode 100644
index 4fb3c0c..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/main.cyclo
+++ /dev/null
@@ -1,14 +0,0 @@
-../Core/Src/main.c:93:5:main 1
-../Core/Src/main.c:177:6:SystemClock_Config 3
-../Core/Src/main.c:223:13:MX_CRC_Init 2
-../Core/Src/main.c:249:13:MX_DMA2D_Init 3
-../Core/Src/main.c:286:13:MX_I2C3_Init 4
-../Core/Src/main.c:334:13:MX_LTDC_Init 3
-../Core/Src/main.c:396:13:MX_SPI5_Init 2
-../Core/Src/main.c:434:13:MX_TIM1_Init 4
-../Core/Src/main.c:480:13:MX_USART1_UART_Init 2
-../Core/Src/main.c:509:13:MX_FMC_Init 2
-../Core/Src/main.c:560:13:MX_GPIO_Init 1
-../Core/Src/main.c:667:6:StartDefaultTask 1
-../Core/Src/main.c:688:6:HAL_TIM_PeriodElapsedCallback 2
-../Core/Src/main.c:706:6:Error_Handler 1
diff --git a/TrafficLightsPlus/Debug/Core/Src/main.d b/TrafficLightsPlus/Debug/Core/Src/main.d
deleted file mode 100644
index 3c9b1d1..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/main.d
+++ /dev/null
@@ -1,117 +0,0 @@
-Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \
- ../Core/Inc/FreeRTOSConfig.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../USB_HOST/App/usb_host.h ../Core/Inc/breadboard.h
-../Core/Inc/main.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
-../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h:
-../Core/Inc/FreeRTOSConfig.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h:
-../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/list.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../USB_HOST/App/usb_host.h:
-../Core/Inc/breadboard.h:
diff --git a/TrafficLightsPlus/Debug/Core/Src/main.o b/TrafficLightsPlus/Debug/Core/Src/main.o
deleted file mode 100644
index e15428b..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/main.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/main.su b/TrafficLightsPlus/Debug/Core/Src/main.su
deleted file mode 100644
index 91393cf..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/main.su
+++ /dev/null
@@ -1,14 +0,0 @@
-../Core/Src/main.c:93:5:main 8 static
-../Core/Src/main.c:177:6:SystemClock_Config 88 static
-../Core/Src/main.c:223:13:MX_CRC_Init 8 static
-../Core/Src/main.c:249:13:MX_DMA2D_Init 8 static
-../Core/Src/main.c:286:13:MX_I2C3_Init 8 static
-../Core/Src/main.c:334:13:MX_LTDC_Init 64 static
-../Core/Src/main.c:396:13:MX_SPI5_Init 8 static
-../Core/Src/main.c:434:13:MX_TIM1_Init 32 static
-../Core/Src/main.c:480:13:MX_USART1_UART_Init 8 static
-../Core/Src/main.c:509:13:MX_FMC_Init 40 static
-../Core/Src/main.c:560:13:MX_GPIO_Init 64 static
-../Core/Src/main.c:667:6:StartDefaultTask 16 static
-../Core/Src/main.c:688:6:HAL_TIM_PeriodElapsedCallback 16 static
-../Core/Src/main.c:706:6:Error_Handler 4 static,ignoring_inline_asm
diff --git a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.cyclo b/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.cyclo
deleted file mode 100644
index 73666dc..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.cyclo
+++ /dev/null
@@ -1,19 +0,0 @@
-../Core/Src/stm32f4xx_hal_msp.c:63:6:HAL_MspInit 1
-../Core/Src/stm32f4xx_hal_msp.c:88:6:HAL_CRC_MspInit 2
-../Core/Src/stm32f4xx_hal_msp.c:111:6:HAL_CRC_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:133:6:HAL_DMA2D_MspInit 2
-../Core/Src/stm32f4xx_hal_msp.c:159:6:HAL_DMA2D_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:184:6:HAL_I2C_MspInit 2
-../Core/Src/stm32f4xx_hal_msp.c:229:6:HAL_I2C_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:260:6:HAL_LTDC_MspInit 3
-../Core/Src/stm32f4xx_hal_msp.c:388:6:HAL_LTDC_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:452:6:HAL_SPI_MspInit 2
-../Core/Src/stm32f4xx_hal_msp.c:490:6:HAL_SPI_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:520:6:HAL_TIM_Base_MspInit 2
-../Core/Src/stm32f4xx_hal_msp.c:543:6:HAL_TIM_Base_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:565:6:HAL_UART_MspInit 2
-../Core/Src/stm32f4xx_hal_msp.c:602:6:HAL_UART_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:627:13:HAL_FMC_MspInit 2
-../Core/Src/stm32f4xx_hal_msp.c:733:6:HAL_SDRAM_MspInit 1
-../Core/Src/stm32f4xx_hal_msp.c:745:13:HAL_FMC_MspDeInit 2
-../Core/Src/stm32f4xx_hal_msp.c:819:6:HAL_SDRAM_MspDeInit 1
diff --git a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.o b/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.o
deleted file mode 100644
index 64b0d88..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.su b/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.su
deleted file mode 100644
index d448fc4..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_msp.su
+++ /dev/null
@@ -1,19 +0,0 @@
-../Core/Src/stm32f4xx_hal_msp.c:63:6:HAL_MspInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:88:6:HAL_CRC_MspInit 24 static
-../Core/Src/stm32f4xx_hal_msp.c:111:6:HAL_CRC_MspDeInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:133:6:HAL_DMA2D_MspInit 24 static
-../Core/Src/stm32f4xx_hal_msp.c:159:6:HAL_DMA2D_MspDeInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:184:6:HAL_I2C_MspInit 48 static
-../Core/Src/stm32f4xx_hal_msp.c:229:6:HAL_I2C_MspDeInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:260:6:HAL_LTDC_MspInit 112 static
-../Core/Src/stm32f4xx_hal_msp.c:388:6:HAL_LTDC_MspDeInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:452:6:HAL_SPI_MspInit 48 static
-../Core/Src/stm32f4xx_hal_msp.c:490:6:HAL_SPI_MspDeInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:520:6:HAL_TIM_Base_MspInit 24 static
-../Core/Src/stm32f4xx_hal_msp.c:543:6:HAL_TIM_Base_MspDeInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:565:6:HAL_UART_MspInit 48 static
-../Core/Src/stm32f4xx_hal_msp.c:602:6:HAL_UART_MspDeInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:627:13:HAL_FMC_MspInit 32 static
-../Core/Src/stm32f4xx_hal_msp.c:733:6:HAL_SDRAM_MspInit 16 static
-../Core/Src/stm32f4xx_hal_msp.c:745:13:HAL_FMC_MspDeInit 8 static
-../Core/Src/stm32f4xx_hal_msp.c:819:6:HAL_SDRAM_MspDeInit 16 static
diff --git a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_timebase_tim.o b/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_timebase_tim.o
deleted file mode 100644
index 7f9ce14..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_hal_timebase_tim.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.cyclo b/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.cyclo
deleted file mode 100644
index 6b78a0d..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.cyclo
+++ /dev/null
@@ -1,10 +0,0 @@
-../Core/Src/stm32f4xx_it.c:73:6:NMI_Handler 1
-../Core/Src/stm32f4xx_it.c:88:6:HardFault_Handler 1
-../Core/Src/stm32f4xx_it.c:103:6:MemManage_Handler 1
-../Core/Src/stm32f4xx_it.c:118:6:BusFault_Handler 1
-../Core/Src/stm32f4xx_it.c:133:6:UsageFault_Handler 1
-../Core/Src/stm32f4xx_it.c:148:6:DebugMon_Handler 1
-../Core/Src/stm32f4xx_it.c:168:6:TIM6_DAC_IRQHandler 1
-../Core/Src/stm32f4xx_it.c:182:6:OTG_HS_IRQHandler 1
-../Core/Src/stm32f4xx_it.c:196:6:LTDC_IRQHandler 1
-../Core/Src/stm32f4xx_it.c:210:6:DMA2D_IRQHandler 1
diff --git a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.o b/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.o
deleted file mode 100644
index 7265845..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.su b/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.su
deleted file mode 100644
index d6e46b7..0000000
--- a/TrafficLightsPlus/Debug/Core/Src/stm32f4xx_it.su
+++ /dev/null
@@ -1,10 +0,0 @@
-../Core/Src/stm32f4xx_it.c:73:6:NMI_Handler 4 static
-../Core/Src/stm32f4xx_it.c:88:6:HardFault_Handler 4 static
-../Core/Src/stm32f4xx_it.c:103:6:MemManage_Handler 4 static
-../Core/Src/stm32f4xx_it.c:118:6:BusFault_Handler 4 static
-../Core/Src/stm32f4xx_it.c:133:6:UsageFault_Handler 4 static
-../Core/Src/stm32f4xx_it.c:148:6:DebugMon_Handler 4 static
-../Core/Src/stm32f4xx_it.c:168:6:TIM6_DAC_IRQHandler 8 static
-../Core/Src/stm32f4xx_it.c:182:6:OTG_HS_IRQHandler 8 static
-../Core/Src/stm32f4xx_it.c:196:6:LTDC_IRQHandler 8 static
-../Core/Src/stm32f4xx_it.c:210:6:DMA2D_IRQHandler 8 static
diff --git a/TrafficLightsPlus/Debug/Core/Src/syscalls.o b/TrafficLightsPlus/Debug/Core/Src/syscalls.o
deleted file mode 100644
index 0fd8b01..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/syscalls.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/sysmem.o b/TrafficLightsPlus/Debug/Core/Src/sysmem.o
deleted file mode 100644
index f8826b0..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/sysmem.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Core/Src/system_stm32f4xx.o b/TrafficLightsPlus/Debug/Core/Src/system_stm32f4xx.o
deleted file mode 100644
index 8efeceb..0000000
Binary files a/TrafficLightsPlus/Debug/Core/Src/system_stm32f4xx.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
deleted file mode 100644
index 632fd13..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
deleted file mode 100644
index 61e096f..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.o
deleted file mode 100644
index 5461c3c..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o
deleted file mode 100644
index 8bbb398..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma2d.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma2d.o
deleted file mode 100644
index 4e8fbe2..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma2d.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.o
deleted file mode 100644
index b7cdca2..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.d
deleted file mode 100644
index 2f935b4..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.o
deleted file mode 100644
index 8eb6e7a..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dsi.su
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.o
deleted file mode 100644
index c49afc0..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.o
deleted file mode 100644
index 2010948..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.o
deleted file mode 100644
index c5c424f..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.o
deleted file mode 100644
index c1bc847..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
deleted file mode 100644
index 12e9c0a..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.cyclo
deleted file mode 100644
index 4950e43..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.cyclo
+++ /dev/null
@@ -1,30 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:110:19:HAL_HCD_Init 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:218:19:HAL_HCD_HC_Init 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:276:19:HAL_HCD_HC_Halt 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:292:19:HAL_HCD_DeInit 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:327:14:HAL_HCD_MspInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:342:14:HAL_HCD_MspDeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:394:19:HAL_HCD_HC_SubmitRequest 18
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:538:6:HAL_HCD_IRQHandler 18
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:661:6:HAL_HCD_WKUP_IRQHandler 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:672:13:HAL_HCD_SOF_Callback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:687:13:HAL_HCD_Connect_Callback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:702:13:HAL_HCD_Disconnect_Callback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:717:13:HAL_HCD_PortEnabled_Callback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:732:13:HAL_HCD_PortDisabled_Callback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:757:13:HAL_HCD_HC_NotifyURBChange_Callback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1073:19:HAL_HCD_Start 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1092:19:HAL_HCD_Stop 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1106:19:HAL_HCD_ResetPort 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1135:18:HAL_HCD_GetState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1154:21:HAL_HCD_HC_GetURBState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1167:10:HAL_HCD_HC_GetXferCount 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1189:21:HAL_HCD_HC_GetState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1199:10:HAL_HCD_GetCurrentFrame 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1209:10:HAL_HCD_GetCurrentSpeed 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1223:19:HAL_HCD_HC_SetHubInfo 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1253:19:HAL_HCD_HC_ClearHubInfo 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1280:13:HCD_HC_IN_IRQHandler 52
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1599:13:HCD_HC_OUT_IRQHandler 38
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1840:13:HCD_RXQLVL_IRQHandler 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1906:13:HCD_Port_IRQHandler 9
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.d
deleted file mode 100644
index d69ea27..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.o
deleted file mode 100644
index be3892f..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.su
deleted file mode 100644
index 8d2e491..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.su
+++ /dev/null
@@ -1,30 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:110:19:HAL_HCD_Init 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:218:19:HAL_HCD_HC_Init 56 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:276:19:HAL_HCD_HC_Halt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:292:19:HAL_HCD_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:327:14:HAL_HCD_MspInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:342:14:HAL_HCD_MspDeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:394:19:HAL_HCD_HC_SubmitRequest 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:538:6:HAL_HCD_IRQHandler 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:661:6:HAL_HCD_WKUP_IRQHandler 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:672:13:HAL_HCD_SOF_Callback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:687:13:HAL_HCD_Connect_Callback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:702:13:HAL_HCD_Disconnect_Callback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:717:13:HAL_HCD_PortEnabled_Callback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:732:13:HAL_HCD_PortDisabled_Callback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:757:13:HAL_HCD_HC_NotifyURBChange_Callback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1073:19:HAL_HCD_Start 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1092:19:HAL_HCD_Stop 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1106:19:HAL_HCD_ResetPort 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1135:18:HAL_HCD_GetState 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1154:21:HAL_HCD_HC_GetURBState 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1167:10:HAL_HCD_HC_GetXferCount 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1189:21:HAL_HCD_HC_GetState 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1199:10:HAL_HCD_GetCurrentFrame 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1209:10:HAL_HCD_GetCurrentSpeed 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1223:19:HAL_HCD_HC_SetHubInfo 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1253:19:HAL_HCD_HC_ClearHubInfo 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1280:13:HCD_HC_IN_IRQHandler 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1599:13:HCD_HC_OUT_IRQHandler 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1840:13:HCD_RXQLVL_IRQHandler 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hcd.c:1906:13:HCD_Port_IRQHandler 32 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.cyclo
deleted file mode 100644
index d56c765..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.cyclo
+++ /dev/null
@@ -1,82 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:445:19:HAL_I2C_Init 11
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:560:19:HAL_I2C_DeInit 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:606:13:HAL_I2C_MspInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:622:13:HAL_I2C_MspDeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:959:13:I2C_Flush_DR 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1056:19:HAL_I2C_Master_Transmit 13
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1177:19:HAL_I2C_Master_Receive 20
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1428:19:HAL_I2C_Slave_Transmit 14
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1558:19:HAL_I2C_Slave_Receive 12
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1679:19:HAL_I2C_Master_Transmit_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1756:19:HAL_I2C_Master_Receive_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1836:19:HAL_I2C_Slave_Transmit_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1898:19:HAL_I2C_Slave_Receive_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1962:19:HAL_I2C_Master_Transmit_DMA 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2117:19:HAL_I2C_Master_Receive_DMA 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2270:19:HAL_I2C_Slave_Transmit_DMA 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2384:19:HAL_I2C_Slave_Receive_DMA 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2503:19:HAL_I2C_Mem_Write 13
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2626:19:HAL_I2C_Mem_Read 20
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2878:19:HAL_I2C_Mem_Write_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2963:19:HAL_I2C_Mem_Read_IT 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3054:19:HAL_I2C_Mem_Write_DMA 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3236:19:HAL_I2C_Mem_Read_DMA 12
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3432:19:HAL_I2C_IsDeviceReady 16
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3568:19:HAL_I2C_Master_Seq_Transmit_IT 13
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3663:19:HAL_I2C_Master_Seq_Transmit_DMA 23
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3843:19:HAL_I2C_Master_Seq_Receive_IT 17
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3964:19:HAL_I2C_Master_Seq_Receive_DMA 30
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4179:19:HAL_I2C_Slave_Seq_Transmit_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4245:19:HAL_I2C_Slave_Seq_Transmit_DMA 16
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4419:19:HAL_I2C_Slave_Seq_Receive_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4485:19:HAL_I2C_Slave_Seq_Receive_DMA 16
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4655:19:HAL_I2C_EnableListen_IT 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4688:19:HAL_I2C_DisableListen_IT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4723:19:HAL_I2C_Master_Abort_IT 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4783:6:HAL_I2C_EV_IRQHandler 46
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4952:6:HAL_I2C_ER_IRQHandler 18
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5032:13:HAL_I2C_MasterTxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5048:13:HAL_I2C_MasterRxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5063:13:HAL_I2C_SlaveTxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5079:13:HAL_I2C_SlaveRxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5097:13:HAL_I2C_AddrCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5115:13:HAL_I2C_ListenCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5131:13:HAL_I2C_MemTxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5147:13:HAL_I2C_MemRxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5163:13:HAL_I2C_ErrorCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5179:13:HAL_I2C_AbortCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5214:22:HAL_I2C_GetState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5226:21:HAL_I2C_GetMode 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5237:10:HAL_I2C_GetError 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5260:13:I2C_MasterTransmit_TXE 12
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5354:13:I2C_MasterTransmit_BTF 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5433:13:I2C_MemoryTransmit_TXE_BTF 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5520:13:I2C_MasterReceive_RXNE 11
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5639:13:I2C_MasterReceive_BTF 13
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5768:13:I2C_Master_SB 11
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5829:13:I2C_Master_ADD10 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5848:13:I2C_Master_ADDR 33
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5993:13:I2C_SlaveTransmit_TXE 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6034:13:I2C_SlaveTransmit_BTF 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6055:13:I2C_SlaveReceive_RXNE 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6096:13:I2C_SlaveReceive_BTF 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6118:13:I2C_Slave_ADDR 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6169:13:I2C_Slave_STOPF 19
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6338:13:I2C_Slave_AF 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6407:13:I2C_ITError 21
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6573:26:I2C_MasterRequestWrite 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6643:26:I2C_MasterRequestRead 13
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6743:26:I2C_RequestMemoryWrite 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6823:26:I2C_RequestMemoryRead 14
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6932:13:I2C_DMAXferCplt 18
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7077:13:I2C_DMAError 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7118:13:I2C_DMAAbort 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7221:26:I2C_WaitOnFlagUntilTimeout 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7258:26:I2C_WaitOnMasterAddressFlagUntilTimeout 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7312:26:I2C_WaitOnTXEFlagUntilTimeout 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7353:26:I2C_WaitOnBTFFlagUntilTimeout 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7394:26:I2C_WaitOnSTOPFlagUntilTimeout 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7430:26:I2C_WaitOnSTOPRequestThroughIT 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7459:26:I2C_WaitOnRXNEFlagUntilTimeout 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7507:26:I2C_IsAcknowledgeFailed 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7532:13:I2C_ConvertOtherXferOptions 3
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.d
deleted file mode 100644
index 5c4f152..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.o
deleted file mode 100644
index 8143da0..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.su
deleted file mode 100644
index 135aba4..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.su
+++ /dev/null
@@ -1,82 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:445:19:HAL_I2C_Init 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:560:19:HAL_I2C_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:606:13:HAL_I2C_MspInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:622:13:HAL_I2C_MspDeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:959:13:I2C_Flush_DR 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1056:19:HAL_I2C_Master_Transmit 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1177:19:HAL_I2C_Master_Receive 56 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1428:19:HAL_I2C_Slave_Transmit 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1558:19:HAL_I2C_Slave_Receive 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1679:19:HAL_I2C_Master_Transmit_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1756:19:HAL_I2C_Master_Receive_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1836:19:HAL_I2C_Slave_Transmit_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1898:19:HAL_I2C_Slave_Receive_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1962:19:HAL_I2C_Master_Transmit_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2117:19:HAL_I2C_Master_Receive_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2270:19:HAL_I2C_Slave_Transmit_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2384:19:HAL_I2C_Slave_Receive_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2503:19:HAL_I2C_Mem_Write 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2626:19:HAL_I2C_Mem_Read 56 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2878:19:HAL_I2C_Mem_Write_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2963:19:HAL_I2C_Mem_Read_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3054:19:HAL_I2C_Mem_Write_DMA 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3236:19:HAL_I2C_Mem_Read_DMA 56 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3432:19:HAL_I2C_IsDeviceReady 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3568:19:HAL_I2C_Master_Seq_Transmit_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3663:19:HAL_I2C_Master_Seq_Transmit_DMA 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3843:19:HAL_I2C_Master_Seq_Receive_IT 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3964:19:HAL_I2C_Master_Seq_Receive_DMA 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4179:19:HAL_I2C_Slave_Seq_Transmit_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4245:19:HAL_I2C_Slave_Seq_Transmit_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4419:19:HAL_I2C_Slave_Seq_Receive_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4485:19:HAL_I2C_Slave_Seq_Receive_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4655:19:HAL_I2C_EnableListen_IT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4688:19:HAL_I2C_DisableListen_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4723:19:HAL_I2C_Master_Abort_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4783:6:HAL_I2C_EV_IRQHandler 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:4952:6:HAL_I2C_ER_IRQHandler 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5032:13:HAL_I2C_MasterTxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5048:13:HAL_I2C_MasterRxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5063:13:HAL_I2C_SlaveTxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5079:13:HAL_I2C_SlaveRxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5097:13:HAL_I2C_AddrCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5115:13:HAL_I2C_ListenCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5131:13:HAL_I2C_MemTxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5147:13:HAL_I2C_MemRxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5163:13:HAL_I2C_ErrorCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5179:13:HAL_I2C_AbortCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5214:22:HAL_I2C_GetState 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5226:21:HAL_I2C_GetMode 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5237:10:HAL_I2C_GetError 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5260:13:I2C_MasterTransmit_TXE 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5354:13:I2C_MasterTransmit_BTF 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5433:13:I2C_MemoryTransmit_TXE_BTF 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5520:13:I2C_MasterReceive_RXNE 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5639:13:I2C_MasterReceive_BTF 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5768:13:I2C_Master_SB 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5829:13:I2C_Master_ADD10 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5848:13:I2C_Master_ADDR 72 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:5993:13:I2C_SlaveTransmit_TXE 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6034:13:I2C_SlaveTransmit_BTF 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6055:13:I2C_SlaveReceive_RXNE 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6096:13:I2C_SlaveReceive_BTF 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6118:13:I2C_Slave_ADDR 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6169:13:I2C_Slave_STOPF 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6338:13:I2C_Slave_AF 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6407:13:I2C_ITError 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6573:26:I2C_MasterRequestWrite 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6643:26:I2C_MasterRequestRead 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6743:26:I2C_RequestMemoryWrite 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6823:26:I2C_RequestMemoryRead 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6932:13:I2C_DMAXferCplt 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7077:13:I2C_DMAError 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7118:13:I2C_DMAAbort 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7221:26:I2C_WaitOnFlagUntilTimeout 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7258:26:I2C_WaitOnMasterAddressFlagUntilTimeout 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7312:26:I2C_WaitOnTXEFlagUntilTimeout 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7353:26:I2C_WaitOnBTFFlagUntilTimeout 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7394:26:I2C_WaitOnSTOPFlagUntilTimeout 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7430:26:I2C_WaitOnSTOPRequestThroughIT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7459:26:I2C_WaitOnRXNEFlagUntilTimeout 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7507:26:I2C_IsAcknowledgeFailed 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:7532:13:I2C_ConvertOtherXferOptions 16 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.cyclo
deleted file mode 100644
index 84b11ba..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.cyclo
+++ /dev/null
@@ -1,2 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:88:19:HAL_I2CEx_ConfigAnalogFilter 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:126:19:HAL_I2CEx_ConfigDigitalFilter 2
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.d
deleted file mode 100644
index c38f62b..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.o
deleted file mode 100644
index fb6a6a0..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.su
deleted file mode 100644
index 6fd0273..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.su
+++ /dev/null
@@ -1,2 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:88:19:HAL_I2CEx_ConfigAnalogFilter 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:126:19:HAL_I2CEx_ConfigDigitalFilter 24 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.cyclo
deleted file mode 100644
index f0cf338..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.cyclo
+++ /dev/null
@@ -1,40 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:219:19:HAL_LTDC_Init 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:325:19:HAL_LTDC_DeInit 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:395:13:HAL_LTDC_MspInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:411:13:HAL_LTDC_MspDeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:627:6:HAL_LTDC_IRQHandler 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:745:13:HAL_LTDC_ErrorCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:761:13:HAL_LTDC_LineEventCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:777:13:HAL_LTDC_ReloadEventCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:827:19:HAL_LTDC_ConfigLayer 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:877:19:HAL_LTDC_ConfigColorKeying 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:915:19:HAL_LTDC_ConfigCLUT 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:967:19:HAL_LTDC_EnableColorKeying 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1002:19:HAL_LTDC_DisableColorKeying 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1037:19:HAL_LTDC_EnableCLUT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1072:19:HAL_LTDC_DisableCLUT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1105:19:HAL_LTDC_EnableDither 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1132:19:HAL_LTDC_DisableDither 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1163:19:HAL_LTDC_SetWindowSize 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1219:19:HAL_LTDC_SetWindowPosition 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1270:19:HAL_LTDC_SetPixelFormat 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1315:19:HAL_LTDC_SetAlpha 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1359:19:HAL_LTDC_SetAddress 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1408:19:HAL_LTDC_SetPitch 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1477:19:HAL_LTDC_ProgramLineEvent 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1516:20:HAL_LTDC_Reload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1555:19:HAL_LTDC_ConfigLayer_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1605:19:HAL_LTDC_SetWindowSize_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1660:19:HAL_LTDC_SetWindowPosition_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1710:19:HAL_LTDC_SetPixelFormat_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1753:19:HAL_LTDC_SetAlpha_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1796:19:HAL_LTDC_SetAddress_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1843:19:HAL_LTDC_SetPitch_NoReload 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1910:19:HAL_LTDC_ConfigColorKeying_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1944:19:HAL_LTDC_EnableColorKeying_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1977:19:HAL_LTDC_DisableColorKeying_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2010:19:HAL_LTDC_EnableCLUT_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2043:19:HAL_LTDC_DisableCLUT_NoReload 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2092:23:HAL_LTDC_GetState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2103:10:HAL_LTDC_GetError 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2129:13:LTDC_SetConfig 7
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.d
deleted file mode 100644
index 817bca0..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.o
deleted file mode 100644
index dde1040..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.su
deleted file mode 100644
index c246ddc..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.su
+++ /dev/null
@@ -1,40 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:219:19:HAL_LTDC_Init 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:325:19:HAL_LTDC_DeInit 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:395:13:HAL_LTDC_MspInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:411:13:HAL_LTDC_MspDeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:627:6:HAL_LTDC_IRQHandler 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:745:13:HAL_LTDC_ErrorCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:761:13:HAL_LTDC_LineEventCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:777:13:HAL_LTDC_ReloadEventCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:827:19:HAL_LTDC_ConfigLayer 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:877:19:HAL_LTDC_ConfigColorKeying 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:915:19:HAL_LTDC_ConfigCLUT 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:967:19:HAL_LTDC_EnableColorKeying 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1002:19:HAL_LTDC_DisableColorKeying 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1037:19:HAL_LTDC_EnableCLUT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1072:19:HAL_LTDC_DisableCLUT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1105:19:HAL_LTDC_EnableDither 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1132:19:HAL_LTDC_DisableDither 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1163:19:HAL_LTDC_SetWindowSize 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1219:19:HAL_LTDC_SetWindowPosition 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1270:19:HAL_LTDC_SetPixelFormat 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1315:19:HAL_LTDC_SetAlpha 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1359:19:HAL_LTDC_SetAddress 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1408:19:HAL_LTDC_SetPitch 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1477:19:HAL_LTDC_ProgramLineEvent 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1516:20:HAL_LTDC_Reload 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1555:19:HAL_LTDC_ConfigLayer_NoReload 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1605:19:HAL_LTDC_SetWindowSize_NoReload 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1660:19:HAL_LTDC_SetWindowPosition_NoReload 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1710:19:HAL_LTDC_SetPixelFormat_NoReload 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1753:19:HAL_LTDC_SetAlpha_NoReload 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1796:19:HAL_LTDC_SetAddress_NoReload 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1843:19:HAL_LTDC_SetPitch_NoReload 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1910:19:HAL_LTDC_ConfigColorKeying_NoReload 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1944:19:HAL_LTDC_EnableColorKeying_NoReload 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:1977:19:HAL_LTDC_DisableColorKeying_NoReload 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2010:19:HAL_LTDC_EnableCLUT_NoReload 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2043:19:HAL_LTDC_DisableCLUT_NoReload 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2092:23:HAL_LTDC_GetState 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2103:10:HAL_LTDC_GetError 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc.c:2129:13:LTDC_SetConfig 40 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.d
deleted file mode 100644
index f5de641..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.o
deleted file mode 100644
index 0f93deb..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_ltdc_ex.su
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.d
deleted file mode 100644
index 82164f4..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.o
deleted file mode 100644
index f957694..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nand.su
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.d
deleted file mode 100644
index 9452698..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.o
deleted file mode 100644
index 4d557d0..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_nor.su
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.d
deleted file mode 100644
index 87e3054..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.o
deleted file mode 100644
index c1cfcdd..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pccard.su
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.o
deleted file mode 100644
index 0e0df21..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.o
deleted file mode 100644
index ccb0f89..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
deleted file mode 100644
index d98b7e6..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.o
deleted file mode 100644
index c4bcdd6..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.cyclo
deleted file mode 100644
index 82a141b..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.cyclo
+++ /dev/null
@@ -1,26 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:172:19:HAL_SDRAM_Init 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:221:19:HAL_SDRAM_DeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:254:13:HAL_SDRAM_MspInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:270:13:HAL_SDRAM_MspDeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:286:6:HAL_SDRAM_IRQHandler 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:309:13:HAL_SDRAM_RefreshErrorCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:325:13:HAL_SDRAM_DMA_XferCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:340:13:HAL_SDRAM_DMA_XferErrorCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:377:19:HAL_SDRAM_Read_8b 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:429:19:HAL_SDRAM_Write_8b 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:480:19:HAL_SDRAM_Read_16b 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:540:19:HAL_SDRAM_Write_16b 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:599:19:HAL_SDRAM_Read_32b 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:651:19:HAL_SDRAM_Write_32b 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:702:19:HAL_SDRAM_Read_DMA 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:755:19:HAL_SDRAM_Write_DMA 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1008:19:HAL_SDRAM_WriteProtection_Enable 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1040:19:HAL_SDRAM_WriteProtection_Disable 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1076:19:HAL_SDRAM_SendCommand 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1119:19:HAL_SDRAM_ProgramRefreshRate 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1152:19:HAL_SDRAM_SetAutoRefreshNumber 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1184:10:HAL_SDRAM_GetModeStatus 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1215:24:HAL_SDRAM_GetState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1236:13:SDRAM_DMACplt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1259:13:SDRAM_DMACpltProt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1282:13:SDRAM_DMAError 1
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.d
deleted file mode 100644
index 718f2dd..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.o
deleted file mode 100644
index ff0ae6a..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.su
deleted file mode 100644
index c8b1c70..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.su
+++ /dev/null
@@ -1,26 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:172:19:HAL_SDRAM_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:221:19:HAL_SDRAM_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:254:13:HAL_SDRAM_MspInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:270:13:HAL_SDRAM_MspDeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:286:6:HAL_SDRAM_IRQHandler 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:309:13:HAL_SDRAM_RefreshErrorCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:325:13:HAL_SDRAM_DMA_XferCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:340:13:HAL_SDRAM_DMA_XferErrorCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:377:19:HAL_SDRAM_Read_8b 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:429:19:HAL_SDRAM_Write_8b 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:480:19:HAL_SDRAM_Read_16b 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:540:19:HAL_SDRAM_Write_16b 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:599:19:HAL_SDRAM_Read_32b 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:651:19:HAL_SDRAM_Write_32b 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:702:19:HAL_SDRAM_Read_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:755:19:HAL_SDRAM_Write_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1008:19:HAL_SDRAM_WriteProtection_Enable 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1040:19:HAL_SDRAM_WriteProtection_Disable 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1076:19:HAL_SDRAM_SendCommand 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1119:19:HAL_SDRAM_ProgramRefreshRate 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1152:19:HAL_SDRAM_SetAutoRefreshNumber 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1184:10:HAL_SDRAM_GetModeStatus 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1215:24:HAL_SDRAM_GetState 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1236:13:SDRAM_DMACplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1259:13:SDRAM_DMACpltProt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sdram.c:1282:13:SDRAM_DMAError 24 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.cyclo
deleted file mode 100644
index c5a6866..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.cyclo
+++ /dev/null
@@ -1,55 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:313:19:HAL_SPI_Init 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:439:19:HAL_SPI_DeInit 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:483:13:HAL_SPI_MspInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:499:13:HAL_SPI_MspDeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:771:19:HAL_SPI_Transmit 25
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:940:19:HAL_SPI_Receive 22
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1140:19:HAL_SPI_TransmitReceive 38
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1391:19:HAL_SPI_Transmit_IT 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1473:19:HAL_SPI_Receive_IT 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1564:19:HAL_SPI_TransmitReceive_IT 12
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1651:19:HAL_SPI_Transmit_DMA 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1755:19:HAL_SPI_Receive_DMA 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1865:19:HAL_SPI_TransmitReceive_DMA 14
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2008:19:HAL_SPI_Abort 16
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2153:19:HAL_SPI_Abort_IT 19
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2314:19:HAL_SPI_DMAPause 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2334:19:HAL_SPI_DMAResume 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2354:19:HAL_SPI_DMAStop 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2396:6:HAL_SPI_IRQHandler 21
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2503:13:HAL_SPI_TxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2519:13:HAL_SPI_RxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2535:13:HAL_SPI_TxRxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2551:13:HAL_SPI_TxHalfCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2567:13:HAL_SPI_RxHalfCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2583:13:HAL_SPI_TxRxHalfCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2599:13:HAL_SPI_ErrorCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2617:13:HAL_SPI_AbortCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2652:22:HAL_SPI_GetState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2664:10:HAL_SPI_GetError 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2689:13:SPI_DMATransmitCplt 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2746:13:SPI_DMAReceiveCplt 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2835:13:SPI_DMATransmitReceiveCplt 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2915:13:SPI_DMAHalfTransmitCplt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2933:13:SPI_DMAHalfReceiveCplt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2951:13:SPI_DMAHalfTransmitReceiveCplt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2969:13:SPI_DMAError 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2992:13:SPI_DMAAbortOnError 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3014:13:SPI_DMATxAbortCallback 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3079:13:SPI_DMARxAbortCallback 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3138:13:SPI_2linesRxISR_8BIT 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3201:13:SPI_2linesTxISR_8BIT 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3237:13:SPI_2linesRxISR_16BIT 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3293:13:SPI_2linesTxISR_16BIT 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3353:13:SPI_RxISR_8BIT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3409:13:SPI_RxISR_16BIT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3442:13:SPI_TxISR_8BIT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3467:13:SPI_TxISR_16BIT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3497:26:SPI_WaitFlagStateUntilTimeout 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3567:26:SPI_EndRxTransaction 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3617:26:SPI_EndRxTxTransaction 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3666:13:SPI_CloseRxTx_ISR 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3761:13:SPI_CloseRx_ISR 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3824:13:SPI_CloseTx_ISR 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3885:13:SPI_AbortRx_ISR 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3921:13:SPI_AbortTx_ISR 1
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.d
deleted file mode 100644
index 037d599..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o
deleted file mode 100644
index eaeade0..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.su
deleted file mode 100644
index 952c5e9..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.su
+++ /dev/null
@@ -1,55 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:313:19:HAL_SPI_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:439:19:HAL_SPI_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:483:13:HAL_SPI_MspInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:499:13:HAL_SPI_MspDeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:771:19:HAL_SPI_Transmit 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:940:19:HAL_SPI_Receive 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1140:19:HAL_SPI_TransmitReceive 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1391:19:HAL_SPI_Transmit_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1473:19:HAL_SPI_Receive_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1564:19:HAL_SPI_TransmitReceive_IT 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1651:19:HAL_SPI_Transmit_DMA 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1755:19:HAL_SPI_Receive_DMA 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:1865:19:HAL_SPI_TransmitReceive_DMA 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2008:19:HAL_SPI_Abort 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2153:19:HAL_SPI_Abort_IT 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2314:19:HAL_SPI_DMAPause 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2334:19:HAL_SPI_DMAResume 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2354:19:HAL_SPI_DMAStop 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2396:6:HAL_SPI_IRQHandler 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2503:13:HAL_SPI_TxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2519:13:HAL_SPI_RxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2535:13:HAL_SPI_TxRxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2551:13:HAL_SPI_TxHalfCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2567:13:HAL_SPI_RxHalfCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2583:13:HAL_SPI_TxRxHalfCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2599:13:HAL_SPI_ErrorCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2617:13:HAL_SPI_AbortCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2652:22:HAL_SPI_GetState 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2664:10:HAL_SPI_GetError 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2689:13:SPI_DMATransmitCplt 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2746:13:SPI_DMAReceiveCplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2835:13:SPI_DMATransmitReceiveCplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2915:13:SPI_DMAHalfTransmitCplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2933:13:SPI_DMAHalfReceiveCplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2951:13:SPI_DMAHalfTransmitReceiveCplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2969:13:SPI_DMAError 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:2992:13:SPI_DMAAbortOnError 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3014:13:SPI_DMATxAbortCallback 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3079:13:SPI_DMARxAbortCallback 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3138:13:SPI_2linesRxISR_8BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3201:13:SPI_2linesTxISR_8BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3237:13:SPI_2linesRxISR_16BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3293:13:SPI_2linesTxISR_16BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3353:13:SPI_RxISR_8BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3409:13:SPI_RxISR_16BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3442:13:SPI_TxISR_8BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3467:13:SPI_TxISR_16BIT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3497:26:SPI_WaitFlagStateUntilTimeout 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3567:26:SPI_EndRxTransaction 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3617:26:SPI_EndRxTxTransaction 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3666:13:SPI_CloseRxTx_ISR 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3761:13:SPI_CloseRx_ISR 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3824:13:SPI_CloseTx_ISR 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3885:13:SPI_AbortRx_ISR 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c:3921:13:SPI_AbortTx_ISR 16 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.d
deleted file mode 100644
index 95362a2..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.o
deleted file mode 100644
index 8066262..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sram.su
deleted file mode 100644
index e69de29..0000000
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
deleted file mode 100644
index d239967..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o
deleted file mode 100644
index 42614c2..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.cyclo
deleted file mode 100644
index 8be3700..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.cyclo
+++ /dev/null
@@ -1,62 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:357:19:HAL_UART_Init 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:435:19:HAL_HalfDuplex_Init 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:509:19:HAL_LIN_Init 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:591:19:HAL_MultiProcessor_Init 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:669:19:HAL_UART_DeInit 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:715:13:HAL_UART_MspInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:730:13:HAL_UART_MspDeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1135:19:HAL_UART_Transmit 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1221:19:HAL_UART_Receive 12
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1308:19:HAL_UART_Transmit_IT 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1347:19:HAL_UART_Receive_IT 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1379:19:HAL_UART_Transmit_DMA 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1449:19:HAL_UART_Receive_DMA 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1476:19:HAL_UART_DMAPause 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1507:19:HAL_UART_DMAResume 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1541:19:HAL_UART_DMAStop 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1596:19:HAL_UARTEx_ReceiveToIdle 17
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1721:19:HAL_UARTEx_ReceiveToIdle_IT 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1781:19:HAL_UARTEx_ReceiveToIdle_DMA 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1846:29:HAL_UARTEx_GetRxEventType 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1864:19:HAL_UART_Abort 15
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1953:19:HAL_UART_AbortTransmit 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2004:19:HAL_UART_AbortReceive 10
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2065:19:HAL_UART_Abort_IT 18
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2200:19:HAL_UART_AbortTransmit_IT 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2277:19:HAL_UART_AbortReceive_IT 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2355:6:HAL_UART_IRQHandler 47
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2619:13:HAL_UART_TxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2634:13:HAL_UART_TxHalfCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2649:13:HAL_UART_RxCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2664:13:HAL_UART_RxHalfCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2679:13:HAL_UART_ErrorCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2693:13:HAL_UART_AbortCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2708:13:HAL_UART_AbortTransmitCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2723:13:HAL_UART_AbortReceiveCpltCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2740:13:HAL_UARTEx_RxEventCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2780:19:HAL_LIN_SendBreak 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2807:19:HAL_MultiProcessor_EnterMuteMode 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2835:19:HAL_MultiProcessor_ExitMuteMode 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2863:19:HAL_HalfDuplex_EnableTransmitter 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2898:19:HAL_HalfDuplex_EnableReceiver 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2955:23:HAL_UART_GetState 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2970:10:HAL_UART_GetError 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3015:13:UART_DMATransmitCplt 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3050:13:UART_DMATxHalfCplt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3069:13:UART_DMAReceiveCplt 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3131:13:UART_DMARxHalfCplt 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3170:13:UART_DMAError 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3212:26:UART_WaitOnFlagUntilTimeout 9
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3263:19:UART_Start_Receive_IT 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3298:19:UART_Start_Receive_DMA 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3356:13:UART_EndTxTransfer 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3370:13:UART_EndRxTransfer 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3394:13:UART_DMAAbortOnError 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3417:13:UART_DMATxAbortCallback 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3463:13:UART_DMARxAbortCallback 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3509:13:UART_DMATxOnlyAbortCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3537:13:UART_DMARxOnlyAbortCallback 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3563:26:UART_Transmit_IT 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3603:26:UART_EndTransmit_IT 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3628:26:UART_Receive_IT 11
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3731:13:UART_SetConfig 4
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.d
deleted file mode 100644
index 43a971f..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
deleted file mode 100644
index cb19ef5..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.su
deleted file mode 100644
index 80e6f1c..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.su
+++ /dev/null
@@ -1,62 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:357:19:HAL_UART_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:435:19:HAL_HalfDuplex_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:509:19:HAL_LIN_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:591:19:HAL_MultiProcessor_Init 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:669:19:HAL_UART_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:715:13:HAL_UART_MspInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:730:13:HAL_UART_MspDeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1135:19:HAL_UART_Transmit 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1221:19:HAL_UART_Receive 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1308:19:HAL_UART_Transmit_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1347:19:HAL_UART_Receive_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1379:19:HAL_UART_Transmit_DMA 56 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1449:19:HAL_UART_Receive_DMA 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1476:19:HAL_UART_DMAPause 120 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1507:19:HAL_UART_DMAResume 120 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1541:19:HAL_UART_DMAStop 72 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1596:19:HAL_UARTEx_ReceiveToIdle 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1721:19:HAL_UARTEx_ReceiveToIdle_IT 56 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1781:19:HAL_UARTEx_ReceiveToIdle_DMA 56 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1846:29:HAL_UARTEx_GetRxEventType 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1864:19:HAL_UART_Abort 136 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:1953:19:HAL_UART_AbortTransmit 64 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2004:19:HAL_UART_AbortReceive 112 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2065:19:HAL_UART_Abort_IT 144 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2200:19:HAL_UART_AbortTransmit_IT 64 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2277:19:HAL_UART_AbortReceive_IT 112 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2355:6:HAL_UART_IRQHandler 240 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2619:13:HAL_UART_TxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2634:13:HAL_UART_TxHalfCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2649:13:HAL_UART_RxCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2664:13:HAL_UART_RxHalfCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2679:13:HAL_UART_ErrorCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2693:13:HAL_UART_AbortCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2708:13:HAL_UART_AbortTransmitCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2723:13:HAL_UART_AbortReceiveCpltCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2740:13:HAL_UARTEx_RxEventCallback 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2780:19:HAL_LIN_SendBreak 40 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2807:19:HAL_MultiProcessor_EnterMuteMode 40 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2835:19:HAL_MultiProcessor_ExitMuteMode 40 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2863:19:HAL_HalfDuplex_EnableTransmitter 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2898:19:HAL_HalfDuplex_EnableReceiver 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2955:23:HAL_UART_GetState 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:2970:10:HAL_UART_GetError 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3015:13:UART_DMATransmitCplt 72 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3050:13:UART_DMATxHalfCplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3069:13:UART_DMAReceiveCplt 120 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3131:13:UART_DMARxHalfCplt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3170:13:UART_DMAError 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3212:26:UART_WaitOnFlagUntilTimeout 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3263:19:UART_Start_Receive_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3298:19:UART_Start_Receive_DMA 104 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3356:13:UART_EndTxTransfer 40 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3370:13:UART_EndRxTransfer 88 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3394:13:UART_DMAAbortOnError 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3417:13:UART_DMATxAbortCallback 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3463:13:UART_DMARxAbortCallback 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3509:13:UART_DMATxOnlyAbortCallback 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3537:13:UART_DMARxOnlyAbortCallback 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3563:26:UART_Transmit_IT 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3603:26:UART_EndTransmit_IT 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3628:26:UART_Receive_IT 56 static,ignoring_inline_asm
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c:3731:13:UART_SetConfig 288 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.cyclo
deleted file mode 100644
index 2cd2528..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.cyclo
+++ /dev/null
@@ -1,27 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:239:20:FMC_NORSRAM_Init 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:361:19:FMC_NORSRAM_DeInit 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:398:19:FMC_NORSRAM_Timing_Init 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:451:19:FMC_NORSRAM_Extended_Timing_Init 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:509:19:FMC_NORSRAM_WriteOperation_Enable 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:527:19:FMC_NORSRAM_WriteOperation_Disable 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:599:19:FMC_NAND_Init 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:657:19:FMC_NAND_CommonSpace_Timing_Init 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:708:19:FMC_NAND_AttributeSpace_Timing_Init 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:757:19:FMC_NAND_DeInit 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:825:19:FMC_NAND_ECC_Enable 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:858:19:FMC_NAND_ECC_Disable 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:892:19:FMC_NAND_GetECC 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:993:19:FMC_PCCARD_Init 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1026:19:FMC_PCCARD_CommonSpace_Timing_Init 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1054:19:FMC_PCCARD_AttributeSpace_Timing_Init 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1082:19:FMC_PCCARD_IOSpace_Timing_Init 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1108:19:FMC_PCCARD_DeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1179:19:FMC_SDRAM_Init 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1241:19:FMC_SDRAM_Timing_Init 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1293:19:FMC_SDRAM_DeInit 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1334:19:FMC_SDRAM_WriteProtection_Enable 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1351:19:FMC_SDRAM_WriteProtection_Disable 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1371:19:FMC_SDRAM_SendCommand 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1411:19:FMC_SDRAM_ProgramRefreshRate 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1429:19:FMC_SDRAM_SetAutoRefreshNumber 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1451:10:FMC_SDRAM_GetModeStatus 2
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.o
deleted file mode 100644
index d71d3ad..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.su
deleted file mode 100644
index 7099d90..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.su
+++ /dev/null
@@ -1,27 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:239:20:FMC_NORSRAM_Init 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:361:19:FMC_NORSRAM_DeInit 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:398:19:FMC_NORSRAM_Timing_Init 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:451:19:FMC_NORSRAM_Extended_Timing_Init 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:509:19:FMC_NORSRAM_WriteOperation_Enable 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:527:19:FMC_NORSRAM_WriteOperation_Disable 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:599:19:FMC_NAND_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:657:19:FMC_NAND_CommonSpace_Timing_Init 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:708:19:FMC_NAND_AttributeSpace_Timing_Init 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:757:19:FMC_NAND_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:825:19:FMC_NAND_ECC_Enable 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:858:19:FMC_NAND_ECC_Disable 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:892:19:FMC_NAND_GetECC 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:993:19:FMC_PCCARD_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1026:19:FMC_PCCARD_CommonSpace_Timing_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1054:19:FMC_PCCARD_AttributeSpace_Timing_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1082:19:FMC_PCCARD_IOSpace_Timing_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1108:19:FMC_PCCARD_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1179:19:FMC_SDRAM_Init 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1241:19:FMC_SDRAM_Timing_Init 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1293:19:FMC_SDRAM_DeInit 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1334:19:FMC_SDRAM_WriteProtection_Enable 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1351:19:FMC_SDRAM_WriteProtection_Disable 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1371:19:FMC_SDRAM_SendCommand 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1411:19:FMC_SDRAM_ProgramRefreshRate 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1429:19:FMC_SDRAM_SetAutoRefreshNumber 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_fmc.c:1451:10:FMC_SDRAM_GetModeStatus 24 static
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.cyclo b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.cyclo
deleted file mode 100644
index 65c0e41..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.cyclo
+++ /dev/null
@@ -1,49 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:83:19:USB_CoreInit 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:139:19:USB_SetTurnaroundTime 21
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:222:19:USB_EnableGlobalInt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:234:19:USB_DisableGlobalInt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:249:19:USB_SetCurrentMode 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:296:19:USB_DevInit 16
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:473:19:USB_FlushTxFifo 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:510:19:USB_FlushRxFifo 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:553:19:USB_SetDevSpeed 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:569:9:USB_GetDevSpeed 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:598:19:USB_ActivateEndpoint 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:636:19:USB_ActivateDedicatedEndpoint 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:675:19:USB_DeactivateEndpoint 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:722:19:USB_DeactivateDedicatedEndpoint 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:764:19:USB_EPStartXfer 20
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:936:19:USB_EPStopXfer 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1000:19:USB_WritePacket 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1031:7:USB_ReadPacket 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1073:19:USB_EPSetStall 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1104:19:USB_EPClearStall 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1133:19:USB_StopDevice 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1174:19:USB_SetDevAddress 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1189:19:USB_DevConnect 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1206:19:USB_DevDisconnect 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1223:10:USB_ReadInterrupts 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1239:10:USB_ReadChInterrupts 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1255:10:USB_ReadDevAllOutEpInterrupt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1271:10:USB_ReadDevAllInEpInterrupt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1289:10:USB_ReadDevOutEPInterrupt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1307:10:USB_ReadDevInEPInterrupt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1328:7:USB_ClearInterrupts 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1341:10:USB_GetMode 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1351:19:USB_ActivateSetup 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1373:19:USB_EP0_OutStart 4
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1406:26:USB_CoreReset 6
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1453:19:USB_HostInit 8
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1568:19:USB_InitFSLSPClkSel 3
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1598:19:USB_ResetPort 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1625:19:USB_DriveVbus 5
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1655:10:USB_GetHostSpeed 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1669:10:USB_GetCurrentFrame 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1700:19:USB_HC_Init 13
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1832:19:USB_HC_StartXfer 44
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2095:10:USB_HC_ReadInterrupt 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2109:19:USB_HC_Halt 15
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2193:19:USB_DoPing 1
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2217:19:USB_StopHost 7
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2282:19:USB_ActivateRemoteWakeup 2
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2300:19:USB_DeActivateRemoteWakeup 1
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.d b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.d
deleted file mode 100644
index 8553c49..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.d
+++ /dev/null
@@ -1,80 +0,0 @@
-Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o: \
- ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o
deleted file mode 100644
index 9b90d6c..0000000
Binary files a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.su b/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.su
deleted file mode 100644
index 426b641..0000000
--- a/TrafficLightsPlus/Debug/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.su
+++ /dev/null
@@ -1,49 +0,0 @@
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:83:19:USB_CoreInit 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:139:19:USB_SetTurnaroundTime 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:222:19:USB_EnableGlobalInt 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:234:19:USB_DisableGlobalInt 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:249:19:USB_SetCurrentMode 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:296:19:USB_DevInit 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:473:19:USB_FlushTxFifo 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:510:19:USB_FlushRxFifo 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:553:19:USB_SetDevSpeed 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:569:9:USB_GetDevSpeed 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:598:19:USB_ActivateEndpoint 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:636:19:USB_ActivateDedicatedEndpoint 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:675:19:USB_DeactivateEndpoint 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:722:19:USB_DeactivateDedicatedEndpoint 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:764:19:USB_EPStartXfer 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:936:19:USB_EPStopXfer 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1000:19:USB_WritePacket 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1031:7:USB_ReadPacket 48 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1073:19:USB_EPSetStall 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1104:19:USB_EPClearStall 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1133:19:USB_StopDevice 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1174:19:USB_SetDevAddress 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1189:19:USB_DevConnect 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1206:19:USB_DevDisconnect 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1223:10:USB_ReadInterrupts 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1239:10:USB_ReadChInterrupts 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1255:10:USB_ReadDevAllOutEpInterrupt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1271:10:USB_ReadDevAllInEpInterrupt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1289:10:USB_ReadDevOutEPInterrupt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1307:10:USB_ReadDevInEPInterrupt 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1328:7:USB_ClearInterrupts 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1341:10:USB_GetMode 16 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1351:19:USB_ActivateSetup 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1373:19:USB_EP0_OutStart 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1406:26:USB_CoreReset 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1453:19:USB_HostInit 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1568:19:USB_InitFSLSPClkSel 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1598:19:USB_ResetPort 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1625:19:USB_DriveVbus 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1655:10:USB_GetHostSpeed 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1669:10:USB_GetCurrentFrame 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1700:19:USB_HC_Init 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1832:19:USB_HC_StartXfer 56 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2095:10:USB_HC_ReadInterrupt 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2109:19:USB_HC_Halt 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2193:19:USB_DoPing 32 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2217:19:USB_StopHost 40 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2282:19:USB_ActivateRemoteWakeup 24 static
-../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:2300:19:USB_DeActivateRemoteWakeup 24 static
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.cyclo b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.cyclo
deleted file mode 100644
index 76f341b..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.cyclo
+++ /dev/null
@@ -1,18 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:151:27:USBH_CDC_InterfaceInit 10
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:267:27:USBH_CDC_InterfaceDeInit 5
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:308:27:USBH_CDC_ClassRequest 2
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:338:27:USBH_CDC_Process 15
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:422:27:USBH_CDC_SOFProcess 1
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:437:20:USBH_CDC_Stop 2
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:457:27:GetLineCoding 1
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:480:27:SetLineCoding 1
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:501:20:USBH_CDC_SetLineCoding 2
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:524:20:USBH_CDC_GetLineCoding 3
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:545:10:USBH_CDC_GetLastReceivedDataSize 2
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:567:20:USBH_CDC_Transmit 3
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:594:20:USBH_CDC_Receive 3
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:619:13:CDC_ProcessTransmission 8
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:701:13:CDC_ProcessReception 6
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:782:13:USBH_CDC_TransmitCallback 1
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:793:13:USBH_CDC_ReceiveCallback 1
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:804:13:USBH_CDC_LineCodingChanged 1
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.d b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.d
deleted file mode 100644
index f9e447b..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.d
+++ /dev/null
@@ -1,131 +0,0 @@
-Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.o: \
- ../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c \
- ../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc/usbh_cdc.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h \
- ../USB_HOST/Target/usbh_conf.h ../Core/Inc/main.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \
- ../Core/Inc/FreeRTOSConfig.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc/usbh_cdc.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:
-../USB_HOST/Target/usbh_conf.h:
-../Core/Inc/main.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
-../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h:
-../Core/Inc/FreeRTOSConfig.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h:
-../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/list.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h:
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.o b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.o
deleted file mode 100644
index 556c1c0..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.su b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.su
deleted file mode 100644
index 6a53ac7..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.su
+++ /dev/null
@@ -1,18 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:151:27:USBH_CDC_InterfaceInit 48 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:267:27:USBH_CDC_InterfaceDeInit 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:308:27:USBH_CDC_ClassRequest 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:338:27:USBH_CDC_Process 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:422:27:USBH_CDC_SOFProcess 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:437:20:USBH_CDC_Stop 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:457:27:GetLineCoding 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:480:27:SetLineCoding 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:501:20:USBH_CDC_SetLineCoding 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:524:20:USBH_CDC_GetLineCoding 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:545:10:USBH_CDC_GetLastReceivedDataSize 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:567:20:USBH_CDC_Transmit 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:594:20:USBH_CDC_Receive 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:619:13:CDC_ProcessTransmission 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:701:13:CDC_ProcessReception 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:782:13:USBH_CDC_TransmitCallback 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:793:13:USBH_CDC_ReceiveCallback 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c:804:13:USBH_CDC_LineCodingChanged 16 static
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.cyclo b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.cyclo
deleted file mode 100644
index 187a06a..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.cyclo
+++ /dev/null
@@ -1,24 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:95:20:USBH_Init 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:177:20:USBH_DeInit 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:220:27:DeInitStateMachine 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:266:20:USBH_RegisterClass 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:301:20:USBH_SelectInterface 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:330:9:USBH_GetActiveClass 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:346:9:USBH_FindInterface 8
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:379:9:USBH_FindInterfaceIndex 4
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:407:20:USBH_Start 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:425:20:USBH_Stop 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:447:20:USBH_ReEnumerate 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:473:20:USBH_Process 37
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:800:27:USBH_HandleEnum 32
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1114:6:USBH_LL_SetTimer 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1126:6:USBH_LL_IncTimer 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1139:13:USBH_HandleSof 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1154:6:USBH_LL_PortEnabled 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1172:6:USBH_LL_PortDisabled 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1187:9:USBH_IsPortEnabled 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1199:20:USBH_LL_Connect 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1219:20:USBH_LL_Disconnect 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1250:6:USBH_OS_PutMessage 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1278:13:USBH_Process_OS 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1314:20:USBH_LL_NotifyURBChange 1
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.d b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.d
deleted file mode 100644
index b993a0c..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.d
+++ /dev/null
@@ -1,129 +0,0 @@
-Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.o: \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h \
- ../USB_HOST/Target/usbh_conf.h ../Core/Inc/main.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \
- ../Core/Inc/FreeRTOSConfig.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:
-../USB_HOST/Target/usbh_conf.h:
-../Core/Inc/main.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
-../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h:
-../Core/Inc/FreeRTOSConfig.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h:
-../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/list.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h:
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.o b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.o
deleted file mode 100644
index 4970f05..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.su b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.su
deleted file mode 100644
index 92023b3..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.su
+++ /dev/null
@@ -1,24 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:95:20:USBH_Init 80 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:177:20:USBH_DeInit 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:220:27:DeInitStateMachine 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:266:20:USBH_RegisterClass 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:301:20:USBH_SelectInterface 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:330:9:USBH_GetActiveClass 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:346:9:USBH_FindInterface 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:379:9:USBH_FindInterfaceIndex 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:407:20:USBH_Start 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:425:20:USBH_Stop 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:447:20:USBH_ReEnumerate 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:473:20:USBH_Process 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:800:27:USBH_HandleEnum 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1114:6:USBH_LL_SetTimer 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1126:6:USBH_LL_IncTimer 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1139:13:USBH_HandleSof 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1154:6:USBH_LL_PortEnabled 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1172:6:USBH_LL_PortDisabled 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1187:9:USBH_IsPortEnabled 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1199:20:USBH_LL_Connect 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1219:20:USBH_LL_Disconnect 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1250:6:USBH_OS_PutMessage 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1278:13:USBH_Process_OS 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c:1314:20:USBH_LL_NotifyURBChange 16 static
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.cyclo b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.cyclo
deleted file mode 100644
index aaf98fe..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.cyclo
+++ /dev/null
@@ -1,17 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:96:20:USBH_Get_DevDesc 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:129:20:USBH_Get_CfgDesc 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:163:20:USBH_Get_StringDesc 4
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:199:20:USBH_GetDescriptor 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:230:20:USBH_SetAddress 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:256:20:USBH_SetCfg 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:280:20:USBH_SetInterface 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:304:20:USBH_SetFeature 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:329:20:USBH_ClrFeature 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:355:27:USBH_ParseDevDesc 11
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:429:27:USBH_ParseCfgDesc 19
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:544:13:USBH_ParseInterfaceDesc 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:566:27:USBH_ParseEPDesc 30
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:687:13:USBH_ParseStringDesc 3
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:727:20:USBH_GetNextDesc 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:749:20:USBH_CtlReq 6
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:806:27:USBH_HandleControl 32
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.d b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.d
deleted file mode 100644
index 1992e51..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.d
+++ /dev/null
@@ -1,129 +0,0 @@
-Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.o: \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h \
- ../USB_HOST/Target/usbh_conf.h ../Core/Inc/main.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \
- ../Core/Inc/FreeRTOSConfig.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:
-../USB_HOST/Target/usbh_conf.h:
-../Core/Inc/main.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
-../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h:
-../Core/Inc/FreeRTOSConfig.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h:
-../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/list.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h:
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.o b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.o
deleted file mode 100644
index c45cdd2..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.su b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.su
deleted file mode 100644
index b7e664f..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.su
+++ /dev/null
@@ -1,17 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:96:20:USBH_Get_DevDesc 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:129:20:USBH_Get_CfgDesc 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:163:20:USBH_Get_StringDesc 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:199:20:USBH_GetDescriptor 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:230:20:USBH_SetAddress 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:256:20:USBH_SetCfg 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:280:20:USBH_SetInterface 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:304:20:USBH_SetFeature 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:329:20:USBH_ClrFeature 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:355:27:USBH_ParseDevDesc 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:429:27:USBH_ParseCfgDesc 56 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:544:13:USBH_ParseInterfaceDesc 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:566:27:USBH_ParseEPDesc 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:687:13:USBH_ParseStringDesc 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:727:20:USBH_GetNextDesc 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:749:20:USBH_CtlReq 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c:806:27:USBH_HandleControl 32 static
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.cyclo b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.cyclo
deleted file mode 100644
index 8cbc9e7..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.cyclo
+++ /dev/null
@@ -1,9 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:91:20:USBH_CtlSendSetup 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:117:20:USBH_CtlSendData 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:150:20:USBH_CtlReceiveData 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:177:20:USBH_BulkSendData 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:209:20:USBH_BulkReceiveData 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:235:20:USBH_InterruptReceiveData 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:261:20:USBH_InterruptSendData 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:287:20:USBH_IsocReceiveData 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:314:20:USBH_IsocSendData 1
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.d b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.d
deleted file mode 100644
index 9474f31..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.d
+++ /dev/null
@@ -1,129 +0,0 @@
-Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.o: \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h \
- ../USB_HOST/Target/usbh_conf.h ../Core/Inc/main.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \
- ../Core/Inc/FreeRTOSConfig.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h:
-../USB_HOST/Target/usbh_conf.h:
-../Core/Inc/main.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
-../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h:
-../Core/Inc/FreeRTOSConfig.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h:
-../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/list.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h:
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.o b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.o
deleted file mode 100644
index f3c18c9..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.su b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.su
deleted file mode 100644
index 8335081..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.su
+++ /dev/null
@@ -1,9 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:91:20:USBH_CtlSendSetup 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:117:20:USBH_CtlSendData 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:150:20:USBH_CtlReceiveData 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:177:20:USBH_BulkSendData 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:209:20:USBH_BulkReceiveData 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:235:20:USBH_InterruptReceiveData 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:261:20:USBH_InterruptSendData 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:287:20:USBH_IsocReceiveData 40 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c:314:20:USBH_IsocSendData 40 static
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.cyclo b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.cyclo
deleted file mode 100644
index b5332dd..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.cyclo
+++ /dev/null
@@ -1,5 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:84:20:USBH_OpenPipe 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:116:20:USBH_ClosePipe 1
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:131:9:USBH_AllocPipe 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:153:20:USBH_FreePipe 2
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:170:17:USBH_GetFreePipe 3
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.d b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.d
deleted file mode 100644
index 870bbc5..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.d
+++ /dev/null
@@ -1,129 +0,0 @@
-Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.o: \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h \
- ../USB_HOST/Target/usbh_conf.h ../Core/Inc/main.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \
- ../Core/Inc/stm32f4xx_hal_conf.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h \
- ../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h \
- ../Core/Inc/FreeRTOSConfig.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \
- ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h \
- ../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h:
-../USB_HOST/Target/usbh_conf.h:
-../Core/Inc/main.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h:
-../Core/Inc/stm32f4xx_hal_conf.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma2d.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_sdram.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_fmc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_hcd.h:
-../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h:
-../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h:
-../Core/Inc/FreeRTOSConfig.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h:
-../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/list.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h:
-../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h:
-../Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h:
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.o b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.o
deleted file mode 100644
index 035c1a9..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.su b/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.su
deleted file mode 100644
index e972e54..0000000
--- a/TrafficLightsPlus/Debug/Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.su
+++ /dev/null
@@ -1,5 +0,0 @@
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:84:20:USBH_OpenPipe 32 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:116:20:USBH_ClosePipe 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:131:9:USBH_AllocPipe 24 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:153:20:USBH_FreePipe 16 static
-../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c:170:17:USBH_GetFreePipe 24 static
diff --git a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o b/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o
deleted file mode 100644
index a96fe12..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o b/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o
deleted file mode 100644
index bb4db85..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o b/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o
deleted file mode 100644
index 2145a37..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o b/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
deleted file mode 100644
index e2d6028..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o b/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
deleted file mode 100644
index 9db220e..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o b/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o
deleted file mode 100644
index e5fa17a..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o b/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o
deleted file mode 100644
index abdc839..0000000
Binary files a/TrafficLightsPlus/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/TrafficLightsPlus.elf b/TrafficLightsPlus/Debug/TrafficLightsPlus.elf
deleted file mode 100755
index 39feb65..0000000
Binary files a/TrafficLightsPlus/Debug/TrafficLightsPlus.elf and /dev/null differ
diff --git a/TrafficLightsPlus/Debug/TrafficLightsPlus.list b/TrafficLightsPlus/Debug/TrafficLightsPlus.list
deleted file mode 100644
index b407c9b..0000000
--- a/TrafficLightsPlus/Debug/TrafficLightsPlus.list
+++ /dev/null
@@ -1,21049 +0,0 @@
-
-TrafficLightsPlus.elf: file format elf32-littlearm
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .isr_vector 000001ac 08000000 08000000 00001000 2**0
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00007dbc 080001b0 080001b0 000011b0 2**4
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000018 08007f6c 08007f6c 00008f6c 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08007f84 08007f84 00009010 2**0
- CONTENTS, READONLY
- 4 .ARM 00000008 08007f84 08007f84 00008f84 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 5 .preinit_array 00000000 08007f8c 08007f8c 00009010 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08007f8c 08007f8c 00008f8c 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 7 .fini_array 00000004 08007f90 08007f90 00008f90 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 8 .data 00000010 20000000 08007f94 00009000 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 9 .ccmram 00000000 10000000 10000000 00009010 2**0
- CONTENTS
- 10 .bss 000007a4 20000010 20000010 00009010 2**2
- ALLOC
- 11 ._user_heap_stack 00000604 200007b4 200007b4 00009010 2**0
- ALLOC
- 12 .ARM.attributes 00000030 00000000 00000000 00009010 2**0
- CONTENTS, READONLY
- 13 .debug_info 0002508f 00000000 00000000 00009040 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_abbrev 00004eb9 00000000 00000000 0002e0cf 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_aranges 00002098 00000000 00000000 00032f88 2**3
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_rnglists 0000195d 00000000 00000000 00035020 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_macro 00028e4c 00000000 00000000 0003697d 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_line 00025485 00000000 00000000 0005f7c9 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .debug_str 000f428b 00000000 00000000 00084c4e 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 20 .comment 00000043 00000000 00000000 00178ed9 2**0
- CONTENTS, READONLY
- 21 .debug_frame 00008c0c 00000000 00000000 00178f1c 2**2
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 22 .debug_line_str 00000051 00000000 00000000 00181b28 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
-
-Disassembly of section .text:
-
-080001b0 <__do_global_dtors_aux>:
- 80001b0: b510 push {r4, lr}
- 80001b2: 4c05 ldr r4, [pc, #20] @ (80001c8 <__do_global_dtors_aux+0x18>)
- 80001b4: 7823 ldrb r3, [r4, #0]
- 80001b6: b933 cbnz r3, 80001c6 <__do_global_dtors_aux+0x16>
- 80001b8: 4b04 ldr r3, [pc, #16] @ (80001cc <__do_global_dtors_aux+0x1c>)
- 80001ba: b113 cbz r3, 80001c2 <__do_global_dtors_aux+0x12>
- 80001bc: 4804 ldr r0, [pc, #16] @ (80001d0 <__do_global_dtors_aux+0x20>)
- 80001be: f3af 8000 nop.w
- 80001c2: 2301 movs r3, #1
- 80001c4: 7023 strb r3, [r4, #0]
- 80001c6: bd10 pop {r4, pc}
- 80001c8: 20000010 .word 0x20000010
- 80001cc: 00000000 .word 0x00000000
- 80001d0: 08007f54 .word 0x08007f54
-
-080001d4 :
- 80001d4: b508 push {r3, lr}
- 80001d6: 4b03 ldr r3, [pc, #12] @ (80001e4 )
- 80001d8: b11b cbz r3, 80001e2
- 80001da: 4903 ldr r1, [pc, #12] @ (80001e8 )
- 80001dc: 4803 ldr r0, [pc, #12] @ (80001ec )
- 80001de: f3af 8000 nop.w
- 80001e2: bd08 pop {r3, pc}
- 80001e4: 00000000 .word 0x00000000
- 80001e8: 20000014 .word 0x20000014
- 80001ec: 08007f54 .word 0x08007f54
-
-080001f0 <__aeabi_uldivmod>:
- 80001f0: b953 cbnz r3, 8000208 <__aeabi_uldivmod+0x18>
- 80001f2: b94a cbnz r2, 8000208 <__aeabi_uldivmod+0x18>
- 80001f4: 2900 cmp r1, #0
- 80001f6: bf08 it eq
- 80001f8: 2800 cmpeq r0, #0
- 80001fa: bf1c itt ne
- 80001fc: f04f 31ff movne.w r1, #4294967295 @ 0xffffffff
- 8000200: f04f 30ff movne.w r0, #4294967295 @ 0xffffffff
- 8000204: f000 b988 b.w 8000518 <__aeabi_idiv0>
- 8000208: f1ad 0c08 sub.w ip, sp, #8
- 800020c: e96d ce04 strd ip, lr, [sp, #-16]!
- 8000210: f000 f806 bl 8000220 <__udivmoddi4>
- 8000214: f8dd e004 ldr.w lr, [sp, #4]
- 8000218: e9dd 2302 ldrd r2, r3, [sp, #8]
- 800021c: b004 add sp, #16
- 800021e: 4770 bx lr
-
-08000220 <__udivmoddi4>:
- 8000220: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8000224: 9d08 ldr r5, [sp, #32]
- 8000226: 468e mov lr, r1
- 8000228: 4604 mov r4, r0
- 800022a: 4688 mov r8, r1
- 800022c: 2b00 cmp r3, #0
- 800022e: d14a bne.n 80002c6 <__udivmoddi4+0xa6>
- 8000230: 428a cmp r2, r1
- 8000232: 4617 mov r7, r2
- 8000234: d962 bls.n 80002fc <__udivmoddi4+0xdc>
- 8000236: fab2 f682 clz r6, r2
- 800023a: b14e cbz r6, 8000250 <__udivmoddi4+0x30>
- 800023c: f1c6 0320 rsb r3, r6, #32
- 8000240: fa01 f806 lsl.w r8, r1, r6
- 8000244: fa20 f303 lsr.w r3, r0, r3
- 8000248: 40b7 lsls r7, r6
- 800024a: ea43 0808 orr.w r8, r3, r8
- 800024e: 40b4 lsls r4, r6
- 8000250: ea4f 4e17 mov.w lr, r7, lsr #16
- 8000254: fa1f fc87 uxth.w ip, r7
- 8000258: fbb8 f1fe udiv r1, r8, lr
- 800025c: 0c23 lsrs r3, r4, #16
- 800025e: fb0e 8811 mls r8, lr, r1, r8
- 8000262: ea43 4308 orr.w r3, r3, r8, lsl #16
- 8000266: fb01 f20c mul.w r2, r1, ip
- 800026a: 429a cmp r2, r3
- 800026c: d909 bls.n 8000282 <__udivmoddi4+0x62>
- 800026e: 18fb adds r3, r7, r3
- 8000270: f101 30ff add.w r0, r1, #4294967295 @ 0xffffffff
- 8000274: f080 80ea bcs.w 800044c <__udivmoddi4+0x22c>
- 8000278: 429a cmp r2, r3
- 800027a: f240 80e7 bls.w 800044c <__udivmoddi4+0x22c>
- 800027e: 3902 subs r1, #2
- 8000280: 443b add r3, r7
- 8000282: 1a9a subs r2, r3, r2
- 8000284: b2a3 uxth r3, r4
- 8000286: fbb2 f0fe udiv r0, r2, lr
- 800028a: fb0e 2210 mls r2, lr, r0, r2
- 800028e: ea43 4302 orr.w r3, r3, r2, lsl #16
- 8000292: fb00 fc0c mul.w ip, r0, ip
- 8000296: 459c cmp ip, r3
- 8000298: d909 bls.n 80002ae <__udivmoddi4+0x8e>
- 800029a: 18fb adds r3, r7, r3
- 800029c: f100 32ff add.w r2, r0, #4294967295 @ 0xffffffff
- 80002a0: f080 80d6 bcs.w 8000450 <__udivmoddi4+0x230>
- 80002a4: 459c cmp ip, r3
- 80002a6: f240 80d3 bls.w 8000450 <__udivmoddi4+0x230>
- 80002aa: 443b add r3, r7
- 80002ac: 3802 subs r0, #2
- 80002ae: ea40 4001 orr.w r0, r0, r1, lsl #16
- 80002b2: eba3 030c sub.w r3, r3, ip
- 80002b6: 2100 movs r1, #0
- 80002b8: b11d cbz r5, 80002c2 <__udivmoddi4+0xa2>
- 80002ba: 40f3 lsrs r3, r6
- 80002bc: 2200 movs r2, #0
- 80002be: e9c5 3200 strd r3, r2, [r5]
- 80002c2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 80002c6: 428b cmp r3, r1
- 80002c8: d905 bls.n 80002d6 <__udivmoddi4+0xb6>
- 80002ca: b10d cbz r5, 80002d0 <__udivmoddi4+0xb0>
- 80002cc: e9c5 0100 strd r0, r1, [r5]
- 80002d0: 2100 movs r1, #0
- 80002d2: 4608 mov r0, r1
- 80002d4: e7f5 b.n 80002c2 <__udivmoddi4+0xa2>
- 80002d6: fab3 f183 clz r1, r3
- 80002da: 2900 cmp r1, #0
- 80002dc: d146 bne.n 800036c <__udivmoddi4+0x14c>
- 80002de: 4573 cmp r3, lr
- 80002e0: d302 bcc.n 80002e8 <__udivmoddi4+0xc8>
- 80002e2: 4282 cmp r2, r0
- 80002e4: f200 8105 bhi.w 80004f2 <__udivmoddi4+0x2d2>
- 80002e8: 1a84 subs r4, r0, r2
- 80002ea: eb6e 0203 sbc.w r2, lr, r3
- 80002ee: 2001 movs r0, #1
- 80002f0: 4690 mov r8, r2
- 80002f2: 2d00 cmp r5, #0
- 80002f4: d0e5 beq.n 80002c2 <__udivmoddi4+0xa2>
- 80002f6: e9c5 4800 strd r4, r8, [r5]
- 80002fa: e7e2 b.n 80002c2 <__udivmoddi4+0xa2>
- 80002fc: 2a00 cmp r2, #0
- 80002fe: f000 8090 beq.w 8000422 <__udivmoddi4+0x202>
- 8000302: fab2 f682 clz r6, r2
- 8000306: 2e00 cmp r6, #0
- 8000308: f040 80a4 bne.w 8000454 <__udivmoddi4+0x234>
- 800030c: 1a8a subs r2, r1, r2
- 800030e: 0c03 lsrs r3, r0, #16
- 8000310: ea4f 4e17 mov.w lr, r7, lsr #16
- 8000314: b280 uxth r0, r0
- 8000316: b2bc uxth r4, r7
- 8000318: 2101 movs r1, #1
- 800031a: fbb2 fcfe udiv ip, r2, lr
- 800031e: fb0e 221c mls r2, lr, ip, r2
- 8000322: ea43 4302 orr.w r3, r3, r2, lsl #16
- 8000326: fb04 f20c mul.w r2, r4, ip
- 800032a: 429a cmp r2, r3
- 800032c: d907 bls.n 800033e <__udivmoddi4+0x11e>
- 800032e: 18fb adds r3, r7, r3
- 8000330: f10c 38ff add.w r8, ip, #4294967295 @ 0xffffffff
- 8000334: d202 bcs.n 800033c <__udivmoddi4+0x11c>
- 8000336: 429a cmp r2, r3
- 8000338: f200 80e0 bhi.w 80004fc <__udivmoddi4+0x2dc>
- 800033c: 46c4 mov ip, r8
- 800033e: 1a9b subs r3, r3, r2
- 8000340: fbb3 f2fe udiv r2, r3, lr
- 8000344: fb0e 3312 mls r3, lr, r2, r3
- 8000348: ea40 4303 orr.w r3, r0, r3, lsl #16
- 800034c: fb02 f404 mul.w r4, r2, r4
- 8000350: 429c cmp r4, r3
- 8000352: d907 bls.n 8000364 <__udivmoddi4+0x144>
- 8000354: 18fb adds r3, r7, r3
- 8000356: f102 30ff add.w r0, r2, #4294967295 @ 0xffffffff
- 800035a: d202 bcs.n 8000362 <__udivmoddi4+0x142>
- 800035c: 429c cmp r4, r3
- 800035e: f200 80ca bhi.w 80004f6 <__udivmoddi4+0x2d6>
- 8000362: 4602 mov r2, r0
- 8000364: 1b1b subs r3, r3, r4
- 8000366: ea42 400c orr.w r0, r2, ip, lsl #16
- 800036a: e7a5 b.n 80002b8 <__udivmoddi4+0x98>
- 800036c: f1c1 0620 rsb r6, r1, #32
- 8000370: 408b lsls r3, r1
- 8000372: fa22 f706 lsr.w r7, r2, r6
- 8000376: 431f orrs r7, r3
- 8000378: fa0e f401 lsl.w r4, lr, r1
- 800037c: fa20 f306 lsr.w r3, r0, r6
- 8000380: fa2e fe06 lsr.w lr, lr, r6
- 8000384: ea4f 4917 mov.w r9, r7, lsr #16
- 8000388: 4323 orrs r3, r4
- 800038a: fa00 f801 lsl.w r8, r0, r1
- 800038e: fa1f fc87 uxth.w ip, r7
- 8000392: fbbe f0f9 udiv r0, lr, r9
- 8000396: 0c1c lsrs r4, r3, #16
- 8000398: fb09 ee10 mls lr, r9, r0, lr
- 800039c: ea44 440e orr.w r4, r4, lr, lsl #16
- 80003a0: fb00 fe0c mul.w lr, r0, ip
- 80003a4: 45a6 cmp lr, r4
- 80003a6: fa02 f201 lsl.w r2, r2, r1
- 80003aa: d909 bls.n 80003c0 <__udivmoddi4+0x1a0>
- 80003ac: 193c adds r4, r7, r4
- 80003ae: f100 3aff add.w sl, r0, #4294967295 @ 0xffffffff
- 80003b2: f080 809c bcs.w 80004ee <__udivmoddi4+0x2ce>
- 80003b6: 45a6 cmp lr, r4
- 80003b8: f240 8099 bls.w 80004ee <__udivmoddi4+0x2ce>
- 80003bc: 3802 subs r0, #2
- 80003be: 443c add r4, r7
- 80003c0: eba4 040e sub.w r4, r4, lr
- 80003c4: fa1f fe83 uxth.w lr, r3
- 80003c8: fbb4 f3f9 udiv r3, r4, r9
- 80003cc: fb09 4413 mls r4, r9, r3, r4
- 80003d0: ea4e 4404 orr.w r4, lr, r4, lsl #16
- 80003d4: fb03 fc0c mul.w ip, r3, ip
- 80003d8: 45a4 cmp ip, r4
- 80003da: d908 bls.n 80003ee <__udivmoddi4+0x1ce>
- 80003dc: 193c adds r4, r7, r4
- 80003de: f103 3eff add.w lr, r3, #4294967295 @ 0xffffffff
- 80003e2: f080 8082 bcs.w 80004ea <__udivmoddi4+0x2ca>
- 80003e6: 45a4 cmp ip, r4
- 80003e8: d97f bls.n 80004ea <__udivmoddi4+0x2ca>
- 80003ea: 3b02 subs r3, #2
- 80003ec: 443c add r4, r7
- 80003ee: ea43 4000 orr.w r0, r3, r0, lsl #16
- 80003f2: eba4 040c sub.w r4, r4, ip
- 80003f6: fba0 ec02 umull lr, ip, r0, r2
- 80003fa: 4564 cmp r4, ip
- 80003fc: 4673 mov r3, lr
- 80003fe: 46e1 mov r9, ip
- 8000400: d362 bcc.n 80004c8 <__udivmoddi4+0x2a8>
- 8000402: d05f beq.n 80004c4 <__udivmoddi4+0x2a4>
- 8000404: b15d cbz r5, 800041e <__udivmoddi4+0x1fe>
- 8000406: ebb8 0203 subs.w r2, r8, r3
- 800040a: eb64 0409 sbc.w r4, r4, r9
- 800040e: fa04 f606 lsl.w r6, r4, r6
- 8000412: fa22 f301 lsr.w r3, r2, r1
- 8000416: 431e orrs r6, r3
- 8000418: 40cc lsrs r4, r1
- 800041a: e9c5 6400 strd r6, r4, [r5]
- 800041e: 2100 movs r1, #0
- 8000420: e74f b.n 80002c2 <__udivmoddi4+0xa2>
- 8000422: fbb1 fcf2 udiv ip, r1, r2
- 8000426: 0c01 lsrs r1, r0, #16
- 8000428: ea41 410e orr.w r1, r1, lr, lsl #16
- 800042c: b280 uxth r0, r0
- 800042e: ea40 4201 orr.w r2, r0, r1, lsl #16
- 8000432: 463b mov r3, r7
- 8000434: 4638 mov r0, r7
- 8000436: 463c mov r4, r7
- 8000438: 46b8 mov r8, r7
- 800043a: 46be mov lr, r7
- 800043c: 2620 movs r6, #32
- 800043e: fbb1 f1f7 udiv r1, r1, r7
- 8000442: eba2 0208 sub.w r2, r2, r8
- 8000446: ea41 410c orr.w r1, r1, ip, lsl #16
- 800044a: e766 b.n 800031a <__udivmoddi4+0xfa>
- 800044c: 4601 mov r1, r0
- 800044e: e718 b.n 8000282 <__udivmoddi4+0x62>
- 8000450: 4610 mov r0, r2
- 8000452: e72c b.n 80002ae <__udivmoddi4+0x8e>
- 8000454: f1c6 0220 rsb r2, r6, #32
- 8000458: fa2e f302 lsr.w r3, lr, r2
- 800045c: 40b7 lsls r7, r6
- 800045e: 40b1 lsls r1, r6
- 8000460: fa20 f202 lsr.w r2, r0, r2
- 8000464: ea4f 4e17 mov.w lr, r7, lsr #16
- 8000468: 430a orrs r2, r1
- 800046a: fbb3 f8fe udiv r8, r3, lr
- 800046e: b2bc uxth r4, r7
- 8000470: fb0e 3318 mls r3, lr, r8, r3
- 8000474: 0c11 lsrs r1, r2, #16
- 8000476: ea41 4103 orr.w r1, r1, r3, lsl #16
- 800047a: fb08 f904 mul.w r9, r8, r4
- 800047e: 40b0 lsls r0, r6
- 8000480: 4589 cmp r9, r1
- 8000482: ea4f 4310 mov.w r3, r0, lsr #16
- 8000486: b280 uxth r0, r0
- 8000488: d93e bls.n 8000508 <__udivmoddi4+0x2e8>
- 800048a: 1879 adds r1, r7, r1
- 800048c: f108 3cff add.w ip, r8, #4294967295 @ 0xffffffff
- 8000490: d201 bcs.n 8000496 <__udivmoddi4+0x276>
- 8000492: 4589 cmp r9, r1
- 8000494: d81f bhi.n 80004d6 <__udivmoddi4+0x2b6>
- 8000496: eba1 0109 sub.w r1, r1, r9
- 800049a: fbb1 f9fe udiv r9, r1, lr
- 800049e: fb09 f804 mul.w r8, r9, r4
- 80004a2: fb0e 1119 mls r1, lr, r9, r1
- 80004a6: b292 uxth r2, r2
- 80004a8: ea42 4201 orr.w r2, r2, r1, lsl #16
- 80004ac: 4542 cmp r2, r8
- 80004ae: d229 bcs.n 8000504 <__udivmoddi4+0x2e4>
- 80004b0: 18ba adds r2, r7, r2
- 80004b2: f109 31ff add.w r1, r9, #4294967295 @ 0xffffffff
- 80004b6: d2c4 bcs.n 8000442 <__udivmoddi4+0x222>
- 80004b8: 4542 cmp r2, r8
- 80004ba: d2c2 bcs.n 8000442 <__udivmoddi4+0x222>
- 80004bc: f1a9 0102 sub.w r1, r9, #2
- 80004c0: 443a add r2, r7
- 80004c2: e7be b.n 8000442 <__udivmoddi4+0x222>
- 80004c4: 45f0 cmp r8, lr
- 80004c6: d29d bcs.n 8000404 <__udivmoddi4+0x1e4>
- 80004c8: ebbe 0302 subs.w r3, lr, r2
- 80004cc: eb6c 0c07 sbc.w ip, ip, r7
- 80004d0: 3801 subs r0, #1
- 80004d2: 46e1 mov r9, ip
- 80004d4: e796 b.n 8000404 <__udivmoddi4+0x1e4>
- 80004d6: eba7 0909 sub.w r9, r7, r9
- 80004da: 4449 add r1, r9
- 80004dc: f1a8 0c02 sub.w ip, r8, #2
- 80004e0: fbb1 f9fe udiv r9, r1, lr
- 80004e4: fb09 f804 mul.w r8, r9, r4
- 80004e8: e7db b.n 80004a2 <__udivmoddi4+0x282>
- 80004ea: 4673 mov r3, lr
- 80004ec: e77f b.n 80003ee <__udivmoddi4+0x1ce>
- 80004ee: 4650 mov r0, sl
- 80004f0: e766 b.n 80003c0 <__udivmoddi4+0x1a0>
- 80004f2: 4608 mov r0, r1
- 80004f4: e6fd b.n 80002f2 <__udivmoddi4+0xd2>
- 80004f6: 443b add r3, r7
- 80004f8: 3a02 subs r2, #2
- 80004fa: e733 b.n 8000364 <__udivmoddi4+0x144>
- 80004fc: f1ac 0c02 sub.w ip, ip, #2
- 8000500: 443b add r3, r7
- 8000502: e71c b.n 800033e <__udivmoddi4+0x11e>
- 8000504: 4649 mov r1, r9
- 8000506: e79c b.n 8000442 <__udivmoddi4+0x222>
- 8000508: eba1 0109 sub.w r1, r1, r9
- 800050c: 46c4 mov ip, r8
- 800050e: fbb1 f9fe udiv r9, r1, lr
- 8000512: fb09 f804 mul.w r8, r9, r4
- 8000516: e7c4 b.n 80004a2 <__udivmoddi4+0x282>
-
-08000518 <__aeabi_idiv0>:
- 8000518: 4770 bx lr
- 800051a: bf00 nop
-
-0800051c :
-
-uint8_t trafflight_index = 0;
-
-void
-starttick(void)
-{
- 800051c: b580 push {r7, lr}
- 800051e: af00 add r7, sp, #0
- trafftick_last = HAL_GetTick();
- 8000520: f001 f8e0 bl 80016e4
- 8000524: 4603 mov r3, r0
- 8000526: 4a04 ldr r2, [pc, #16] @ (8000538 )
- 8000528: 6013 str r3, [r2, #0]
- walktick_last = HAL_GetTick();
- 800052a: f001 f8db bl 80016e4
- 800052e: 4603 mov r3, r0
- 8000530: 4a02 ldr r2, [pc, #8] @ (800053c )
- 8000532: 6013 str r3, [r2, #0]
-}
- 8000534: bf00 nop
- 8000536: bd80 pop {r7, pc}
- 8000538: 2000002c .word 0x2000002c
- 800053c: 20000030 .word 0x20000030
-
-08000540 :
-
-void
-trafflight(int traffSPD, int walkSPD)
-{
- 8000540: b580 push {r7, lr}
- 8000542: b084 sub sp, #16
- 8000544: af00 add r7, sp, #0
- 8000546: 6078 str r0, [r7, #4]
- 8000548: 6039 str r1, [r7, #0]
- uint32_t trafftick_curr = HAL_GetTick();
- 800054a: f001 f8cb bl 80016e4
- 800054e: 60f8 str r0, [r7, #12]
-
- if ((trafftick_curr - trafftick_last) >= traffSPD) {
- 8000550: 4b2b ldr r3, [pc, #172] @ (8000600 )
- 8000552: 681b ldr r3, [r3, #0]
- 8000554: 68fa ldr r2, [r7, #12]
- 8000556: 1ad2 subs r2, r2, r3
- 8000558: 687b ldr r3, [r7, #4]
- 800055a: 429a cmp r2, r3
- 800055c: d33d bcc.n 80005da
- HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET);
- 800055e: 2200 movs r2, #0
- 8000560: 2104 movs r1, #4
- 8000562: 4828 ldr r0, [pc, #160] @ (8000604 )
- 8000564: f001 fd60 bl 8002028
- HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET);
- 8000568: 2200 movs r2, #0
- 800056a: 2108 movs r1, #8
- 800056c: 4825 ldr r0, [pc, #148] @ (8000604 )
- 800056e: f001 fd5b bl 8002028
- HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET);
- 8000572: 2200 movs r2, #0
- 8000574: 2110 movs r1, #16
- 8000576: 4823 ldr r0, [pc, #140] @ (8000604 )
- 8000578: f001 fd56 bl 8002028
-
- switch (trafflight_index) {
- 800057c: 4b22 ldr r3, [pc, #136] @ (8000608 )
- 800057e: 781b ldrb r3, [r3, #0]
- 8000580: 2b02 cmp r3, #2
- 8000582: d012 beq.n 80005aa
- 8000584: 2b02 cmp r3, #2
- 8000586: dc16 bgt.n 80005b6
- 8000588: 2b00 cmp r3, #0
- 800058a: d002 beq.n 8000592
- 800058c: 2b01 cmp r3, #1
- 800058e: d006 beq.n 800059e
- 8000590: e011 b.n 80005b6
- case 0:
- HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET);
- 8000592: 2201 movs r2, #1
- 8000594: 2104 movs r1, #4
- 8000596: 481b ldr r0, [pc, #108] @ (8000604 )
- 8000598: f001 fd46 bl 8002028
- break;
- 800059c: e00b b.n 80005b6
- case 1:
- HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET);
- 800059e: 2201 movs r2, #1
- 80005a0: 2108 movs r1, #8
- 80005a2: 4818 ldr r0, [pc, #96] @ (8000604 )
- 80005a4: f001 fd40 bl 8002028
- break;
- 80005a8: e005 b.n 80005b6
- case 2:
- HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET);
- 80005aa: 2201 movs r2, #1
- 80005ac: 2110 movs r1, #16
- 80005ae: 4815 ldr r0, [pc, #84] @ (8000604 )
- 80005b0: f001 fd3a bl 8002028
- break;
- 80005b4: bf00 nop
- }
-
- trafflight_index = (trafflight_index + 1) % 3;
- 80005b6: 4b14 ldr r3, [pc, #80] @ (8000608 )
- 80005b8: 781b ldrb r3, [r3, #0]
- 80005ba: 1c5a adds r2, r3, #1
- 80005bc: 4b13 ldr r3, [pc, #76] @ (800060c )
- 80005be: fb83 3102 smull r3, r1, r3, r2
- 80005c2: 17d3 asrs r3, r2, #31
- 80005c4: 1ac9 subs r1, r1, r3
- 80005c6: 460b mov r3, r1
- 80005c8: 005b lsls r3, r3, #1
- 80005ca: 440b add r3, r1
- 80005cc: 1ad1 subs r1, r2, r3
- 80005ce: b2ca uxtb r2, r1
- 80005d0: 4b0d ldr r3, [pc, #52] @ (8000608 )
- 80005d2: 701a strb r2, [r3, #0]
- trafftick_last = trafftick_curr;
- 80005d4: 4a0a ldr r2, [pc, #40] @ (8000600 )
- 80005d6: 68fb ldr r3, [r7, #12]
- 80005d8: 6013 str r3, [r2, #0]
- }
-
- if ((trafftick_curr - walktick_last) >= walkSPD) {
- 80005da: 4b0d ldr r3, [pc, #52] @ (8000610 )
- 80005dc: 681b ldr r3, [r3, #0]
- 80005de: 68fa ldr r2, [r7, #12]
- 80005e0: 1ad2 subs r2, r2, r3
- 80005e2: 683b ldr r3, [r7, #0]
- 80005e4: 429a cmp r2, r3
- 80005e6: d306 bcc.n 80005f6
- HAL_GPIO_TogglePin(W_Prt, W_Pin);
- 80005e8: 2120 movs r1, #32
- 80005ea: 4806 ldr r0, [pc, #24] @ (8000604 )
- 80005ec: f001 fd35 bl 800205a
- walktick_last = trafftick_curr;
- 80005f0: 4a07 ldr r2, [pc, #28] @ (8000610 )
- 80005f2: 68fb ldr r3, [r7, #12]
- 80005f4: 6013 str r3, [r2, #0]
- }
-}
- 80005f6: bf00 nop
- 80005f8: 3710 adds r7, #16
- 80005fa: 46bd mov sp, r7
- 80005fc: bd80 pop {r7, pc}
- 80005fe: bf00 nop
- 8000600: 2000002c .word 0x2000002c
- 8000604: 40021000 .word 0x40021000
- 8000608: 20000034 .word 0x20000034
- 800060c: 55555556 .word 0x55555556
- 8000610: 20000030 .word 0x20000030
-
-08000614 :
-}
-/* USER CODE END 2 */
-
-/* USER CODE BEGIN 4 */
-__weak void vApplicationStackOverflowHook(xTaskHandle xTask, signed char *pcTaskName)
-{
- 8000614: b480 push {r7}
- 8000616: b083 sub sp, #12
- 8000618: af00 add r7, sp, #0
- 800061a: 6078 str r0, [r7, #4]
- 800061c: 6039 str r1, [r7, #0]
- /* Run time stack overflow checking is performed if
- configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook function is
- called if a stack overflow is detected. */
-}
- 800061e: bf00 nop
- 8000620: 370c adds r7, #12
- 8000622: 46bd mov sp, r7
- 8000624: f85d 7b04 ldr.w r7, [sp], #4
- 8000628: 4770 bx lr
-
-0800062a :
-/**
- * @brief The application entry point.
- * @retval int
- */
-int main(void)
-{
- 800062a: b580 push {r7, lr}
- 800062c: af00 add r7, sp, #0
- /* USER CODE END 1 */
-
- /* MCU Configuration--------------------------------------------------------*/
-
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
- 800062e: f001 f823 bl 8001678
- /* USER CODE BEGIN Init */
-
- /* USER CODE END Init */
-
- /* Configure the system clock */
- SystemClock_Config();
- 8000632: f000 f81b bl 800066c
- /* USER CODE BEGIN SysInit */
-
- /* USER CODE END SysInit */
-
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- 8000636: f000 fa89 bl 8000b4c
- MX_CRC_Init();
- 800063a: f000 f881 bl 8000740
- MX_DMA2D_Init();
- 800063e: f000 f893 bl 8000768
- MX_FMC_Init();
- 8000642: f000 fa33 bl 8000aac
- MX_I2C3_Init();
- 8000646: f000 f8c1 bl 80007cc
- MX_LTDC_Init();
- 800064a: f000 f8ff bl 800084c
- MX_SPI5_Init();
- 800064e: f000 f97d bl 800094c
- MX_TIM1_Init();
- 8000652: f000 f9b1 bl 80009b8
- MX_USART1_UART_Init();
- 8000656: f000 f9ff bl 8000a58
-
- /* We should never get here as control is now taken by the scheduler */
-
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- starttick();
- 800065a: f7ff ff5f bl 800051c
- while (1)
- {
- trafflight(2*1000, 10*1000);
- 800065e: f242 7110 movw r1, #10000 @ 0x2710
- 8000662: f44f 60fa mov.w r0, #2000 @ 0x7d0
- 8000666: f7ff ff6b bl 8000540
- 800066a: e7f8 b.n 800065e
-
-0800066c :
-/**
- * @brief System Clock Configuration
- * @retval None
- */
-void SystemClock_Config(void)
-{
- 800066c: b580 push {r7, lr}
- 800066e: b094 sub sp, #80 @ 0x50
- 8000670: af00 add r7, sp, #0
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- 8000672: f107 0320 add.w r3, r7, #32
- 8000676: 2230 movs r2, #48 @ 0x30
- 8000678: 2100 movs r1, #0
- 800067a: 4618 mov r0, r3
- 800067c: f007 fc30 bl 8007ee0
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- 8000680: f107 030c add.w r3, r7, #12
- 8000684: 2200 movs r2, #0
- 8000686: 601a str r2, [r3, #0]
- 8000688: 605a str r2, [r3, #4]
- 800068a: 609a str r2, [r3, #8]
- 800068c: 60da str r2, [r3, #12]
- 800068e: 611a str r2, [r3, #16]
-
- /** Configure the main internal regulator output voltage
- */
- __HAL_RCC_PWR_CLK_ENABLE();
- 8000690: 2300 movs r3, #0
- 8000692: 60bb str r3, [r7, #8]
- 8000694: 4b28 ldr r3, [pc, #160] @ (8000738 )
- 8000696: 6c1b ldr r3, [r3, #64] @ 0x40
- 8000698: 4a27 ldr r2, [pc, #156] @ (8000738 )
- 800069a: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000
- 800069e: 6413 str r3, [r2, #64] @ 0x40
- 80006a0: 4b25 ldr r3, [pc, #148] @ (8000738 )
- 80006a2: 6c1b ldr r3, [r3, #64] @ 0x40
- 80006a4: f003 5380 and.w r3, r3, #268435456 @ 0x10000000
- 80006a8: 60bb str r3, [r7, #8]
- 80006aa: 68bb ldr r3, [r7, #8]
- __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
- 80006ac: 2300 movs r3, #0
- 80006ae: 607b str r3, [r7, #4]
- 80006b0: 4b22 ldr r3, [pc, #136] @ (800073c )
- 80006b2: 681b ldr r3, [r3, #0]
- 80006b4: f423 4340 bic.w r3, r3, #49152 @ 0xc000
- 80006b8: 4a20 ldr r2, [pc, #128] @ (800073c )
- 80006ba: f443 4380 orr.w r3, r3, #16384 @ 0x4000
- 80006be: 6013 str r3, [r2, #0]
- 80006c0: 4b1e ldr r3, [pc, #120] @ (800073c )
- 80006c2: 681b ldr r3, [r3, #0]
- 80006c4: f403 4340 and.w r3, r3, #49152 @ 0xc000
- 80006c8: 607b str r3, [r7, #4]
- 80006ca: 687b ldr r3, [r7, #4]
-
- /** Initializes the RCC Oscillators according to the specified parameters
- * in the RCC_OscInitTypeDef structure.
- */
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
- 80006cc: 2301 movs r3, #1
- 80006ce: 623b str r3, [r7, #32]
- RCC_OscInitStruct.HSEState = RCC_HSE_ON;
- 80006d0: f44f 3380 mov.w r3, #65536 @ 0x10000
- 80006d4: 627b str r3, [r7, #36] @ 0x24
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- 80006d6: 2302 movs r3, #2
- 80006d8: 63bb str r3, [r7, #56] @ 0x38
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- 80006da: f44f 0380 mov.w r3, #4194304 @ 0x400000
- 80006de: 63fb str r3, [r7, #60] @ 0x3c
- RCC_OscInitStruct.PLL.PLLM = 4;
- 80006e0: 2304 movs r3, #4
- 80006e2: 643b str r3, [r7, #64] @ 0x40
- RCC_OscInitStruct.PLL.PLLN = 72;
- 80006e4: 2348 movs r3, #72 @ 0x48
- 80006e6: 647b str r3, [r7, #68] @ 0x44
- RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
- 80006e8: 2302 movs r3, #2
- 80006ea: 64bb str r3, [r7, #72] @ 0x48
- RCC_OscInitStruct.PLL.PLLQ = 3;
- 80006ec: 2303 movs r3, #3
- 80006ee: 64fb str r3, [r7, #76] @ 0x4c
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- 80006f0: f107 0320 add.w r3, r7, #32
- 80006f4: 4618 mov r0, r3
- 80006f6: f003 ff41 bl 800457c
- 80006fa: 4603 mov r3, r0
- 80006fc: 2b00 cmp r3, #0
- 80006fe: d001 beq.n 8000704
- {
- Error_Handler();
- 8000700: f000 fb5a bl 8000db8
- }
-
- /** Initializes the CPU, AHB and APB buses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- 8000704: 230f movs r3, #15
- 8000706: 60fb str r3, [r7, #12]
- |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- 8000708: 2302 movs r3, #2
- 800070a: 613b str r3, [r7, #16]
- RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- 800070c: 2300 movs r3, #0
- 800070e: 617b str r3, [r7, #20]
- RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
- 8000710: f44f 5380 mov.w r3, #4096 @ 0x1000
- 8000714: 61bb str r3, [r7, #24]
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
- 8000716: 2300 movs r3, #0
- 8000718: 61fb str r3, [r7, #28]
-
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
- 800071a: f107 030c add.w r3, r7, #12
- 800071e: 2102 movs r1, #2
- 8000720: 4618 mov r0, r3
- 8000722: f004 f9a3 bl 8004a6c
- 8000726: 4603 mov r3, r0
- 8000728: 2b00 cmp r3, #0
- 800072a: d001 beq.n 8000730
- {
- Error_Handler();
- 800072c: f000 fb44 bl 8000db8
- }
-}
- 8000730: bf00 nop
- 8000732: 3750 adds r7, #80 @ 0x50
- 8000734: 46bd mov sp, r7
- 8000736: bd80 pop {r7, pc}
- 8000738: 40023800 .word 0x40023800
- 800073c: 40007000 .word 0x40007000
-
-08000740 :
- * @brief CRC Initialization Function
- * @param None
- * @retval None
- */
-static void MX_CRC_Init(void)
-{
- 8000740: b580 push {r7, lr}
- 8000742: af00 add r7, sp, #0
- /* USER CODE END CRC_Init 0 */
-
- /* USER CODE BEGIN CRC_Init 1 */
-
- /* USER CODE END CRC_Init 1 */
- hcrc.Instance = CRC;
- 8000744: 4b06 ldr r3, [pc, #24] @ (8000760 )
- 8000746: 4a07 ldr r2, [pc, #28] @ (8000764 )
- 8000748: 601a str r2, [r3, #0]
- if (HAL_CRC_Init(&hcrc) != HAL_OK)
- 800074a: 4805 ldr r0, [pc, #20] @ (8000760 )
- 800074c: f001 f8b8 bl 80018c0
- 8000750: 4603 mov r3, r0
- 8000752: 2b00 cmp r3, #0
- 8000754: d001 beq.n 800075a
- {
- Error_Handler();
- 8000756: f000 fb2f bl 8000db8
- }
- /* USER CODE BEGIN CRC_Init 2 */
-
- /* USER CODE END CRC_Init 2 */
-
-}
- 800075a: bf00 nop
- 800075c: bd80 pop {r7, pc}
- 800075e: bf00 nop
- 8000760: 20000038 .word 0x20000038
- 8000764: 40023000 .word 0x40023000
-
-08000768 :
- * @brief DMA2D Initialization Function
- * @param None
- * @retval None
- */
-static void MX_DMA2D_Init(void)
-{
- 8000768: b580 push {r7, lr}
- 800076a: af00 add r7, sp, #0
- /* USER CODE END DMA2D_Init 0 */
-
- /* USER CODE BEGIN DMA2D_Init 1 */
-
- /* USER CODE END DMA2D_Init 1 */
- hdma2d.Instance = DMA2D;
- 800076c: 4b15 ldr r3, [pc, #84] @ (80007c4 )
- 800076e: 4a16 ldr r2, [pc, #88] @ (80007c8 )
- 8000770: 601a str r2, [r3, #0]
- hdma2d.Init.Mode = DMA2D_M2M;
- 8000772: 4b14 ldr r3, [pc, #80] @ (80007c4 )
- 8000774: 2200 movs r2, #0
- 8000776: 605a str r2, [r3, #4]
- hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888;
- 8000778: 4b12 ldr r3, [pc, #72] @ (80007c4 )
- 800077a: 2200 movs r2, #0
- 800077c: 609a str r2, [r3, #8]
- hdma2d.Init.OutputOffset = 0;
- 800077e: 4b11 ldr r3, [pc, #68] @ (80007c4 )
- 8000780: 2200 movs r2, #0
- 8000782: 60da str r2, [r3, #12]
- hdma2d.LayerCfg[1].InputOffset = 0;
- 8000784: 4b0f ldr r3, [pc, #60] @ (80007c4 )
- 8000786: 2200 movs r2, #0
- 8000788: 629a str r2, [r3, #40] @ 0x28
- hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_ARGB8888;
- 800078a: 4b0e ldr r3, [pc, #56] @ (80007c4 )
- 800078c: 2200 movs r2, #0
- 800078e: 62da str r2, [r3, #44] @ 0x2c
- hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA;
- 8000790: 4b0c ldr r3, [pc, #48] @ (80007c4 )
- 8000792: 2200 movs r2, #0
- 8000794: 631a str r2, [r3, #48] @ 0x30
- hdma2d.LayerCfg[1].InputAlpha = 0;
- 8000796: 4b0b ldr r3, [pc, #44] @ (80007c4 )
- 8000798: 2200 movs r2, #0
- 800079a: 635a str r2, [r3, #52] @ 0x34
- if (HAL_DMA2D_Init(&hdma2d) != HAL_OK)
- 800079c: 4809 ldr r0, [pc, #36] @ (80007c4 )
- 800079e: f001 f8ab bl 80018f8
- 80007a2: 4603 mov r3, r0
- 80007a4: 2b00 cmp r3, #0
- 80007a6: d001 beq.n 80007ac
- {
- Error_Handler();
- 80007a8: f000 fb06 bl 8000db8
- }
- if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK)
- 80007ac: 2101 movs r1, #1
- 80007ae: 4805 ldr r0, [pc, #20] @ (80007c4 )
- 80007b0: f001 f9fc bl 8001bac
- 80007b4: 4603 mov r3, r0
- 80007b6: 2b00 cmp r3, #0
- 80007b8: d001 beq.n 80007be
- {
- Error_Handler();
- 80007ba: f000 fafd bl 8000db8
- }
- /* USER CODE BEGIN DMA2D_Init 2 */
-
- /* USER CODE END DMA2D_Init 2 */
-
-}
- 80007be: bf00 nop
- 80007c0: bd80 pop {r7, pc}
- 80007c2: bf00 nop
- 80007c4: 20000040 .word 0x20000040
- 80007c8: 4002b000 .word 0x4002b000
-
-080007cc :
- * @brief I2C3 Initialization Function
- * @param None
- * @retval None
- */
-static void MX_I2C3_Init(void)
-{
- 80007cc: b580 push {r7, lr}
- 80007ce: af00 add r7, sp, #0
- /* USER CODE END I2C3_Init 0 */
-
- /* USER CODE BEGIN I2C3_Init 1 */
-
- /* USER CODE END I2C3_Init 1 */
- hi2c3.Instance = I2C3;
- 80007d0: 4b1b ldr r3, [pc, #108] @ (8000840 )
- 80007d2: 4a1c ldr r2, [pc, #112] @ (8000844 )
- 80007d4: 601a str r2, [r3, #0]
- hi2c3.Init.ClockSpeed = 100000;
- 80007d6: 4b1a ldr r3, [pc, #104] @ (8000840 )
- 80007d8: 4a1b ldr r2, [pc, #108] @ (8000848 )
- 80007da: 605a str r2, [r3, #4]
- hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2;
- 80007dc: 4b18 ldr r3, [pc, #96] @ (8000840 )
- 80007de: 2200 movs r2, #0
- 80007e0: 609a str r2, [r3, #8]
- hi2c3.Init.OwnAddress1 = 0;
- 80007e2: 4b17 ldr r3, [pc, #92] @ (8000840 )
- 80007e4: 2200 movs r2, #0
- 80007e6: 60da str r2, [r3, #12]
- hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
- 80007e8: 4b15 ldr r3, [pc, #84] @ (8000840 )
- 80007ea: f44f 4280 mov.w r2, #16384 @ 0x4000
- 80007ee: 611a str r2, [r3, #16]
- hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
- 80007f0: 4b13 ldr r3, [pc, #76] @ (8000840 )
- 80007f2: 2200 movs r2, #0
- 80007f4: 615a str r2, [r3, #20]
- hi2c3.Init.OwnAddress2 = 0;
- 80007f6: 4b12 ldr r3, [pc, #72] @ (8000840 )
- 80007f8: 2200 movs r2, #0
- 80007fa: 619a str r2, [r3, #24]
- hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
- 80007fc: 4b10 ldr r3, [pc, #64] @ (8000840 )
- 80007fe: 2200 movs r2, #0
- 8000800: 61da str r2, [r3, #28]
- hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
- 8000802: 4b0f ldr r3, [pc, #60] @ (8000840 )
- 8000804: 2200 movs r2, #0
- 8000806: 621a str r2, [r3, #32]
- if (HAL_I2C_Init(&hi2c3) != HAL_OK)
- 8000808: 480d ldr r0, [pc, #52] @ (8000840 )
- 800080a: f003 f9e7 bl 8003bdc
- 800080e: 4603 mov r3, r0
- 8000810: 2b00 cmp r3, #0
- 8000812: d001 beq.n 8000818
- {
- Error_Handler();
- 8000814: f000 fad0 bl 8000db8
- }
-
- /** Configure Analogue filter
- */
- if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
- 8000818: 2100 movs r1, #0
- 800081a: 4809 ldr r0, [pc, #36] @ (8000840 )
- 800081c: f003 fb22 bl 8003e64
- 8000820: 4603 mov r3, r0
- 8000822: 2b00 cmp r3, #0
- 8000824: d001 beq.n 800082a
- {
- Error_Handler();
- 8000826: f000 fac7 bl 8000db8
- }
-
- /** Configure Digital filter
- */
- if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK)
- 800082a: 2100 movs r1, #0
- 800082c: 4804 ldr r0, [pc, #16] @ (8000840 )
- 800082e: f003 fb55 bl 8003edc
- 8000832: 4603 mov r3, r0
- 8000834: 2b00 cmp r3, #0
- 8000836: d001 beq.n 800083c
- {
- Error_Handler();
- 8000838: f000 fabe bl 8000db8
- }
- /* USER CODE BEGIN I2C3_Init 2 */
-
- /* USER CODE END I2C3_Init 2 */
-
-}
- 800083c: bf00 nop
- 800083e: bd80 pop {r7, pc}
- 8000840: 20000080 .word 0x20000080
- 8000844: 40005c00 .word 0x40005c00
- 8000848: 000186a0 .word 0x000186a0
-
-0800084c :
- * @brief LTDC Initialization Function
- * @param None
- * @retval None
- */
-static void MX_LTDC_Init(void)
-{
- 800084c: b580 push {r7, lr}
- 800084e: b08e sub sp, #56 @ 0x38
- 8000850: af00 add r7, sp, #0
-
- /* USER CODE BEGIN LTDC_Init 0 */
-
- /* USER CODE END LTDC_Init 0 */
-
- LTDC_LayerCfgTypeDef pLayerCfg = {0};
- 8000852: 1d3b adds r3, r7, #4
- 8000854: 2234 movs r2, #52 @ 0x34
- 8000856: 2100 movs r1, #0
- 8000858: 4618 mov r0, r3
- 800085a: f007 fb41 bl 8007ee0
-
- /* USER CODE BEGIN LTDC_Init 1 */
-
- /* USER CODE END LTDC_Init 1 */
- hltdc.Instance = LTDC;
- 800085e: 4b39 ldr r3, [pc, #228] @ (8000944 )
- 8000860: 4a39 ldr r2, [pc, #228] @ (8000948 )
- 8000862: 601a str r2, [r3, #0]
- hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;
- 8000864: 4b37 ldr r3, [pc, #220] @ (8000944 )
- 8000866: 2200 movs r2, #0
- 8000868: 605a str r2, [r3, #4]
- hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;
- 800086a: 4b36 ldr r3, [pc, #216] @ (8000944 )
- 800086c: 2200 movs r2, #0
- 800086e: 609a str r2, [r3, #8]
- hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
- 8000870: 4b34 ldr r3, [pc, #208] @ (8000944 )
- 8000872: 2200 movs r2, #0
- 8000874: 60da str r2, [r3, #12]
- hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
- 8000876: 4b33 ldr r3, [pc, #204] @ (8000944 )
- 8000878: 2200 movs r2, #0
- 800087a: 611a str r2, [r3, #16]
- hltdc.Init.HorizontalSync = 9;
- 800087c: 4b31 ldr r3, [pc, #196] @ (8000944 )
- 800087e: 2209 movs r2, #9
- 8000880: 615a str r2, [r3, #20]
- hltdc.Init.VerticalSync = 1;
- 8000882: 4b30 ldr r3, [pc, #192] @ (8000944 )
- 8000884: 2201 movs r2, #1
- 8000886: 619a str r2, [r3, #24]
- hltdc.Init.AccumulatedHBP = 29;
- 8000888: 4b2e ldr r3, [pc, #184] @ (8000944 )
- 800088a: 221d movs r2, #29
- 800088c: 61da str r2, [r3, #28]
- hltdc.Init.AccumulatedVBP = 3;
- 800088e: 4b2d ldr r3, [pc, #180] @ (8000944 )
- 8000890: 2203 movs r2, #3
- 8000892: 621a str r2, [r3, #32]
- hltdc.Init.AccumulatedActiveW = 269;
- 8000894: 4b2b ldr r3, [pc, #172] @ (8000944 )
- 8000896: f240 120d movw r2, #269 @ 0x10d
- 800089a: 625a str r2, [r3, #36] @ 0x24
- hltdc.Init.AccumulatedActiveH = 323;
- 800089c: 4b29 ldr r3, [pc, #164] @ (8000944 )
- 800089e: f240 1243 movw r2, #323 @ 0x143
- 80008a2: 629a str r2, [r3, #40] @ 0x28
- hltdc.Init.TotalWidth = 279;
- 80008a4: 4b27 ldr r3, [pc, #156] @ (8000944 )
- 80008a6: f240 1217 movw r2, #279 @ 0x117
- 80008aa: 62da str r2, [r3, #44] @ 0x2c
- hltdc.Init.TotalHeigh = 327;
- 80008ac: 4b25 ldr r3, [pc, #148] @ (8000944 )
- 80008ae: f240 1247 movw r2, #327 @ 0x147
- 80008b2: 631a str r2, [r3, #48] @ 0x30
- hltdc.Init.Backcolor.Blue = 0;
- 80008b4: 4b23 ldr r3, [pc, #140] @ (8000944 )
- 80008b6: 2200 movs r2, #0
- 80008b8: f883 2034 strb.w r2, [r3, #52] @ 0x34
- hltdc.Init.Backcolor.Green = 0;
- 80008bc: 4b21 ldr r3, [pc, #132] @ (8000944 )
- 80008be: 2200 movs r2, #0
- 80008c0: f883 2035 strb.w r2, [r3, #53] @ 0x35
- hltdc.Init.Backcolor.Red = 0;
- 80008c4: 4b1f ldr r3, [pc, #124] @ (8000944 )
- 80008c6: 2200 movs r2, #0
- 80008c8: f883 2036 strb.w r2, [r3, #54] @ 0x36
- if (HAL_LTDC_Init(&hltdc) != HAL_OK)
- 80008cc: 481d ldr r0, [pc, #116] @ (8000944 )
- 80008ce: f003 fb44 bl 8003f5a
- 80008d2: 4603 mov r3, r0
- 80008d4: 2b00 cmp r3, #0
- 80008d6: d001 beq.n 80008dc
- {
- Error_Handler();
- 80008d8: f000 fa6e bl 8000db8
- }
- pLayerCfg.WindowX0 = 0;
- 80008dc: 2300 movs r3, #0
- 80008de: 607b str r3, [r7, #4]
- pLayerCfg.WindowX1 = 240;
- 80008e0: 23f0 movs r3, #240 @ 0xf0
- 80008e2: 60bb str r3, [r7, #8]
- pLayerCfg.WindowY0 = 0;
- 80008e4: 2300 movs r3, #0
- 80008e6: 60fb str r3, [r7, #12]
- pLayerCfg.WindowY1 = 320;
- 80008e8: f44f 73a0 mov.w r3, #320 @ 0x140
- 80008ec: 613b str r3, [r7, #16]
- pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
- 80008ee: 2302 movs r3, #2
- 80008f0: 617b str r3, [r7, #20]
- pLayerCfg.Alpha = 255;
- 80008f2: 23ff movs r3, #255 @ 0xff
- 80008f4: 61bb str r3, [r7, #24]
- pLayerCfg.Alpha0 = 0;
- 80008f6: 2300 movs r3, #0
- 80008f8: 61fb str r3, [r7, #28]
- pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA;
- 80008fa: f44f 63c0 mov.w r3, #1536 @ 0x600
- 80008fe: 623b str r3, [r7, #32]
- pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA;
- 8000900: 2307 movs r3, #7
- 8000902: 627b str r3, [r7, #36] @ 0x24
- pLayerCfg.FBStartAdress = 0xD0000000;
- 8000904: f04f 4350 mov.w r3, #3489660928 @ 0xd0000000
- 8000908: 62bb str r3, [r7, #40] @ 0x28
- pLayerCfg.ImageWidth = 240;
- 800090a: 23f0 movs r3, #240 @ 0xf0
- 800090c: 62fb str r3, [r7, #44] @ 0x2c
- pLayerCfg.ImageHeight = 320;
- 800090e: f44f 73a0 mov.w r3, #320 @ 0x140
- 8000912: 633b str r3, [r7, #48] @ 0x30
- pLayerCfg.Backcolor.Blue = 0;
- 8000914: 2300 movs r3, #0
- 8000916: f887 3034 strb.w r3, [r7, #52] @ 0x34
- pLayerCfg.Backcolor.Green = 0;
- 800091a: 2300 movs r3, #0
- 800091c: f887 3035 strb.w r3, [r7, #53] @ 0x35
- pLayerCfg.Backcolor.Red = 0;
- 8000920: 2300 movs r3, #0
- 8000922: f887 3036 strb.w r3, [r7, #54] @ 0x36
- if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK)
- 8000926: 1d3b adds r3, r7, #4
- 8000928: 2200 movs r2, #0
- 800092a: 4619 mov r1, r3
- 800092c: 4805 ldr r0, [pc, #20] @ (8000944 )
- 800092e: f003 fc73 bl 8004218
- 8000932: 4603 mov r3, r0
- 8000934: 2b00 cmp r3, #0
- 8000936: d001 beq.n 800093c
- {
- Error_Handler();
- 8000938: f000 fa3e bl 8000db8
- }
- /* USER CODE BEGIN LTDC_Init 2 */
-
- /* USER CODE END LTDC_Init 2 */
-
-}
- 800093c: bf00 nop
- 800093e: 3738 adds r7, #56 @ 0x38
- 8000940: 46bd mov sp, r7
- 8000942: bd80 pop {r7, pc}
- 8000944: 200000d4 .word 0x200000d4
- 8000948: 40016800 .word 0x40016800
-
-0800094c :
- * @brief SPI5 Initialization Function
- * @param None
- * @retval None
- */
-static void MX_SPI5_Init(void)
-{
- 800094c: b580 push {r7, lr}
- 800094e: af00 add r7, sp, #0
-
- /* USER CODE BEGIN SPI5_Init 1 */
-
- /* USER CODE END SPI5_Init 1 */
- /* SPI5 parameter configuration*/
- hspi5.Instance = SPI5;
- 8000950: 4b17 ldr r3, [pc, #92] @ (80009b0 )
- 8000952: 4a18 ldr r2, [pc, #96] @ (80009b4 )
- 8000954: 601a str r2, [r3, #0]
- hspi5.Init.Mode = SPI_MODE_MASTER;
- 8000956: 4b16 ldr r3, [pc, #88] @ (80009b0 )
- 8000958: f44f 7282 mov.w r2, #260 @ 0x104
- 800095c: 605a str r2, [r3, #4]
- hspi5.Init.Direction = SPI_DIRECTION_2LINES;
- 800095e: 4b14 ldr r3, [pc, #80] @ (80009b0 )
- 8000960: 2200 movs r2, #0
- 8000962: 609a str r2, [r3, #8]
- hspi5.Init.DataSize = SPI_DATASIZE_8BIT;
- 8000964: 4b12 ldr r3, [pc, #72] @ (80009b0 )
- 8000966: 2200 movs r2, #0
- 8000968: 60da str r2, [r3, #12]
- hspi5.Init.CLKPolarity = SPI_POLARITY_LOW;
- 800096a: 4b11 ldr r3, [pc, #68] @ (80009b0 )
- 800096c: 2200 movs r2, #0
- 800096e: 611a str r2, [r3, #16]
- hspi5.Init.CLKPhase = SPI_PHASE_1EDGE;
- 8000970: 4b0f ldr r3, [pc, #60] @ (80009b0 )
- 8000972: 2200 movs r2, #0
- 8000974: 615a str r2, [r3, #20]
- hspi5.Init.NSS = SPI_NSS_SOFT;
- 8000976: 4b0e ldr r3, [pc, #56] @ (80009b0 )
- 8000978: f44f 7200 mov.w r2, #512 @ 0x200
- 800097c: 619a str r2, [r3, #24]
- hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
- 800097e: 4b0c ldr r3, [pc, #48] @ (80009b0 )
- 8000980: 2218 movs r2, #24
- 8000982: 61da str r2, [r3, #28]
- hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB;
- 8000984: 4b0a ldr r3, [pc, #40] @ (80009b0 )
- 8000986: 2200 movs r2, #0
- 8000988: 621a str r2, [r3, #32]
- hspi5.Init.TIMode = SPI_TIMODE_DISABLE;
- 800098a: 4b09 ldr r3, [pc, #36] @ (80009b0 )
- 800098c: 2200 movs r2, #0
- 800098e: 625a str r2, [r3, #36] @ 0x24
- hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
- 8000990: 4b07 ldr r3, [pc, #28] @ (80009b0 )
- 8000992: 2200 movs r2, #0
- 8000994: 629a str r2, [r3, #40] @ 0x28
- hspi5.Init.CRCPolynomial = 10;
- 8000996: 4b06 ldr r3, [pc, #24] @ (80009b0 )
- 8000998: 220a movs r2, #10
- 800099a: 62da str r2, [r3, #44] @ 0x2c
- if (HAL_SPI_Init(&hspi5) != HAL_OK)
- 800099c: 4804 ldr r0, [pc, #16] @ (80009b0 )
- 800099e: f004 fcab bl 80052f8
- 80009a2: 4603 mov r3, r0
- 80009a4: 2b00 cmp r3, #0
- 80009a6: d001 beq.n 80009ac
- {
- Error_Handler();
- 80009a8: f000 fa06 bl 8000db8
- }
- /* USER CODE BEGIN SPI5_Init 2 */
-
- /* USER CODE END SPI5_Init 2 */
-
-}
- 80009ac: bf00 nop
- 80009ae: bd80 pop {r7, pc}
- 80009b0: 2000017c .word 0x2000017c
- 80009b4: 40015000 .word 0x40015000
-
-080009b8 :
- * @brief TIM1 Initialization Function
- * @param None
- * @retval None
- */
-static void MX_TIM1_Init(void)
-{
- 80009b8: b580 push {r7, lr}
- 80009ba: b086 sub sp, #24
- 80009bc: af00 add r7, sp, #0
-
- /* USER CODE BEGIN TIM1_Init 0 */
-
- /* USER CODE END TIM1_Init 0 */
-
- TIM_ClockConfigTypeDef sClockSourceConfig = {0};
- 80009be: f107 0308 add.w r3, r7, #8
- 80009c2: 2200 movs r2, #0
- 80009c4: 601a str r2, [r3, #0]
- 80009c6: 605a str r2, [r3, #4]
- 80009c8: 609a str r2, [r3, #8]
- 80009ca: 60da str r2, [r3, #12]
- TIM_MasterConfigTypeDef sMasterConfig = {0};
- 80009cc: 463b mov r3, r7
- 80009ce: 2200 movs r2, #0
- 80009d0: 601a str r2, [r3, #0]
- 80009d2: 605a str r2, [r3, #4]
-
- /* USER CODE BEGIN TIM1_Init 1 */
-
- /* USER CODE END TIM1_Init 1 */
- htim1.Instance = TIM1;
- 80009d4: 4b1e ldr r3, [pc, #120] @ (8000a50 )
- 80009d6: 4a1f ldr r2, [pc, #124] @ (8000a54 )
- 80009d8: 601a str r2, [r3, #0]
- htim1.Init.Prescaler = 0;
- 80009da: 4b1d ldr r3, [pc, #116] @ (8000a50