diff --git a/firmware/numpad/.metadata/.ide.log b/firmware/numpad/.metadata/.ide.log index c3cc29e3..862aef7f 100644 --- a/firmware/numpad/.metadata/.ide.log +++ b/firmware/numpad/.metadata/.ide.log @@ -1,2018 +1,1777 @@ -2025-08-19 20:04:56,569 [INFO] Activator:176 - +2025-08-21 19:51:02,994 [INFO] Activator:176 - -2025-08-19 20:04:56,569 [INFO] Activator:177 - !SESSION log4j initialized -2025-08-19 20:04:57,942 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-08-19 20:04:59,110 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:04:59,119 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:04:59,119 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:04:59,120 [WARN] ApiDb:259 - Overriding images path with different value: => /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:04:59,121 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:04:59,122 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:04:59,123 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:04:59,177 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:04:59,206 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:04:59,206 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:04:59,206 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:04:59,206 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,206 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:04:59,207 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,207 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:04:59,207 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,207 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,207 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:04:59,237 [INFO] MainPanel:274 - HeapMemory: 268435456 -2025-08-19 20:04:59,332 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:04:59,332 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:04:59,332 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:04:59,332 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,332 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:04:59,332 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,332 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:04:59,332 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,332 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:04:59,332 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:04:59,342 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:04:59,344 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] -2025-08-19 20:04:59,344 [INFO] PluginManage:310 - Check plugin analytics -2025-08-19 20:04:59,414 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: -2025-08-19 20:04:59,414 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: -2025-08-19 20:04:59,414 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: -2025-08-19 20:04:59,416 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) -2025-08-19 20:04:59,416 [INFO] PluginManage:310 - Check plugin cadmodel -2025-08-19 20:04:59,418 [INFO] CADModel:105 - Init CAD model plugin -2025-08-19 20:04:59,418 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) -2025-08-19 20:04:59,418 [INFO] PluginManage:310 - Check plugin clock -2025-08-19 20:04:59,422 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) -2025-08-19 20:04:59,423 [INFO] PluginManage:310 - Check plugin ddr -2025-08-19 20:04:59,423 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) -2025-08-19 20:04:59,423 [INFO] PluginManage:310 - Check plugin filemanager -2025-08-19 20:04:59,528 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) -2025-08-19 20:04:59,528 [INFO] PluginManage:310 - Check plugin ipmanager -2025-08-19 20:04:59,532 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) -2025-08-19 20:04:59,532 [INFO] PluginManage:310 - Check plugin lpbam -2025-08-19 20:04:59,537 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) -2025-08-19 20:04:59,538 [INFO] PluginManage:310 - Check plugin memorymap -2025-08-19 20:04:59,543 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) -2025-08-19 20:04:59,543 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration -2025-08-19 20:04:59,547 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) -2025-08-19 20:04:59,547 [INFO] PluginManage:310 - Check plugin pinoutconfig -2025-08-19 20:04:59,585 [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-08-19 20:04:59,641 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) -2025-08-19 20:04:59,641 [INFO] PluginManage:310 - Check plugin power -2025-08-19 20:04:59,645 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) -2025-08-19 20:04:59,645 [INFO] PluginManage:310 - Check plugin projectmanager -2025-08-19 20:04:59,653 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) -2025-08-19 20:04:59,653 [INFO] PluginManage:310 - Check plugin rif -2025-08-19 20:04:59,657 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) -2025-08-19 20:04:59,657 [INFO] PluginManage:310 - Check plugin thirdparty -2025-08-19 20:04:59,715 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) -2025-08-19 20:04:59,715 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] -2025-08-19 20:04:59,715 [INFO] PluginManage:310 - Check plugin tools -2025-08-19 20:04:59,715 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] -2025-08-19 20:04:59,715 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] -2025-08-19 20:04:59,716 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) -2025-08-19 20:04:59,716 [INFO] PluginManage:310 - Check plugin tutovideos -2025-08-19 20:04:59,812 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) -2025-08-19 20:04:59,812 [INFO] PluginManage:310 - Check plugin updater -2025-08-19 20:04:59,826 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) -2025-08-19 20:04:59,826 [INFO] PluginManage:310 - Check plugin userauth -2025-08-19 20:04:59,828 [INFO] UserAuth:118 - Init User Auth plugin -2025-08-19 20:04:59,828 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) -2025-08-19 20:04:59,828 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] -2025-08-19 20:04:59,908 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:04:59,939 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:04:59,939 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:04:59,947 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,947 [INFO] PluginManager:220 - loadIPPluginJar : add adc -2025-08-19 20:04:59,949 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,949 [INFO] PluginManager:220 - loadIPPluginJar : add aes -2025-08-19 20:04:59,949 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,950 [INFO] PluginManager:220 - loadIPPluginJar : add can -2025-08-19 20:04:59,950 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,950 [INFO] PluginManager:220 - loadIPPluginJar : add comp -2025-08-19 20:04:59,951 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,951 [INFO] PluginManager:220 - loadIPPluginJar : add cryp -2025-08-19 20:04:59,952 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,952 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy -2025-08-19 20:04:59,953 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,953 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm -2025-08-19 20:04:59,956 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,956 [INFO] PluginManager:220 - loadIPPluginJar : add dma -2025-08-19 20:04:59,957 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,957 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 -2025-08-19 20:04:59,957 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,958 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager -2025-08-19 20:04:59,958 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,958 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs -2025-08-19 20:04:59,959 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,960 [INFO] PluginManager:220 - loadIPPluginJar : add fmc -2025-08-19 20:04:59,962 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,962 [INFO] PluginManager:220 - loadIPPluginJar : add freertos -2025-08-19 20:04:59,962 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,962 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin -2025-08-19 20:04:59,963 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,963 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu -2025-08-19 20:04:59,965 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,965 [INFO] PluginManager:220 - loadIPPluginJar : add gic -2025-08-19 20:04:59,966 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,966 [INFO] PluginManager:220 - loadIPPluginJar : add gpio -2025-08-19 20:04:59,967 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,967 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc -2025-08-19 20:04:59,968 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,968 [INFO] PluginManager:220 - loadIPPluginJar : add hash -2025-08-19 20:04:59,968 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,968 [INFO] PluginManager:220 - loadIPPluginJar : add i2c -2025-08-19 20:04:59,969 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,969 [INFO] PluginManager:220 - loadIPPluginJar : add i2s -2025-08-19 20:04:59,970 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,970 [INFO] PluginManager:220 - loadIPPluginJar : add i3c -2025-08-19 20:04:59,971 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,972 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr -2025-08-19 20:04:59,974 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,975 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist -2025-08-19 20:04:59,976 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,976 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan -2025-08-19 20:04:59,976 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,976 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc -2025-08-19 20:04:59,978 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,979 [INFO] PluginManager:220 - loadIPPluginJar : add mdma -2025-08-19 20:04:59,980 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,980 [INFO] PluginManager:220 - loadIPPluginJar : add nvic -2025-08-19 20:04:59,981 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,981 [INFO] PluginManager:220 - loadIPPluginJar : add opamp -2025-08-19 20:04:59,982 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,982 [INFO] PluginManager:220 - loadIPPluginJar : add openamp -2025-08-19 20:04:59,983 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,983 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm -2025-08-19 20:04:59,985 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,986 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings -2025-08-19 20:04:59,986 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,986 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi -2025-08-19 20:04:59,987 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,987 [INFO] PluginManager:220 - loadIPPluginJar : add radio -2025-08-19 20:04:59,988 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,988 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility -2025-08-19 20:04:59,989 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,989 [INFO] PluginManager:220 - loadIPPluginJar : add sai -2025-08-19 20:04:59,990 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,990 [INFO] PluginManager:220 - loadIPPluginJar : add spi -2025-08-19 20:04:59,992 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,992 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan -2025-08-19 20:04:59,993 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,993 [INFO] PluginManager:220 - loadIPPluginJar : add tim -2025-08-19 20:04:59,994 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,994 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing -2025-08-19 20:04:59,995 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,995 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb -2025-08-19 20:04:59,995 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,995 [INFO] PluginManager:220 - loadIPPluginJar : add ts -2025-08-19 20:04:59,996 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,996 [INFO] PluginManager:220 - loadIPPluginJar : add tsc -2025-08-19 20:04:59,996 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,996 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd -2025-08-19 20:04:59,997 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,997 [INFO] PluginManager:220 - loadIPPluginJar : add usart -2025-08-19 20:04:59,998 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:04:59,998 [INFO] PluginManager:220 - loadIPPluginJar : add usbx -2025-08-19 20:05:00,086 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,098 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:05:00,104 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:05:00,108 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:05:00,108 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:05:00,108 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,108 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:05:00,162 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,163 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:05:00,163 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:05:00,163 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,163 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:05:00,165 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,202 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,204 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 01:14:23 PDT 2025 (1751962463582) -2025-08-19 20:05:00,204 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,220 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:05:00,263 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,264 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,264 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,264 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:05:00,265 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:05:00,284 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. -2025-08-19 20:05:00,285 [INFO] Updater:1134 - Updater Version found : 6.15.0 -2025-08-19 20:05:00,294 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:05:00,304 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] Aug 19, 2025 8:05:00 PM java.util.prefs.FileSystemPreferences$2 run -2025-08-19 20:05:00,304 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] INFO: Created system preferences directory in java.home. -2025-08-19 20:05:00,304 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] -2025-08-19 20:05:00,313 [INFO] MainUpdater:525 - Copy updater definitions from MX database -2025-08-19 20:05:00,463 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:05:00,463 [INFO] MainUpdater:3604 - Updater definition file requires update -2025-08-19 20:05:00,464 [INFO] MainUpdater:289 - Updater Check For Update Now. -2025-08-19 20:05:00,464 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-08-19 20:05:00,467 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-08-19 20:05:00,467 [INFO] UserAuth:171 - activating auth plugin -2025-08-19 20:05:00,469 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-08-19 20:05:00,475 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder -2025-08-19 20:05:00,545 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:05:00,546 [INFO] ServerAccessManage:509 - Download File updaters.zip -2025-08-19 20:05:00,853 [INFO] FileExtend:248 - Unzip File : updaters.zip -2025-08-19 20:05:00,853 [INFO] FileExtend:263 - Standard Zip Deflate -2025-08-19 20:05:01,021 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:05:01,021 [INFO] ServerAccessManage:509 - Download File PacksControlFlags.xml -2025-08-19 20:05:01,085 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:05:01,085 [INFO] ServerAccessManage:509 - Download File cubemx.pidx -2025-08-19 20:05:01,174 [INFO] LoadServerUpdatesThread:375 - End of LoadServerUpdate Thread -2025-08-19 20:05:01,327 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-08-19 20:05:02,407 [INFO] WebApp:169 - Instantiating new browser for Auth -2025-08-19 20:05:02,706 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:05:02,706 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:05:02,710 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:05:02,723 [INFO] WebApp:900 - Register for checkConnection events -2025-08-19 20:05:02,723 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:05:02,723 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:05:02,723 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:05:02,806 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 -2025-08-19 20:05:02,812 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 -2025-08-19 20:05:02,816 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 -2025-08-19 20:05:02,819 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 -2025-08-19 20:05:02,822 [INFO] WebApp:225 - Starting web application -2025-08-19 20:05:02,822 [INFO] WebApp:593 - Web application path used /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html -2025-08-19 20:05:02,842 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 -2025-08-19 20:05:02,867 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 -2025-08-19 20:05:02,886 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 -2025-08-19 20:05:02,895 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 -2025-08-19 20:05:02,905 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 -2025-08-19 20:05:02,914 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.0.0 -2025-08-19 20:05:02,921 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 -2025-08-19 20:05:02,924 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:05:02,932 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:05:02,932 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:05:02,933 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:05:02,938 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 -2025-08-19 20:05:02,944 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 -2025-08-19 20:05:02,947 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 -2025-08-19 20:05:02,951 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:05:02,952 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:05:02,952 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:05:02,953 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:05:02,953 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:05:02,956 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 -2025-08-19 20:05:02,960 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 -2025-08-19 20:05:02,965 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.3.0 -2025-08-19 20:05:02,969 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 -2025-08-19 20:05:02,974 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 -2025-08-19 20:05:02,985 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.0 -2025-08-19 20:05:02,989 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 -2025-08-19 20:05:02,992 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 -2025-08-19 20:05:02,996 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 -2025-08-19 20:05:02,999 [INFO] WebApp:191 - Connection restablished -2025-08-19 20:05:03,000 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.1.0 -2025-08-19 20:05:03,011 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 -2025-08-19 20:05:03,019 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 -2025-08-19 20:05:03,025 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 -2025-08-19 20:05:03,032 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 -2025-08-19 20:05:03,036 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 -2025-08-19 20:05:03,042 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 -2025-08-19 20:05:03,046 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 -2025-08-19 20:05:03,049 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 -2025-08-19 20:05:03,053 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 -2025-08-19 20:05:03,059 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 -2025-08-19 20:05:03,062 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 -2025-08-19 20:05:03,082 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 -2025-08-19 20:05:03,111 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 -2025-08-19 20:05:03,156 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 -2025-08-19 20:05:03,252 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 -2025-08-19 20:05:03,267 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 -2025-08-19 20:05:03,272 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 -2025-08-19 20:05:03,276 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 -2025-08-19 20:05:03,282 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 -2025-08-19 20:05:03,293 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 -2025-08-19 20:05:03,299 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 -2025-08-19 20:05:03,323 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 -2025-08-19 20:05:03,328 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 -2025-08-19 20:05:03,332 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 -2025-08-19 20:05:03,347 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:05:03,348 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 -2025-08-19 20:05:03,349 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:05:03,349 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:05:03,350 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:05:03,356 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 -2025-08-19 20:05:03,364 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 -2025-08-19 20:05:03,378 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:05:03,378 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:05:03,380 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 -2025-08-19 20:05:03,380 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:05:03,380 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:05:03,381 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:05:03,381 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:05:03,381 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:05:03,385 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 -2025-08-19 20:05:03,390 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 -2025-08-19 20:05:03,394 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.0.0 -2025-08-19 20:05:03,405 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 -2025-08-19 20:05:03,421 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 -2025-08-19 20:05:03,426 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 -2025-08-19 20:05:03,438 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 -2025-08-19 20:05:03,442 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 -2025-08-19 20:05:03,446 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 -2025-08-19 20:05:03,456 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 -2025-08-19 20:05:03,462 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 -2025-08-19 20:05:03,465 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 -2025-08-19 20:05:03,472 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 -2025-08-19 20:05:03,480 [INFO] ThirdParty:978 - Integrity check success = true -2025-08-19 20:05:03,480 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] -2025-08-19 20:05:03,480 [INFO] IntegrityCheckThread:103 - End integrity checks thread -2025-08-19 20:05:10,703 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-08-19 20:05:10,704 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:05:10,858 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/kymkim/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) -2025-08-19 20:05:10,905 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 -2025-08-19 20:05:10,905 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 -2025-08-19 20:05:10,905 [INFO] ApiDb:670 - CubeFinder database generation date=2025-07-24 (1753349077) -2025-08-19 20:05:10,905 [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.0.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.2, STM32Cube_FW_F7_V1.17.3, 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-08-19 20:05:12,346 [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-08-19 20:05:12,349 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported -2025-08-19 20:05:12,349 [INFO] ApiDb:414 - User favorites file not found: /home/kymkim/.stm32cubeide/favorites.mcus.txt -2025-08-19 20:05:12,349 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs -2025-08-19 20:05:12,573 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 -2025-08-19 20:05:12,574 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 -2025-08-19 20:05:12,574 [INFO] ApiDb:670 - CubeFinder database generation date=2025-07-24 (1753349077) -2025-08-19 20:05:12,574 [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.0.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.2, STM32Cube_FW_F7_V1.17.3, 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-08-19 20:05:12,599 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' -2025-08-19 20:05:12,599 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' -2025-08-19 20:05:12,600 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' -2025-08-19 20:05:12,600 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' -2025-08-19 20:05:12,626 [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-08-19 20:05:12,673 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 -2025-08-19 20:05:12,674 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 -2025-08-19 20:05:12,675 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B -2025-08-19 20:05:12,675 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B -2025-08-19 20:05:12,676 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B -2025-08-19 20:05:12,683 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B -2025-08-19 20:05:12,741 [INFO] DbBoards:168 - Found 212 boards, 209 are supported -2025-08-19 20:05:12,741 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp -2025-08-19 20:05:12,743 [INFO] ApiDb:414 - User favorites file not found: /home/kymkim/.stm32cubeide/favorites.boards.txt -2025-08-19 20:05:12,743 [INFO] DbBoards:198 - Set 0 / 0 favorites Boards -2025-08-19 20:05:12,743 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-08-19 20:05:12,746 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-08-19 20:05:12,747 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs -2025-08-19 20:05:13,395 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-08-19 20:05:13,445 [INFO] DetailPanel:341 - Set advertising image to /home/kymkim/STM32Cube/Repository//en.2400x1350px.jpeg -2025-08-19 20:05:42,135 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:05:42,135 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:05:42,141 [INFO] MicroXplorer:468 - Change Database Path : -2025-08-19 20:05:42,141 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-08-19 20:05:42,143 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] -2025-08-19 20:05:42,143 [INFO] ThirdParty:873 - entering critical section [close project] -2025-08-19 20:05:42,144 [INFO] ThirdParty:883 - exiting critical section [close project] -2025-08-19 20:05:42,145 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:05:42,146 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 619097504 Bytes (715128832) -2025-08-19 20:05:53,090 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:05:53,091 [INFO] ServerAccessManage:509 - Download File stm32cube_db_v60130.zip -2025-08-19 20:05:55,410 [INFO] FileExtend:248 - Unzip File : stm32cube_db_v60130.zip -2025-08-19 20:05:55,410 [INFO] FileExtend:263 - Standard Zip Deflate -2025-08-19 20:05:56,895 [INFO] LoadServerPackagesThread:196 - End of LoadServerPackages Thread -2025-08-19 20:05:57,086 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-08-19 20:06:10,142 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:06:10,227 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-08-19 20:06:10,228 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-08-19 20:06:10,228 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs -2025-08-19 20:06:11,460 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-08-19 20:06:11,461 [INFO] DetailPanel:341 - Set advertising image to /home/kymkim/STM32Cube/Repository//en.2400x1350px.jpeg -2025-08-19 20:06:20,216 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-08-19 20:06:20,446 [INFO] ApiDb:448 - Save user favorites file /home/kymkim/.stm32cubeide/favorites.mcus.txt: 0 item(s) -2025-08-19 20:06:20,447 [INFO] ApiDb:452 - User favorites MCUs=[] -2025-08-19 20:06:23,177 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:06:23,255 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-08-19 20:06:23,256 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-08-19 20:06:23,257 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs -2025-08-19 20:06:23,565 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-08-19 20:06:23,565 [INFO] DetailPanel:341 - Set advertising image to /home/kymkim/STM32Cube/Repository//en.2400x1350px.jpeg -2025-08-19 20:07:40,541 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-08-19 20:07:40,542 [INFO] UserAuth:171 - activating auth plugin -2025-08-19 20:07:40,544 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-08-19 20:09:26,112 [INFO] WebApp:652 - userauth.ini deleted or not created -2025-08-19 20:09:29,443 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:09:29,520 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-08-19 20:09:29,521 [INFO] MultiScanPanel:200 - Auto-refresh data requested => check proxy status ongoing -2025-08-19 20:09:29,521 [INFO] FinderPluginLoader:96 - Searching for filters in installed packs -2025-08-19 20:09:29,798 [INFO] LoadUrlFilesThread:185 - End of LoadServerUrlFiles without Thread -2025-08-19 20:09:29,799 [INFO] DetailPanel:341 - Set advertising image to /home/kymkim/STM32Cube/Repository//en.2400x1350px.jpeg -2025-08-19 20:09:38,545 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:09:38,545 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:09:38,549 [INFO] MicroXplorer:468 - Change Database Path : -2025-08-19 20:09:38,549 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-08-19 20:09:38,549 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] -2025-08-19 20:09:38,549 [INFO] ThirdParty:873 - entering critical section [close project] -2025-08-19 20:09:38,550 [INFO] ThirdParty:883 - exiting critical section [close project] -2025-08-19 20:09:38,550 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:09:38,550 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 893472568 Bytes (1073741824) -2025-08-19 20:09:38,554 [INFO] MicroXplorer:468 - Change Database Path : /home/kymkim/.stm32cubemx/databases/DB.6.0.130/db/ -2025-08-19 20:09:38,554 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.130 -2025-08-19 20:09:40,416 [INFO] OpenFileManager:355 - Change cursor -2025-08-19 20:09:40,436 [INFO] Mcu:2029 - Initializing MCU STM32F446R(C-E)Tx STM32F446RETx STM32F446RET6 -2025-08-19 20:09:41,099 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden -2025-08-19 20:09:41,362 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin32 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU -2025-08-19 20:09:41,417 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS -2025-08-19 20:09:41,417 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS -2025-08-19 20:09:41,418 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS -2025-08-19 20:09:41,418 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS -2025-08-19 20:09:41,418 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: -2025-08-19 20:09:41,435 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,435 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,435 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,435 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,436 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,437 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,437 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,437 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,437 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,437 [WARN] ModelIntegratedComponent:63 - No mode defined for component null -2025-08-19 20:09:41,437 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI -2025-08-19 20:09:41,505 [INFO] ThirdPartyModel:298 - Start build external matchings -2025-08-19 20:09:41,797 [INFO] ThirdPartyModel:316 - End build external matchings -2025-08-19 20:09:41,809 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) IP (RCC) : Invalid parameter (FamilyName) -2025-08-19 20:09:41,812 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:41,812 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:41,812 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:41,927 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 964505152 Bytes (1073741824) -2025-08-19 20:09:42,003 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] -2025-08-19 20:09:42,004 [INFO] ThirdParty:835 - entering critical section [change project] -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 -2025-08-19 20:09:42,004 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.1.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 -2025-08-19 20:09:42,005 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.3.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 -2025-08-19 20:09:42,006 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 -2025-08-19 20:09:42,006 [INFO] ThirdParty:841 - exiting critical section [change project] -2025-08-19 20:09:42,193 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:09:42,194 [INFO] PinOutPanel:1589 - setPackage(STM32F446RETx,LQFP64) -2025-08-19 20:09:42,499 [INFO] UtilMem:75 - Before build in PCC Used Memory: 770595528 Bytes (1073741824) -2025-08-19 20:09:42,787 [INFO] UtilMem:75 - After build in PCC Used Memory: 902164856 Bytes (1073741824) -2025-08-19 20:09:42,824 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,843 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,844 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,845 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,846 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,847 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,847 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,847 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,847 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,847 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,847 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,847 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,848 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,848 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,848 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:09:42,851 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM -2025-08-19 20:09:42,854 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:42,854 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:42,939 [INFO] CADModel:165 - CPN selected for project levelSTM32F446RET6 -2025-08-19 20:09:42,939 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:09:42,976 [INFO] OpenFileManager:386 - Restore cursor -2025-08-19 20:09:43,053 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,053 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,053 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,054 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,054 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,054 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,105 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,105 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,105 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,105 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. -2025-08-19 20:09:43,270 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 877813584 Bytes (1073741824) -2025-08-19 20:09:44,027 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:09:44,027 [INFO] ServerAccessManage:509 - Download File stm32cube_fw_f4_v1280.zip -2025-08-19 20:10:05,267 [INFO] AnalyticsPlugin:368 - Accepted License(s): [FW.F4.1.28.0] -2025-08-19 20:10:05,268 [INFO] FileExtend:248 - Unzip File : stm32cube_fw_f4_v1280.zip -2025-08-19 20:10:05,268 [INFO] FileExtend:263 - Standard Zip Deflate -2025-08-19 20:10:11,603 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:10:11,603 [INFO] ServerAccessManage:509 - Download File stm32cube_fw_f4_v1282.zip -2025-08-19 20:10:19,818 [INFO] FileExtend:248 - Unzip File : stm32cube_fw_f4_v1282.zip -2025-08-19 20:10:19,818 [INFO] FileExtend:263 - Standard Zip Deflate -2025-08-19 20:10:28,304 [INFO] LoadServerPackagesThread:196 - End of LoadServerPackages Thread -2025-08-19 20:10:28,441 [INFO] ThirdPartyModel:298 - Start build external matchings -2025-08-19 20:10:28,446 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 1060891592 Bytes (1073741824) -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_DEVICE -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: I2C -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_OTG_FS -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART -2025-08-19 20:10:28,641 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART -2025-08-19 20:10:28,642 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO -2025-08-19 20:10:28,642 [INFO] CodeGenerator:892 - code generatio: config db path: /home/kymkim/.stm32cubemx/databases/DB.6.0.130/db/ -2025-08-19 20:10:28,647 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. -2025-08-19 20:10:28,647 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. -2025-08-19 20:10:28,662 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:10:28,662 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:10:28,662 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. -2025-08-19 20:10:28,724 [INFO] ThirdPartyModel:316 - End build external matchings -2025-08-19 20:10:28,731 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-08-19 20:10:28,753 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/license.tmp_save -2025-08-19 20:10:28,924 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/license.tmp -2025-08-19 20:10:28,959 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/gpio.tmp_save -2025-08-19 20:10:29,044 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/gpio.tmp -2025-08-19 20:10:29,093 [WARN] IPConfigManager:3238 - Warning: the RefConfig PWREx_EnableUSBVoltageDetector is not available in your config.xml file -2025-08-19 20:10:29,099 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_vars.tmp_save -2025-08-19 20:10:29,163 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_vars.tmp -2025-08-19 20:10:29,164 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_inc.tmp_save -2025-08-19 20:10:29,204 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_inc.tmp -2025-08-19 20:10:29,206 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_HalInit.tmp_save -2025-08-19 20:10:29,255 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_HalInit.tmp -2025-08-19 20:10:29,255 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_Msp.tmp_save -2025-08-19 20:10:29,307 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_Msp.tmp -2025-08-19 20:10:29,448 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-08-19 20:10:29,461 [INFO] Middleware:1452 - No code input for Bsp Dependency -2025-08-19 20:10:29,463 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.c_save -2025-08-19 20:10:29,522 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.c -2025-08-19 20:10:29,523 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.h_save -2025-08-19 20:10:29,561 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.h -2025-08-19 20:10:29,562 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.h_save -2025-08-19 20:10:29,600 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.h -2025-08-19 20:10:29,602 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.c_save -2025-08-19 20:10:29,644 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.c -2025-08-19 20:10:29,645 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.h_save -2025-08-19 20:10:29,680 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.h -2025-08-19 20:10:29,681 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.c_save -2025-08-19 20:10:29,720 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.c -2025-08-19 20:10:29,725 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_it.c_save -2025-08-19 20:10:29,780 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_it.c -2025-08-19 20:10:29,781 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_it.h_save -2025-08-19 20:10:29,818 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_it.h -2025-08-19 20:10:29,826 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_hal_msp.c_save -2025-08-19 20:10:29,889 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_hal_msp.c -2025-08-19 20:10:29,890 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/system.tmp_save -2025-08-19 20:10:29,927 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/system.tmp -2025-08-19 20:10:29,929 [INFO] CodeEngine:321 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_hal_conf.h_save -2025-08-19 20:10:29,973 [INFO] CodeEngine:345 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_hal_conf.h -2025-08-19 20:10:29,989 [WARN] IPConfigManager:3238 - Warning: the RefConfig PLL2P_FOR_MCO is not available in your config.xml file -2025-08-19 20:10:29,996 [INFO] ApiDbMcu:532 - Load IP Config File for I2C1 -2025-08-19 20:10:29,998 [INFO] ApiDbMcu:532 - Load IP Config File for USART1 -2025-08-19 20:10:29,999 [INFO] ApiDbMcu:532 - Load IP Config File for USART2 -2025-08-19 20:10:30,000 [INFO] ApiDbMcu:532 - Load IP Config File for USART3 -2025-08-19 20:10:30,001 [INFO] ApiDbMcu:532 - Load IP Config File for USART6 -2025-08-19 20:10:30,003 [INFO] ApiDbMcu:532 - Load IP Config File for RCC -2025-08-19 20:10:30,006 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/main.h_save -2025-08-19 20:10:30,055 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/main.h -2025-08-19 20:10:30,056 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/main.c_save -2025-08-19 20:10:30,123 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/main.c -2025-08-19 20:10:30,265 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 15mS. -2025-08-19 20:10:30,269 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 -2025-08-19 20:10:30,325 [INFO] ConfigFileManager:1595 - The Die is : DIE421 -2025-08-19 20:10:30,327 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS -2025-08-19 20:10:30,329 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS -2025-08-19 20:10:30,330 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG -2025-08-19 20:10:30,332 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS -2025-08-19 20:10:30,333 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST -2025-08-19 20:10:30,548 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-08-19 20:10:31,798 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 1529mS. -2025-08-19 20:10:31,799 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 1mS. -2025-08-19 20:10:31,799 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. -2025-08-19 20:10:32,114 [INFO] McuFinderGlobals:76 - Set McuFinderConnectedMode to true -2025-08-19 20:10:32,167 [INFO] ApiDb:448 - Save user favorites file /home/kymkim/.stm32cubeide/favorites.mcus.txt: 0 item(s) -2025-08-19 20:10:32,167 [INFO] ApiDb:452 - User favorites MCUs=[] -2025-08-19 20:13:30,896 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] Exception in thread "AWT-EventQueue-0" org.eclipse.swt.SWTException: Device is disposed -2025-08-19 20:13:30,896 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.SWT.error(SWT.java:4922) -2025-08-19 20:13:30,896 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.SWT.error(SWT.java:4837) -2025-08-19 20:13:30,896 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.SWT.error(SWT.java:4808) -2025-08-19 20:13:30,896 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.widgets.Display.error(Display.java:1551) -2025-08-19 20:13:30,896 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.widgets.Display.asyncExec(Display.java:920) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:168) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) -2025-08-19 20:13:30,897 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) -2025-08-19 20:13:30,898 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) -2025-08-19 20:13:30,898 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) -2025-08-19 20:13:30,898 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) -2025-08-19 20:13:30,918 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] Exception in thread "AWT-EventQueue-0" org.eclipse.swt.SWTException: Device is disposed -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.SWT.error(SWT.java:4922) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.SWT.error(SWT.java:4837) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.SWT.error(SWT.java:4808) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.widgets.Display.error(Display.java:1551) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at org.eclipse.swt.widgets.Display.asyncExec(Display.java:920) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:168) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) -2025-08-19 20:13:30,919 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) -2025-08-19 20:13:30,920 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) -2025-08-19 20:13:30,920 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) -2025-08-19 20:13:30,920 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) -2025-08-19 20:13:30,963 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] -2025-08-19 20:13:30,964 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] -2025-08-19 20:13:36,172 [INFO] Activator:176 - +2025-08-21 19:51:02,995 [INFO] Activator:177 - !SESSION log4j initialized +2025-08-21 19:51:04,348 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-08-21 19:51:05,247 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-08-21 19:51:05,255 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-08-21 19:51:05,255 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-08-21 19:51:05,255 [WARN] ApiDb:259 - Overriding images path with different value: => /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-08-21 19:51:05,257 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 19:51:05,257 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 19:51:05,258 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-08-21 19:51:05,318 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-08-21 19:51:05,356 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-08-21 19:51:05,356 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-08-21 19:51:05,357 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-08-21 19:51:05,357 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,357 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 19:51:05,357 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,357 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 19:51:05,357 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,357 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,357 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-08-21 19:51:05,394 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-08-21 19:51:05,458 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-08-21 19:51:05,458 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-08-21 19:51:05,458 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-08-21 19:51:05,458 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,458 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 19:51:05,458 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,458 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 19:51:05,458 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,458 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 19:51:05,458 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-08-21 19:51:05,468 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-08-21 19:51:05,469 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-08-21 19:51:05,470 [INFO] PluginManage:310 - Check plugin analytics +2025-08-21 19:51:05,560 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: +2025-08-21 19:51:05,560 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-08-21 19:51:05,560 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-08-21 19:51:05,561 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-08-21 19:51:05,561 [INFO] PluginManage:310 - Check plugin cadmodel +2025-08-21 19:51:05,563 [INFO] CADModel:105 - Init CAD model plugin +2025-08-21 19:51:05,563 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-08-21 19:51:05,563 [INFO] PluginManage:310 - Check plugin clock +2025-08-21 19:51:05,567 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-08-21 19:51:05,567 [INFO] PluginManage:310 - Check plugin ddr +2025-08-21 19:51:05,567 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-08-21 19:51:05,568 [INFO] PluginManage:310 - Check plugin filemanager +2025-08-21 19:51:05,683 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-08-21 19:51:05,683 [INFO] PluginManage:310 - Check plugin ipmanager +2025-08-21 19:51:05,687 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-08-21 19:51:05,687 [INFO] PluginManage:310 - Check plugin lpbam +2025-08-21 19:51:05,698 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-08-21 19:51:05,699 [INFO] PluginManage:310 - Check plugin memorymap +2025-08-21 19:51:05,707 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-08-21 19:51:05,707 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-08-21 19:51:05,712 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-08-21 19:51:05,712 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-08-21 19:51:05,757 [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-08-21 19:51:05,836 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-08-21 19:51:05,836 [INFO] PluginManage:310 - Check plugin power +2025-08-21 19:51:05,840 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-08-21 19:51:05,840 [INFO] PluginManage:310 - Check plugin projectmanager +2025-08-21 19:51:05,850 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-08-21 19:51:05,851 [INFO] PluginManage:310 - Check plugin rif +2025-08-21 19:51:05,856 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-08-21 19:51:05,856 [INFO] PluginManage:310 - Check plugin thirdparty +2025-08-21 19:51:05,926 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-08-21 19:51:05,926 [INFO] PluginManage:310 - Check plugin tools +2025-08-21 19:51:05,926 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-08-21 19:51:05,926 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-08-21 19:51:05,926 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-08-21 19:51:05,927 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-08-21 19:51:05,927 [INFO] PluginManage:310 - Check plugin tutovideos +2025-08-21 19:51:06,032 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-08-21 19:51:06,033 [INFO] PluginManage:310 - Check plugin updater +2025-08-21 19:51:06,051 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-08-21 19:51:06,051 [INFO] PluginManage:310 - Check plugin userauth +2025-08-21 19:51:06,055 [INFO] UserAuth:118 - Init User Auth plugin +2025-08-21 19:51:06,056 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-08-21 19:51:06,057 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-08-21 19:51:06,166 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-08-21 19:51:06,204 [INFO] CADModel:165 - CPN selected for project level +2025-08-21 19:51:06,204 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 19:51:06,212 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,212 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-08-21 19:51:06,213 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,213 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-08-21 19:51:06,214 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,214 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-08-21 19:51:06,215 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,215 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-08-21 19:51:06,215 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,215 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-08-21 19:51:06,217 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,217 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-08-21 19:51:06,217 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,218 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-08-21 19:51:06,221 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,222 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-08-21 19:51:06,222 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,222 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-08-21 19:51:06,223 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,223 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-08-21 19:51:06,224 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,224 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-08-21 19:51:06,226 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,226 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-08-21 19:51:06,229 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,229 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-08-21 19:51:06,230 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,230 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-08-21 19:51:06,231 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,231 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-08-21 19:51:06,233 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,233 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-08-21 19:51:06,235 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,235 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-08-21 19:51:06,236 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,236 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-08-21 19:51:06,237 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,237 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-08-21 19:51:06,238 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,238 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-08-21 19:51:06,239 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,239 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-08-21 19:51:06,240 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,240 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-08-21 19:51:06,241 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,242 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-08-21 19:51:06,246 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,246 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-08-21 19:51:06,247 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,247 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-08-21 19:51:06,248 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,248 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-08-21 19:51:06,251 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,251 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-08-21 19:51:06,252 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,252 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-08-21 19:51:06,253 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,254 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-08-21 19:51:06,255 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,255 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-08-21 19:51:06,256 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,256 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-08-21 19:51:06,259 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,260 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-08-21 19:51:06,260 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,260 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-08-21 19:51:06,261 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,261 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-08-21 19:51:06,263 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,263 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-08-21 19:51:06,264 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,264 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-08-21 19:51:06,265 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,265 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-08-21 19:51:06,267 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,268 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-08-21 19:51:06,268 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,268 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-08-21 19:51:06,270 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,270 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-08-21 19:51:06,271 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,271 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-08-21 19:51:06,272 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,272 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-08-21 19:51:06,272 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,272 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-08-21 19:51:06,273 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,273 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-08-21 19:51:06,274 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,274 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-08-21 19:51:06,275 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:51:06,275 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-08-21 19:51:06,367 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,385 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-08-21 19:51:06,397 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-08-21 19:51:06,405 [INFO] CADModel:165 - CPN selected for project level +2025-08-21 19:51:06,405 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 19:51:06,405 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,405 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-08-21 19:51:06,481 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,482 [INFO] CADModel:165 - CPN selected for project level +2025-08-21 19:51:06,482 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 19:51:06,482 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,482 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-08-21 19:51:06,484 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,541 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,543 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 01:14:23 PDT 2025 (1751962463582) +2025-08-21 19:51:06,543 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,565 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-08-21 19:51:06,615 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,617 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,617 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,617 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-08-21 19:51:06,619 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 19:51:06,652 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-08-21 19:51:06,653 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-08-21 19:51:06,672 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-08-21 19:51:06,910 [INFO] MainUpdater:2872 - connection check result : 10 +2025-08-21 19:51:06,911 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-08-21 19:51:06,911 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-08-21 19:51:06,914 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-08-21 19:51:06,915 [INFO] UserAuth:171 - activating auth plugin +2025-08-21 19:51:06,916 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-08-21 19:51:06,925 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-08-21 19:51:07,061 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-08-21 19:51:07,414 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-08-21 19:51:07,742 [INFO] WebApp:463 - Apply proxy settings +2025-08-21 19:51:07,743 [INFO] WebApp:548 - Chromium requires no authentication +2025-08-21 19:51:07,747 [INFO] WebApp:491 - Direct internet connection detected +2025-08-21 19:51:07,756 [INFO] WebApp:900 - Register for checkConnection events +2025-08-21 19:51:07,756 [INFO] WebApp:463 - Apply proxy settings +2025-08-21 19:51:07,756 [INFO] WebApp:548 - Chromium requires no authentication +2025-08-21 19:51:07,756 [INFO] WebApp:491 - Direct internet connection detected +2025-08-21 19:51:07,824 [INFO] WebApp:225 - Starting web application +2025-08-21 19:51:07,824 [INFO] WebApp:593 - Web application path used /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-08-21 19:51:07,984 [INFO] WebApp:191 - Connection restablished +2025-08-21 19:51:09,022 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-08-21 19:51:09,027 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-08-21 19:51:09,031 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-08-21 19:51:09,035 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-08-21 19:51:09,055 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-08-21 19:51:09,077 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-08-21 19:51:09,095 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-08-21 19:51:09,104 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-08-21 19:51:09,113 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-08-21 19:51:09,122 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.0.0 +2025-08-21 19:51:09,127 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-08-21 19:51:09,129 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-08-21 19:51:09,137 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-08-21 19:51:09,137 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-08-21 19:51:09,137 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-08-21 19:51:09,141 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-08-21 19:51:09,144 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-08-21 19:51:09,146 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-08-21 19:51:09,151 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 19:51:09,151 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 19:51:09,151 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 19:51:09,152 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 19:51:09,152 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 19:51:09,154 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-08-21 19:51:09,158 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-08-21 19:51:09,163 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.3.0 +2025-08-21 19:51:09,167 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-08-21 19:51:09,170 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-08-21 19:51:09,173 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.0 +2025-08-21 19:51:09,175 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-08-21 19:51:09,178 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-08-21 19:51:09,188 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-08-21 19:51:09,191 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.1.0 +2025-08-21 19:51:09,198 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-08-21 19:51:09,203 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-08-21 19:51:09,206 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-08-21 19:51:09,211 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-08-21 19:51:09,214 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-08-21 19:51:09,216 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-08-21 19:51:09,220 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-08-21 19:51:09,223 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-08-21 19:51:09,226 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-08-21 19:51:09,229 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-08-21 19:51:09,231 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-08-21 19:51:09,244 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-08-21 19:51:09,263 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-08-21 19:51:09,285 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-08-21 19:51:09,370 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-08-21 19:51:09,378 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-08-21 19:51:09,381 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-08-21 19:51:09,383 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-08-21 19:51:09,386 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-08-21 19:51:09,394 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-08-21 19:51:09,398 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-08-21 19:51:09,402 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-08-21 19:51:09,405 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-08-21 19:51:09,407 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-08-21 19:51:09,415 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 19:51:09,415 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-08-21 19:51:09,416 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 19:51:09,416 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 19:51:09,417 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 19:51:09,420 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-08-21 19:51:09,425 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-08-21 19:51:09,437 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 19:51:09,438 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 19:51:09,439 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-08-21 19:51:09,439 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 19:51:09,440 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 19:51:09,440 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 19:51:09,440 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 19:51:09,440 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 19:51:09,444 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-08-21 19:51:09,447 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-08-21 19:51:09,450 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.0.0 +2025-08-21 19:51:09,457 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-08-21 19:51:09,470 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-08-21 19:51:09,472 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-08-21 19:51:09,478 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-08-21 19:51:09,481 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-08-21 19:51:09,483 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-08-21 19:51:09,488 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-08-21 19:51:09,493 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-08-21 19:51:09,496 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-08-21 19:51:09,500 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-08-21 19:51:09,506 [INFO] ThirdParty:978 - Integrity check success = true +2025-08-21 19:51:09,507 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-08-21 19:51:09,507 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-08-21 19:52:23,740 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-08-21 19:52:28,737 [INFO] MainUpdater:2872 - connection check result : 10 +2025-08-21 19:52:28,738 [INFO] MainUpdater:2872 - connection check result : 10 +2025-08-21 19:52:28,761 [INFO] MicroXplorer:468 - Change Database Path : +2025-08-21 19:52:28,761 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-08-21 19:52:28,766 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-08-21 19:52:28,766 [INFO] ThirdParty:873 - entering critical section [close project] +2025-08-21 19:52:28,767 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-08-21 19:52:28,770 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-08-21 19:52:28,772 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 783663096 Bytes (877658112) +2025-08-21 19:52:28,782 [INFO] MicroXplorer:468 - Change Database Path : /home/kymkim/.stm32cubemx/databases/DB.6.0.130/db/ +2025-08-21 19:52:28,783 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.130 +2025-08-21 19:52:30,306 [INFO] MicroXplorer:468 - Change Database Path : +2025-08-21 19:52:30,306 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-08-21 19:52:30,306 [INFO] OpenFileManager:355 - Change cursor +2025-08-21 19:52:30,348 [INFO] Mcu:2029 - Initializing MCU STM32F446R(C-E)Tx STM32F446RETx STM32F446RET6 +2025-08-21 19:52:31,118 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Adapt Old IOC before rework replace old CORTEX_M33/CORTEX_M55 attributes by the new one. is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Rename parametre of RCC RCC_APBDBG_DIV2 to RCC_TIMPRES_DIV2 is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Rename DIE493 pin PA10 [PA12] -> PA10 is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Rename DIE493 pin PA9 [PA11] -> PA9 is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Rename DIE492 PartNumber CPN STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Rename DIE492 PartNumber Name STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Rename DIE492 PartNumber UserName STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Rename DIE492 PartNumber DeviceId STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Adapt Old IOC CSI. is applicable +2025-08-21 19:52:31,432 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP. is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP Mode Parallel. is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Adapt Old IOC LTDC. is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Lock -> RIF.RISUP.LTDC_L1L2.Lock is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L2.Lock -> RIF.RISUP.LTDC_L3.Lock is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Rename STM32C09 Mcu.Package LQFP64 -> LQFP48 is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-08-21 19:52:31,433 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-08-21 19:52:31,435 [INFO] DbConfProperties:307 - Apply Compatibility (4/20 Rules) +2025-08-21 19:52:31,463 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin32 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-08-21 19:52:31,530 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-08-21 19:52:31,531 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-08-21 19:52:31,531 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-08-21 19:52:31,531 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-08-21 19:52:31,531 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-08-21 19:52:31,550 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,551 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,552 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:52:31,553 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-08-21 19:52:31,618 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-08-21 19:52:31,816 [INFO] ThirdPartyModel:316 - End build external matchings +2025-08-21 19:52:31,830 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) IP (RCC) : Invalid parameter (FamilyName) +2025-08-21 19:52:31,834 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:31,834 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:31,834 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:32,014 [INFO] ApiDb:581 - Connected to CubeFinder SQLite database (/home/kymkim/.stmcufinder/plugins/mcufinder/mcu/cube-finder-db.db) +2025-08-21 19:52:32,058 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-08-21 19:52:32,058 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-08-21 19:52:32,058 [INFO] ApiDb:670 - CubeFinder database generation date=2025-07-24 (1753349077) +2025-08-21 19:52:32,058 [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.0.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.2, STM32Cube_FW_F7_V1.17.3, 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-08-21 19:52:32,117 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-NUCLEO as a kit item of type 'Nucleo-64' +2025-08-21 19:52:32,117 [INFO] DbBoardsSqlite:226 - include board P-NUCLEO-WB55-USBDONGLE as a kit item of type 'Nucleo USB Dongle' +2025-08-21 19:52:32,118 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V1 as a kit item of type 'Evaluation Board' +2025-08-21 19:52:32,118 [INFO] DbBoardsSqlite:226 - include board STEVAL-IDP005V2 as a kit item of type 'Evaluation Board' +2025-08-21 19:52:32,186 [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-08-21 19:52:32,240 [INFO] BoardInfo:889 - No configuration file found for board P-NUCLEO-WB55 +2025-08-21 19:52:32,240 [INFO] DbBoards:161 - Kit is not supported: P-NUCLEO-WB55 +2025-08-21 19:52:32,242 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V1B +2025-08-21 19:52:32,242 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V1B +2025-08-21 19:52:32,242 [INFO] BoardInfo:889 - No configuration file found for board STEVAL-BFA001V2B +2025-08-21 19:52:32,243 [INFO] DbBoards:161 - Kit is not supported: STEVAL-BFA001V2B +2025-08-21 19:52:32,297 [INFO] DbBoards:168 - Found 212 boards, 209 are supported +2025-08-21 19:52:32,297 [INFO] DbBoards:169 - Found 212 boards, 43 of them is supported for Bsp +2025-08-21 19:52:32,300 [INFO] ApiDb:668 - CubeFinder database Data Model version=2.1 +2025-08-21 19:52:32,300 [INFO] ApiDb:669 - CubeFinder database Configuration version=3.0.39 +2025-08-21 19:52:32,300 [INFO] ApiDb:670 - CubeFinder database generation date=2025-07-24 (1753349077) +2025-08-21 19:52:32,300 [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.0.0, STM32Cube_FW_C0_V1.4.0, STM32Cube_FW_F4_V1.28.2, STM32Cube_FW_F7_V1.17.3, 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-08-21 19:52:33,912 [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-08-21 19:52:33,917 [INFO] DbMcus:218 - Found 4801 MCUs, 4801 are supported +2025-08-21 19:52:33,917 [INFO] ApiDb:423 - Load user favorites file /home/kymkim/.stm32cubeide/favorites.mcus.txt: 0 item(s) +2025-08-21 19:52:33,917 [INFO] ApiDb:427 - User favorites MCUs=[] +2025-08-21 19:52:33,917 [INFO] DbMcus:224 - Set 0 / 0 favorites MCUs +2025-08-21 19:52:34,157 [INFO] ApiDb:414 - User favorites file not found: /home/kymkim/.stm32cubeide/favorites.boards.txt +2025-08-21 19:52:34,157 [INFO] DbBoards:198 - Set 0 / 0 favorites Boards +2025-08-21 19:52:34,200 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 668320064 Bytes (1073741824) +2025-08-21 19:52:34,277 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-08-21 19:52:34,277 [INFO] ThirdParty:835 - entering critical section [change project] +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-08-21 19:52:34,277 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-08-21 19:52:34,278 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.3.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-08-21 19:52:34,279 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-08-21 19:52:34,279 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-08-21 19:52:34,560 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-08-21 19:52:34,561 [INFO] PinOutPanel:1589 - setPackage(STM32F446RETx,LQFP64) +2025-08-21 19:52:34,874 [INFO] UtilMem:75 - Before build in PCC Used Memory: 618598000 Bytes (1073741824) +2025-08-21 19:52:35,277 [INFO] UtilMem:75 - After build in PCC Used Memory: 762638424 Bytes (1073741824) +2025-08-21 19:52:35,312 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE +2025-08-21 19:52:35,328 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,328 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,328 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,328 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,329 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,329 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,329 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,329 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,329 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,330 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,331 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,332 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,333 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,334 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,335 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,335 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,335 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,335 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,335 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:52:35,339 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-08-21 19:52:35,343 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,343 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,428 [INFO] CADModel:165 - CPN selected for project levelSTM32F446RET6 +2025-08-21 19:52:35,428 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 19:52:35,466 [INFO] OpenFileManager:386 - Restore cursor +2025-08-21 19:52:35,549 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,549 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,549 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,550 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,550 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,550 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,602 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,602 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,602 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:35,602 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:52:45,828 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,733x537,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:52:49,887 [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-08-21 19:52:52,307 [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-08-21 19:53:28,974 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,733x537,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:54:53,556 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,733x537,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:55:09,837 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,733x537,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:55:12,191 [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-08-21 19:55:30,882 [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-08-21 19:55:52,499 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,735x576,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:55:54,803 [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-08-21 19:55:55,266 [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-08-21 19:56:13,208 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,735x576,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:56:16,773 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,735x576,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:56:18,021 [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-08-21 19:56:20,310 [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-08-21 19:56:21,046 [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-08-21 19:56:21,077 [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-08-21 19:56:21,931 [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-08-21 19:56:22,783 [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-08-21 19:56:22,814 [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-08-21 19:56:23,595 [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-08-21 19:56:24,404 [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-08-21 19:56:51,835 [INFO] MainUpdater:2872 - connection check result : 10 +2025-08-21 19:56:51,835 [INFO] MainUpdater:2872 - connection check result : 10 +2025-08-21 19:56:52,153 [INFO] MicroXplorer:468 - Change Database Path : +2025-08-21 19:56:52,153 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-08-21 19:56:52,157 [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-08-21 19:56:52,160 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project] +2025-08-21 19:56:52,161 [INFO] ThirdParty:873 - entering critical section [close project] +2025-08-21 19:56:52,161 [INFO] ThirdParty:883 - exiting critical section [close project] +2025-08-21 19:56:52,161 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-08-21 19:56:52,165 [WARN] IpParametersView:155 - Warning: This peripheral hasn't parameters +2025-08-21 19:56:52,167 [WARN] MainPanel:289 -
Warning: This peripheral has no parameters to be configured
+2025-08-21 19:56:52,170 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 854073576 Bytes (1073741824) +2025-08-21 19:56:52,172 [INFO] MicroXplorer:468 - Change Database Path : /home/kymkim/.stm32cubemx/databases/DB.6.0.130/db/ +2025-08-21 19:56:52,172 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.130 +2025-08-21 19:56:55,063 [INFO] MicroXplorer:468 - Change Database Path : +2025-08-21 19:56:55,064 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-08-21 19:56:55,064 [INFO] OpenFileManager:355 - Change cursor +2025-08-21 19:56:55,071 [INFO] Mcu:2029 - Initializing MCU STM32F446R(C-E)Tx STM32F446RETx STM32F446RET6 +2025-08-21 19:56:55,576 [INFO] Context:786 - Trying to add GPIOservice into a context which must be forbidden +2025-08-21 19:56:55,971 [INFO] Rule:233 - rule Adapt Old IOC before rework replace old CORTEX_M33/CORTEX_M55 attributes by the new one. is applicable +2025-08-21 19:56:55,971 [INFO] Rule:233 - rule Rename parametre of RCC RCC_APBDBG_DIV2 to RCC_TIMPRES_DIV2 is applicable +2025-08-21 19:56:55,971 [INFO] Rule:233 - rule Rename DIE493 pin PA10 [PA12] -> PA10 is applicable +2025-08-21 19:56:55,971 [INFO] Rule:233 - rule Rename DIE493 pin PA9 [PA11] -> PA9 is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Rename DIE492 PartNumber CPN STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Rename DIE492 PartNumber Name STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Rename DIE492 PartNumber UserName STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Rename DIE492 PartNumber DeviceId STM32WBA5MJGHx -> STM32WBA5MMGHx is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Adapt Old IOC CSI. is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP. is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Adapt Old IOC DCMIPP Mode Parallel. is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Adapt Old IOC LTDC. is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Privilege -> RIF.RISUP.LTDC_L1L2.Privilege is applicable +2025-08-21 19:56:55,972 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L0L1.Lock -> RIF.RISUP.LTDC_L1L2.Lock is applicable +2025-08-21 19:56:55,973 [INFO] Rule:233 - rule Rename STM32MP2 RIF Peripheral LTDC RIF.RISUP.LTDC_L2.Lock -> RIF.RISUP.LTDC_L3.Lock is applicable +2025-08-21 19:56:55,973 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-08-21 19:56:55,973 [INFO] Rule:233 - rule Rename STM32C09 Mcu.Package LQFP64 -> LQFP48 is applicable +2025-08-21 19:56:55,973 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-08-21 19:56:55,973 [INFO] Rule:233 - rule Adapt the old IOC example for updating the SYS when it is misconfigured. is applicable +2025-08-21 19:56:55,975 [INFO] DbConfProperties:307 - Apply Compatibility (4/20 Rules) +2025-08-21 19:56:55,986 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) Pin32 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU +2025-08-21 19:56:56,016 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS +2025-08-21 19:56:56,016 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS +2025-08-21 19:56:56,016 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS +2025-08-21 19:56:56,016 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS +2025-08-21 19:56:56,016 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0: +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelIntegratedComponent:63 - No mode defined for component null +2025-08-21 19:56:56,029 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI +2025-08-21 19:56:56,085 [INFO] ThirdPartyModel:298 - Start build external matchings +2025-08-21 19:56:56,261 [INFO] ThirdPartyModel:316 - End build external matchings +2025-08-21 19:56:56,268 [INFO] ImportTextPane:234 - (OptionalMessage_ERROR) IP (RCC) : Invalid parameter (FamilyName) +2025-08-21 19:56:56,269 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,269 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,269 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,362 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 624042056 Bytes (1073741824) +2025-08-21 19:56:56,366 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project] +2025-08-21 19:56:56,366 [INFO] ThirdParty:835 - entering critical section [change project] +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-PM33A1 1.0.0 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC9 1.0.0 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSL 5.8.0 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENVWB1 1.4.0 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F4 1.1.0 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0 +2025-08-21 19:56:56,366 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Avnet-IotConnect X-CUBE-IoTC-DA16k-PMOD 1.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SMBUS 2.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfMQTT 1.19.2 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ISPU 2.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-EEPRMA1 5.2.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WB 2.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST60 1.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-GNSS1 7.0.1 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC12 1.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-F7 1.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L5 2.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC6 3.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G0 1.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SAFEA1 1.2.2 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC4 3.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SUBG2 5.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :EmbeddedOffice I-CUBE-FS-RTOS 1.0.1 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.1 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-G4 2.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-WB05N 2.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfTPM 3.8.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7 3.4.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DISPLAY 3.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :wolfSSL I-CUBE-wolfSSH 1.4.20 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC7 2.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-SIGFOX1 3.2.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-NFC10 1.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLEMGR 4.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-FREERTOS 1.3.1 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALS 1.0.2 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :emotas I-CUBE-CANOPEN 1.3.0 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1 +2025-08-21 19:56:56,367 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :ITTIA_DB I-CUBE-ITTIADB 8.9.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :portGmbH I-Cube-SoM-uGOAL 1.1.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :quantropi X-CUBE-qispace-sdk-base 2.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ST67W61 1.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STBOX1 2.1.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.2.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-STAIOTCFT 1.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-SMARTAG2 1.2.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-FLIGHT1 5.1.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-WL 2.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :SEGGER I-CUBE-embOS 1.3.1 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-ALGOBUILD 1.4.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-MEMS1 11.3.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-SNS-MOTENV1 5.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-L4 2.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :WES I-CUBE-Cesium 1.3.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-SFXS2LP1 4.0.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE2 3.3.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOF1 3.4.3 +2025-08-21 19:56:56,368 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0 +2025-08-21 19:56:56,368 [INFO] ThirdParty:841 - exiting critical section [change project] +2025-08-21 19:56:56,467 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-08-21 19:56:56,468 [INFO] PinOutPanel:1589 - setPackage(STM32F446RETx,LQFP64) +2025-08-21 19:56:56,583 [INFO] UtilMem:75 - Before build in PCC Used Memory: 805144984 Bytes (1073741824) +2025-08-21 19:56:56,693 [INFO] UtilMem:75 - After build in PCC Used Memory: 855476632 Bytes (1073741824) +2025-08-21 19:56:56,699 [INFO] ApiDbMcu:532 - Load IP Config File for USB_DEVICE +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,711 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,712 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,713 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,714 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,715 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,715 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,715 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,715 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,715 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,715 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,716 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,716 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,716 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,716 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 19:56:56,718 [INFO] ApiDbMcu:532 - Load IP Config File for PDM2PCM +2025-08-21 19:56:56,718 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,718 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,749 [INFO] CADModel:165 - CPN selected for project levelSTM32F446RET6 +2025-08-21 19:56:56,749 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 19:56:56,785 [INFO] OpenFileManager:386 - Restore cursor +2025-08-21 19:56:56,858 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,858 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,858 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,858 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,858 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,858 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,884 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,884 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,884 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:56:56,885 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:57:08,774 [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-08-21 19:57:16,781 [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-08-21 19:57:23,644 [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-08-21 19:57:28,906 [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-08-21 19:57:34,050 [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-08-21 19:57:39,247 [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-08-21 19:57:45,077 [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-08-21 19:57:48,356 [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-08-21 19:58:24,006 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 616856512 Bytes (1073741824) +2025-08-21 19:58:27,791 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 735869888 Bytes (1073741824) +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_DEVICE +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: I2C +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_OTG_FS +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:28,041 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA +2025-08-21 19:58:28,042 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO +2025-08-21 19:58:28,042 [INFO] CodeGenerator:892 - code generatio: config db path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ +2025-08-21 19:58:28,046 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:28,046 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:28,058 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:28,058 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:28,058 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:28,125 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/license.tmp_save +2025-08-21 19:58:28,350 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/license.tmp +2025-08-21 19:58:28,393 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/gpio.tmp_save +2025-08-21 19:58:28,499 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/gpio.tmp +2025-08-21 19:58:28,569 [WARN] IPConfigManager:3238 - Warning: the RefConfig PWREx_EnableUSBVoltageDetector is not available in your config.xml file +2025-08-21 19:58:28,572 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_vars.tmp_save +2025-08-21 19:58:28,631 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_vars.tmp +2025-08-21 19:58:28,632 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_inc.tmp_save +2025-08-21 19:58:28,673 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_inc.tmp +2025-08-21 19:58:28,674 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_HalInit.tmp_save +2025-08-21 19:58:28,729 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_HalInit.tmp +2025-08-21 19:58:28,730 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_Msp.tmp_save +2025-08-21 19:58:28,799 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_Msp.tmp +2025-08-21 19:58:29,893 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-08-21 19:58:30,039 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma.tmp_save +2025-08-21 19:58:30,082 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma.tmp +2025-08-21 19:58:30,083 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma_GV.tmp_save +2025-08-21 19:58:30,117 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma_GV.tmp +2025-08-21 19:58:30,132 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-08-21 19:58:30,135 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.c_save +2025-08-21 19:58:30,182 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.c +2025-08-21 19:58:30,182 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.h_save +2025-08-21 19:58:30,224 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.h +2025-08-21 19:58:30,225 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.h_save +2025-08-21 19:58:30,268 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.h +2025-08-21 19:58:30,269 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.c_save +2025-08-21 19:58:30,314 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.c +2025-08-21 19:58:30,315 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.h_save +2025-08-21 19:58:30,352 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.h +2025-08-21 19:58:30,353 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.c_save +2025-08-21 19:58:30,394 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.c +2025-08-21 19:58:30,400 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_it.c_save +2025-08-21 19:58:30,469 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_it.c +2025-08-21 19:58:30,470 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_it.h_save +2025-08-21 19:58:30,511 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_it.h +2025-08-21 19:58:30,518 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_hal_msp.c_save +2025-08-21 19:58:30,607 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_hal_msp.c +2025-08-21 19:58:30,609 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/system.tmp_save +2025-08-21 19:58:30,650 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/system.tmp +2025-08-21 19:58:30,654 [INFO] CodeEngine:321 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_hal_conf.h_save +2025-08-21 19:58:30,702 [INFO] CodeEngine:345 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_hal_conf.h +2025-08-21 19:58:30,717 [WARN] IPConfigManager:3238 - Warning: the RefConfig PLL2P_FOR_MCO is not available in your config.xml file +2025-08-21 19:58:30,724 [INFO] ApiDbMcu:532 - Load IP Config File for I2C1 +2025-08-21 19:58:30,726 [INFO] ApiDbMcu:532 - Load IP Config File for USART1 +2025-08-21 19:58:30,727 [INFO] ApiDbMcu:532 - Load IP Config File for USART2 +2025-08-21 19:58:30,729 [INFO] ApiDbMcu:532 - Load IP Config File for USART3 +2025-08-21 19:58:30,730 [INFO] ApiDbMcu:532 - Load IP Config File for USART6 +2025-08-21 19:58:30,733 [INFO] ApiDbMcu:532 - Load IP Config File for RCC +2025-08-21 19:58:30,737 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/main.h_save +2025-08-21 19:58:30,790 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/main.h +2025-08-21 19:58:30,791 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/main.c_save +2025-08-21 19:58:30,878 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/main.c +2025-08-21 19:58:31,050 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 30mS. +2025-08-21 19:58:31,054 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 +2025-08-21 19:58:31,111 [INFO] ConfigFileManager:1595 - The Die is : DIE421 +2025-08-21 19:58:31,115 [INFO] ApiDbMcu:532 - Load IP Config File for FATFS +2025-08-21 19:58:31,118 [INFO] ApiDbMcu:532 - Load IP Config File for FREERTOS +2025-08-21 19:58:31,119 [INFO] ApiDbMcu:532 - Load IP Config File for LIBJPEG +2025-08-21 19:58:31,123 [INFO] ApiDbMcu:532 - Load IP Config File for MBEDTLS +2025-08-21 19:58:31,125 [INFO] ApiDbMcu:532 - Load IP Config File for USB_HOST +2025-08-21 19:58:31,379 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-08-21 19:58:31,863 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 809mS. +2025-08-21 19:58:31,864 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 1mS. +2025-08-21 19:58:31,864 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-08-21 19:58:34,572 [INFO] NvicIntPanel:101 - NVIC parent = com.st.microxplorer.plugins.ip.nvic.MultiNvicIntPanel[,0,0,731x537,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] +2025-08-21 19:58:38,738 [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-08-21 19:58:40,117 [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-08-21 19:58:41,200 [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-08-21 19:58:42,496 [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-08-21 19:58:44,009 [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-08-21 19:58:47,080 [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-08-21 19:58:48,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-08-21 19:58:48,967 [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-08-21 19:58:49,604 [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-08-21 19:58:51,582 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 410555136 Bytes (1073741824) +2025-08-21 19:58:51,939 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 514364160 Bytes (1073741824) +2025-08-21 19:58:52,075 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_DEVICE +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: I2C +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USB_OTG_FS +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: USART +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: DMA +2025-08-21 19:58:52,076 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO +2025-08-21 19:58:52,076 [INFO] CodeGenerator:892 - code generatio: config db path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db/ +2025-08-21 19:58:52,078 [WARN] IP:2250 - I2C_Coeff_DF not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:52,078 [WARN] IP:2250 - Analog_Filter not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:52,092 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,093 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Instancevalue: DMA2_Stream2 +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Instancevalue: DMA2_Stream2 +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,093 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,093 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,094 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Instancevalue: DMA2_Stream7 +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Instancevalue: DMA2_Stream7 +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,094 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,094 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,095 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Instancevalue: DMA1_Stream5 +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Instancevalue: DMA1_Stream5 +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,095 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,096 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Instancevalue: DMA1_Stream6 +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Instancevalue: DMA1_Stream6 +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,096 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,096 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,097 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,098 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Instancevalue: DMA1_Stream1 +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Instancevalue: DMA1_Stream1 +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,098 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Instancevalue: DMA1_Stream3 +2025-08-21 19:58:52,098 [INFO] Argument:335 - Argument : Instancevalue: DMA1_Stream3 +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,098 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,098 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_4 +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,099 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,099 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,100 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : Instancevalue: DMA2_Stream1 +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : Instancevalue: DMA2_Stream1 +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,100 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_5 +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_5 +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : Directionvalue: DMA_PERIPH_TO_MEMORY +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,100 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,100 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : hdmavalue: null +2025-08-21 19:58:52,101 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Instancevalue: DMA2_Stream6 +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Instancevalue: DMA2_Stream6 +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Initvalue: null +2025-08-21 19:58:52,101 [INFO] Argument:327 - sub Args: +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Channelvalue: DMA_CHANNEL_5 +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Channelvalue: DMA_CHANNEL_5 +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Directionvalue: DMA_MEMORY_TO_PERIPH +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : PeriphIncvalue: DMA_PINC_DISABLE +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : MemIncvalue: DMA_MINC_ENABLE +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : PeriphDataAlignmentvalue: DMA_PDATAALIGN_BYTE +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : MemDataAlignmentvalue: DMA_MDATAALIGN_BYTE +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Modevalue: DMA_NORMAL +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : Priorityvalue: DMA_PRIORITY_LOW +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,101 [INFO] Argument:335 - Argument : FIFOModevalue: DMA_FIFOMODE_DISABLE +2025-08-21 19:58:52,101 [INFO] Argument:325 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : FIFOThresholdvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : MemBurstvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : PeriphBurstvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : Lockvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : Lockvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : Statevalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : Statevalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : Parentvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : Parentvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : XferCpltCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : XferHalfCpltCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : XferM1CpltCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : XferErrorCallbackvalue: null +2025-08-21 19:58:52,102 [INFO] Argument:325 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,102 [INFO] Argument:335 - Argument : ErrorCodevalue: null +2025-08-21 19:58:52,103 [WARN] IP:2250 - DEVICE_SERIAL0_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:52,103 [WARN] IP:2250 - DEVICE_SERIAL1_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:52,103 [WARN] IP:2250 - DEVICE_SERIAL2_HID_FS not found: check if there is a RefParameter without a condition. +2025-08-21 19:58:52,160 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/license.tmp_save +2025-08-21 19:58:52,208 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/license.tmp +2025-08-21 19:58:52,221 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/gpio.tmp_save +2025-08-21 19:58:52,269 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/gpio.tmp +2025-08-21 19:58:52,295 [WARN] IPConfigManager:3238 - Warning: the RefConfig PWREx_EnableUSBVoltageDetector is not available in your config.xml file +2025-08-21 19:58:52,297 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_vars.tmp_save +2025-08-21 19:58:52,337 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_vars.tmp +2025-08-21 19:58:52,338 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_inc.tmp_save +2025-08-21 19:58:52,377 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_inc.tmp +2025-08-21 19:58:52,378 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_HalInit.tmp_save +2025-08-21 19:58:52,424 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_HalInit.tmp +2025-08-21 19:58:52,425 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_Msp.tmp_save +2025-08-21 19:58:52,478 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/usb_otg_fs_Msp.tmp +2025-08-21 19:58:53,425 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-08-21 19:58:53,564 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma.tmp_save +2025-08-21 19:58:53,607 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma.tmp +2025-08-21 19:58:53,608 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma_GV.tmp_save +2025-08-21 19:58:53,642 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/dma_GV.tmp +2025-08-21 19:58:53,668 [INFO] Middleware:1452 - No code input for Bsp Dependency +2025-08-21 19:58:53,671 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.c_save +2025-08-21 19:58:53,730 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.c +2025-08-21 19:58:53,732 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.h_save +2025-08-21 19:58:53,782 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usb_device.h +2025-08-21 19:58:53,784 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.h_save +2025-08-21 19:58:53,825 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.h +2025-08-21 19:58:53,826 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.c_save +2025-08-21 19:58:53,867 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/Target/usbd_conf.c +2025-08-21 19:58:53,868 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.h_save +2025-08-21 19:58:53,903 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.h +2025-08-21 19:58:53,904 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.c_save +2025-08-21 19:58:53,942 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/USB_DEVICE/App/usbd_desc.c +2025-08-21 19:58:53,949 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_it.c_save +2025-08-21 19:58:54,003 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_it.c +2025-08-21 19:58:54,004 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_it.h_save +2025-08-21 19:58:54,043 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_it.h +2025-08-21 19:58:54,050 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_hal_msp.c_save +2025-08-21 19:58:54,118 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/stm32f4xx_hal_msp.c +2025-08-21 19:58:54,119 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/system.tmp_save +2025-08-21 19:58:54,155 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/MXTmpFiles/system.tmp +2025-08-21 19:58:54,157 [INFO] CodeEngine:321 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_hal_conf.h_save +2025-08-21 19:58:54,202 [INFO] CodeEngine:345 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/stm32f4xx_hal_conf.h +2025-08-21 19:58:54,210 [WARN] IPConfigManager:3238 - Warning: the RefConfig PLL2P_FOR_MCO is not available in your config.xml file +2025-08-21 19:58:54,214 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/main.h_save +2025-08-21 19:58:54,255 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Inc/main.h +2025-08-21 19:58:54,256 [INFO] CodeEngine:265 - oldGeneratedFile, /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/main.c_save +2025-08-21 19:58:54,314 [INFO] CodeEngine:289 - Generated code: /home/kymkim/Projects/modular-kbd/firmware/numpad/numpad/Core/Src/main.c +2025-08-21 19:58:54,437 [INFO] ProjectBuilder:3606 - Time for Copy HAL[1] : 16mS. +2025-08-21 19:58:54,439 [INFO] ProjectBuilder:5216 - Project Generator version: 4.7.0-B52 +2025-08-21 19:58:54,485 [INFO] ConfigFileManager:1595 - The Die is : DIE421 +2025-08-21 19:58:54,900 [INFO] ProjectBuilder:5496 - Time for Generating toolchain IDE Files: 461mS. +2025-08-21 19:58:54,900 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-08-21 19:58:54,901 [INFO] ProjectBuilder:3463 - Time for Copy CMSIS : 0mS. +2025-08-21 20:48:37,727 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] +2025-08-21 20:48:48,982 [INFO] Activator:176 - -2025-08-19 20:13:36,173 [INFO] Activator:177 - !SESSION log4j initialized -2025-08-19 20:13:38,461 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-08-19 20:13:38,747 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:13:38,758 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:13:38,758 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:13:38,758 [WARN] ApiDb:259 - Overriding images path with different value: => /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:13:38,760 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:13:38,760 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:13:38,761 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:13:38,824 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:13:38,857 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:13:38,857 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:13:38,857 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:13:38,857 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,858 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:13:38,858 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,858 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:13:38,858 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,858 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,858 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:13:38,893 [INFO] MainPanel:274 - HeapMemory: 268435456 -2025-08-19 20:13:38,947 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:13:38,947 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:13:38,947 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:13:38,947 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,947 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:13:38,947 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,947 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:13:38,947 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,947 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:13:38,948 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:13:38,956 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:13:38,957 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] -2025-08-19 20:13:38,957 [INFO] PluginManage:310 - Check plugin analytics -2025-08-19 20:13:39,030 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: -2025-08-19 20:13:39,030 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: -2025-08-19 20:13:39,030 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 -2025-08-19 20:13:39,031 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) -2025-08-19 20:13:39,031 [INFO] PluginManage:310 - Check plugin cadmodel -2025-08-19 20:13:39,034 [INFO] CADModel:105 - Init CAD model plugin -2025-08-19 20:13:39,034 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) -2025-08-19 20:13:39,034 [INFO] PluginManage:310 - Check plugin clock -2025-08-19 20:13:39,038 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) -2025-08-19 20:13:39,038 [INFO] PluginManage:310 - Check plugin ddr -2025-08-19 20:13:39,039 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) -2025-08-19 20:13:39,039 [INFO] PluginManage:310 - Check plugin filemanager -2025-08-19 20:13:39,112 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) -2025-08-19 20:13:39,112 [INFO] PluginManage:310 - Check plugin ipmanager -2025-08-19 20:13:39,114 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) -2025-08-19 20:13:39,114 [INFO] PluginManage:310 - Check plugin lpbam -2025-08-19 20:13:39,119 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) -2025-08-19 20:13:39,119 [INFO] PluginManage:310 - Check plugin memorymap -2025-08-19 20:13:39,125 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) -2025-08-19 20:13:39,126 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration -2025-08-19 20:13:39,131 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) -2025-08-19 20:13:39,131 [INFO] PluginManage:310 - Check plugin pinoutconfig -2025-08-19 20:13:39,179 [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-08-19 20:13:39,237 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) -2025-08-19 20:13:39,237 [INFO] PluginManage:310 - Check plugin power -2025-08-19 20:13:39,241 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) -2025-08-19 20:13:39,241 [INFO] PluginManage:310 - Check plugin projectmanager -2025-08-19 20:13:39,251 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) -2025-08-19 20:13:39,251 [INFO] PluginManage:310 - Check plugin rif -2025-08-19 20:13:39,256 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) -2025-08-19 20:13:39,256 [INFO] PluginManage:310 - Check plugin thirdparty -2025-08-19 20:13:39,315 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) -2025-08-19 20:13:39,315 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] -2025-08-19 20:13:39,315 [INFO] PluginManage:310 - Check plugin tools -2025-08-19 20:13:39,315 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] -2025-08-19 20:13:39,315 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] -2025-08-19 20:13:39,317 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) -2025-08-19 20:13:39,317 [INFO] PluginManage:310 - Check plugin tutovideos -2025-08-19 20:13:39,419 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) -2025-08-19 20:13:39,419 [INFO] PluginManage:310 - Check plugin updater -2025-08-19 20:13:39,433 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) -2025-08-19 20:13:39,433 [INFO] PluginManage:310 - Check plugin userauth -2025-08-19 20:13:39,435 [INFO] UserAuth:118 - Init User Auth plugin -2025-08-19 20:13:39,436 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) -2025-08-19 20:13:39,436 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] -2025-08-19 20:13:39,530 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:13:39,565 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:13:39,565 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:13:39,576 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,577 [INFO] PluginManager:220 - loadIPPluginJar : add adc -2025-08-19 20:13:39,578 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,578 [INFO] PluginManager:220 - loadIPPluginJar : add aes -2025-08-19 20:13:39,579 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,579 [INFO] PluginManager:220 - loadIPPluginJar : add can -2025-08-19 20:13:39,580 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,580 [INFO] PluginManager:220 - loadIPPluginJar : add comp -2025-08-19 20:13:39,580 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,580 [INFO] PluginManager:220 - loadIPPluginJar : add cryp -2025-08-19 20:13:39,582 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,582 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy -2025-08-19 20:13:39,583 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,583 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm -2025-08-19 20:13:39,587 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,587 [INFO] PluginManager:220 - loadIPPluginJar : add dma -2025-08-19 20:13:39,588 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,588 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 -2025-08-19 20:13:39,589 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,589 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager -2025-08-19 20:13:39,589 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,589 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs -2025-08-19 20:13:39,591 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,591 [INFO] PluginManager:220 - loadIPPluginJar : add fmc -2025-08-19 20:13:39,594 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,594 [INFO] PluginManager:220 - loadIPPluginJar : add freertos -2025-08-19 20:13:39,595 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,595 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin -2025-08-19 20:13:39,596 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,596 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu -2025-08-19 20:13:39,598 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,598 [INFO] PluginManager:220 - loadIPPluginJar : add gic -2025-08-19 20:13:39,601 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,601 [INFO] PluginManager:220 - loadIPPluginJar : add gpio -2025-08-19 20:13:39,603 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,603 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc -2025-08-19 20:13:39,604 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,604 [INFO] PluginManager:220 - loadIPPluginJar : add hash -2025-08-19 20:13:39,605 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,605 [INFO] PluginManager:220 - loadIPPluginJar : add i2c -2025-08-19 20:13:39,606 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,606 [INFO] PluginManager:220 - loadIPPluginJar : add i2s -2025-08-19 20:13:39,607 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,607 [INFO] PluginManager:220 - loadIPPluginJar : add i3c -2025-08-19 20:13:39,609 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,609 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr -2025-08-19 20:13:39,612 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,612 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist -2025-08-19 20:13:39,614 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,614 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan -2025-08-19 20:13:39,614 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,614 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc -2025-08-19 20:13:39,618 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,618 [INFO] PluginManager:220 - loadIPPluginJar : add mdma -2025-08-19 20:13:39,619 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,619 [INFO] PluginManager:220 - loadIPPluginJar : add nvic -2025-08-19 20:13:39,620 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,620 [INFO] PluginManager:220 - loadIPPluginJar : add opamp -2025-08-19 20:13:39,621 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,621 [INFO] PluginManager:220 - loadIPPluginJar : add openamp -2025-08-19 20:13:39,622 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,622 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm -2025-08-19 20:13:39,624 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,625 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings -2025-08-19 20:13:39,626 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,626 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi -2025-08-19 20:13:39,626 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,627 [INFO] PluginManager:220 - loadIPPluginJar : add radio -2025-08-19 20:13:39,628 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,628 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility -2025-08-19 20:13:39,629 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,629 [INFO] PluginManager:220 - loadIPPluginJar : add sai -2025-08-19 20:13:39,630 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,630 [INFO] PluginManager:220 - loadIPPluginJar : add spi -2025-08-19 20:13:39,634 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,634 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan -2025-08-19 20:13:39,634 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,634 [INFO] PluginManager:220 - loadIPPluginJar : add tim -2025-08-19 20:13:39,635 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,635 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing -2025-08-19 20:13:39,636 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,636 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb -2025-08-19 20:13:39,637 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,637 [INFO] PluginManager:220 - loadIPPluginJar : add ts -2025-08-19 20:13:39,637 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,637 [INFO] PluginManager:220 - loadIPPluginJar : add tsc -2025-08-19 20:13:39,638 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,638 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd -2025-08-19 20:13:39,639 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,639 [INFO] PluginManager:220 - loadIPPluginJar : add usart -2025-08-19 20:13:39,640 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:13:39,640 [INFO] PluginManager:220 - loadIPPluginJar : add usbx -2025-08-19 20:13:39,728 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,746 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:13:39,753 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:13:39,758 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:13:39,758 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:13:39,758 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,758 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:13:39,823 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,823 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:13:39,824 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:13:39,824 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,824 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:13:39,825 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,865 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,868 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 01:14:23 PDT 2025 (1751962463582) -2025-08-19 20:13:39,868 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,885 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:13:39,925 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,926 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,926 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,926 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:13:39,927 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:13:39,943 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. -2025-08-19 20:13:39,944 [INFO] Updater:1134 - Updater Version found : 6.15.0 -2025-08-19 20:13:39,954 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:13:40,152 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:13:40,153 [INFO] MainUpdater:289 - Updater Check For Update Now. -2025-08-19 20:13:40,153 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-08-19 20:13:40,157 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-08-19 20:13:40,157 [INFO] UserAuth:171 - activating auth plugin -2025-08-19 20:13:40,158 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-08-19 20:13:40,170 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder -2025-08-19 20:13:40,302 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-08-19 20:13:40,495 [INFO] WebApp:169 - Instantiating new browser for Auth -2025-08-19 20:13:40,796 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:13:40,796 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:13:40,800 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:13:40,811 [INFO] WebApp:900 - Register for checkConnection events -2025-08-19 20:13:40,811 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:13:40,811 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:13:40,811 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:13:40,883 [INFO] WebApp:225 - Starting web application -2025-08-19 20:13:40,883 [INFO] WebApp:593 - Web application path used /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html -2025-08-19 20:13:41,044 [INFO] WebApp:191 - Connection restablished -2025-08-19 20:13:42,390 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 -2025-08-19 20:13:42,395 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 -2025-08-19 20:13:42,398 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 -2025-08-19 20:13:42,400 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 -2025-08-19 20:13:42,413 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 -2025-08-19 20:13:42,434 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 -2025-08-19 20:13:42,450 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 -2025-08-19 20:13:42,458 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 -2025-08-19 20:13:42,478 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 -2025-08-19 20:13:42,485 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.0.0 -2025-08-19 20:13:42,489 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 -2025-08-19 20:13:42,492 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:13:42,500 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:13:42,500 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:13:42,500 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:13:42,504 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 -2025-08-19 20:13:42,507 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 -2025-08-19 20:13:42,510 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 -2025-08-19 20:13:42,514 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:13:42,514 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:13:42,515 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:13:42,515 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:13:42,515 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:13:42,517 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 -2025-08-19 20:13:42,520 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 -2025-08-19 20:13:42,524 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.3.0 -2025-08-19 20:13:42,527 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 -2025-08-19 20:13:42,530 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 -2025-08-19 20:13:42,532 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.0 -2025-08-19 20:13:42,534 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 -2025-08-19 20:13:42,536 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 -2025-08-19 20:13:42,539 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 -2025-08-19 20:13:42,542 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.1.0 -2025-08-19 20:13:42,548 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 -2025-08-19 20:13:42,551 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 -2025-08-19 20:13:42,555 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 -2025-08-19 20:13:42,560 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 -2025-08-19 20:13:42,564 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 -2025-08-19 20:13:42,567 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 -2025-08-19 20:13:42,570 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 -2025-08-19 20:13:42,573 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 -2025-08-19 20:13:42,576 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 -2025-08-19 20:13:42,579 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 -2025-08-19 20:13:42,581 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 -2025-08-19 20:13:42,595 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 -2025-08-19 20:13:42,612 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 -2025-08-19 20:13:42,631 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 -2025-08-19 20:13:42,691 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 -2025-08-19 20:13:42,698 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 -2025-08-19 20:13:42,700 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 -2025-08-19 20:13:42,702 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 -2025-08-19 20:13:42,704 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 -2025-08-19 20:13:42,712 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 -2025-08-19 20:13:42,717 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 -2025-08-19 20:13:42,721 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 -2025-08-19 20:13:42,724 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 -2025-08-19 20:13:42,727 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 -2025-08-19 20:13:42,736 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:13:42,737 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 -2025-08-19 20:13:42,737 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:13:42,738 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:13:42,738 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:13:42,742 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 -2025-08-19 20:13:42,748 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 -2025-08-19 20:13:42,756 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:13:42,757 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:13:42,758 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 -2025-08-19 20:13:42,758 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:13:42,758 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:13:42,758 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:13:42,759 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:13:42,759 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:13:42,762 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 -2025-08-19 20:13:42,764 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 -2025-08-19 20:13:42,768 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.0.0 -2025-08-19 20:13:42,774 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 -2025-08-19 20:13:42,786 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 -2025-08-19 20:13:42,789 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 -2025-08-19 20:13:42,799 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 -2025-08-19 20:13:42,803 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 -2025-08-19 20:13:42,806 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 -2025-08-19 20:13:42,813 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 -2025-08-19 20:13:42,823 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 -2025-08-19 20:13:42,827 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 -2025-08-19 20:13:42,845 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 -2025-08-19 20:13:42,855 [INFO] ThirdParty:978 - Integrity check success = true -2025-08-19 20:13:42,855 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] -2025-08-19 20:13:42,855 [INFO] IntegrityCheckThread:103 - End integrity checks thread -2025-08-19 20:15:13,625 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] -2025-08-19 20:15:28,595 [INFO] Activator:176 - - - -2025-08-19 20:15:28,596 [INFO] Activator:177 - !SESSION log4j initialized -2025-08-19 20:15:30,938 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-08-19 20:15:31,220 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:15:31,231 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:15:31,231 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:15:31,232 [WARN] ApiDb:259 - Overriding images path with different value: => /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:15:31,234 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:15:31,234 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:15:31,235 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:15:31,300 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:15:31,334 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:15:31,334 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:15:31,334 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:15:31,334 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,334 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:15:31,334 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,334 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:15:31,334 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,334 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,334 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:15:31,369 [INFO] MainPanel:274 - HeapMemory: 268435456 -2025-08-19 20:15:31,434 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:15:31,435 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:15:31,435 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:15:31,435 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,435 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:15:31,435 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,435 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:15:31,435 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,435 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:15:31,435 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:15:31,444 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:15:31,445 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] -2025-08-19 20:15:31,445 [INFO] PluginManage:310 - Check plugin analytics -2025-08-19 20:15:31,523 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: -2025-08-19 20:15:31,523 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: -2025-08-19 20:15:31,523 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 -2025-08-19 20:15:31,525 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) -2025-08-19 20:15:31,525 [INFO] PluginManage:310 - Check plugin cadmodel -2025-08-19 20:15:31,532 [INFO] CADModel:105 - Init CAD model plugin -2025-08-19 20:15:31,533 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) -2025-08-19 20:15:31,533 [INFO] PluginManage:310 - Check plugin clock -2025-08-19 20:15:31,537 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) -2025-08-19 20:15:31,537 [INFO] PluginManage:310 - Check plugin ddr -2025-08-19 20:15:31,538 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) -2025-08-19 20:15:31,538 [INFO] PluginManage:310 - Check plugin filemanager -2025-08-19 20:15:31,614 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) -2025-08-19 20:15:31,614 [INFO] PluginManage:310 - Check plugin ipmanager -2025-08-19 20:15:31,616 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) -2025-08-19 20:15:31,616 [INFO] PluginManage:310 - Check plugin lpbam -2025-08-19 20:15:31,620 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) -2025-08-19 20:15:31,620 [INFO] PluginManage:310 - Check plugin memorymap -2025-08-19 20:15:31,626 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) -2025-08-19 20:15:31,626 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration -2025-08-19 20:15:31,630 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) -2025-08-19 20:15:31,630 [INFO] PluginManage:310 - Check plugin pinoutconfig -2025-08-19 20:15:31,670 [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-08-19 20:15:31,736 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) -2025-08-19 20:15:31,737 [INFO] PluginManage:310 - Check plugin power -2025-08-19 20:15:31,742 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) -2025-08-19 20:15:31,742 [INFO] PluginManage:310 - Check plugin projectmanager -2025-08-19 20:15:31,751 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) -2025-08-19 20:15:31,752 [INFO] PluginManage:310 - Check plugin rif -2025-08-19 20:15:31,757 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) -2025-08-19 20:15:31,757 [INFO] PluginManage:310 - Check plugin thirdparty -2025-08-19 20:15:31,826 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) -2025-08-19 20:15:31,826 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] -2025-08-19 20:15:31,826 [INFO] PluginManage:310 - Check plugin tools -2025-08-19 20:15:31,826 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] -2025-08-19 20:15:31,827 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] -2025-08-19 20:15:31,828 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) -2025-08-19 20:15:31,828 [INFO] PluginManage:310 - Check plugin tutovideos -2025-08-19 20:15:31,932 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) -2025-08-19 20:15:31,932 [INFO] PluginManage:310 - Check plugin updater -2025-08-19 20:15:31,947 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) -2025-08-19 20:15:31,947 [INFO] PluginManage:310 - Check plugin userauth -2025-08-19 20:15:31,949 [INFO] UserAuth:118 - Init User Auth plugin -2025-08-19 20:15:31,950 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) -2025-08-19 20:15:31,950 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] -2025-08-19 20:15:32,052 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:15:32,090 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:15:32,090 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:15:32,099 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,100 [INFO] PluginManager:220 - loadIPPluginJar : add adc -2025-08-19 20:15:32,100 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,101 [INFO] PluginManager:220 - loadIPPluginJar : add aes -2025-08-19 20:15:32,102 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,102 [INFO] PluginManager:220 - loadIPPluginJar : add can -2025-08-19 20:15:32,102 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,102 [INFO] PluginManager:220 - loadIPPluginJar : add comp -2025-08-19 20:15:32,103 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,103 [INFO] PluginManager:220 - loadIPPluginJar : add cryp -2025-08-19 20:15:32,104 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,104 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy -2025-08-19 20:15:32,105 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,105 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm -2025-08-19 20:15:32,108 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,108 [INFO] PluginManager:220 - loadIPPluginJar : add dma -2025-08-19 20:15:32,109 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,109 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 -2025-08-19 20:15:32,111 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,111 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager -2025-08-19 20:15:32,111 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,111 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs -2025-08-19 20:15:32,114 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,114 [INFO] PluginManager:220 - loadIPPluginJar : add fmc -2025-08-19 20:15:32,117 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,117 [INFO] PluginManager:220 - loadIPPluginJar : add freertos -2025-08-19 20:15:32,118 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,118 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin -2025-08-19 20:15:32,118 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,118 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu -2025-08-19 20:15:32,121 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,121 [INFO] PluginManager:220 - loadIPPluginJar : add gic -2025-08-19 20:15:32,123 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,123 [INFO] PluginManager:220 - loadIPPluginJar : add gpio -2025-08-19 20:15:32,124 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,124 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc -2025-08-19 20:15:32,125 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,125 [INFO] PluginManager:220 - loadIPPluginJar : add hash -2025-08-19 20:15:32,126 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,126 [INFO] PluginManager:220 - loadIPPluginJar : add i2c -2025-08-19 20:15:32,126 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,126 [INFO] PluginManager:220 - loadIPPluginJar : add i2s -2025-08-19 20:15:32,128 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,128 [INFO] PluginManager:220 - loadIPPluginJar : add i3c -2025-08-19 20:15:32,130 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,130 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr -2025-08-19 20:15:32,133 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,134 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist -2025-08-19 20:15:32,135 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,135 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan -2025-08-19 20:15:32,135 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,135 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc -2025-08-19 20:15:32,138 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,138 [INFO] PluginManager:220 - loadIPPluginJar : add mdma -2025-08-19 20:15:32,140 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,140 [INFO] PluginManager:220 - loadIPPluginJar : add nvic -2025-08-19 20:15:32,141 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,141 [INFO] PluginManager:220 - loadIPPluginJar : add opamp -2025-08-19 20:15:32,142 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,142 [INFO] PluginManager:220 - loadIPPluginJar : add openamp -2025-08-19 20:15:32,143 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,143 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm -2025-08-19 20:15:32,146 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,147 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings -2025-08-19 20:15:32,148 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,148 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi -2025-08-19 20:15:32,149 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,149 [INFO] PluginManager:220 - loadIPPluginJar : add radio -2025-08-19 20:15:32,150 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,150 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility -2025-08-19 20:15:32,152 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,152 [INFO] PluginManager:220 - loadIPPluginJar : add sai -2025-08-19 20:15:32,152 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,152 [INFO] PluginManager:220 - loadIPPluginJar : add spi -2025-08-19 20:15:32,156 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,156 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan -2025-08-19 20:15:32,156 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,157 [INFO] PluginManager:220 - loadIPPluginJar : add tim -2025-08-19 20:15:32,158 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,158 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing -2025-08-19 20:15:32,159 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,159 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb -2025-08-19 20:15:32,160 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,160 [INFO] PluginManager:220 - loadIPPluginJar : add ts -2025-08-19 20:15:32,161 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,161 [INFO] PluginManager:220 - loadIPPluginJar : add tsc -2025-08-19 20:15:32,162 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,162 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd -2025-08-19 20:15:32,163 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,163 [INFO] PluginManager:220 - loadIPPluginJar : add usart -2025-08-19 20:15:32,165 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:15:32,165 [INFO] PluginManager:220 - loadIPPluginJar : add usbx -2025-08-19 20:15:32,253 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,270 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:15:32,275 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:15:32,280 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:15:32,280 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:15:32,280 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,280 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:15:32,355 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,356 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:15:32,356 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:15:32,356 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,356 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:15:32,358 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,409 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,411 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 01:14:23 PDT 2025 (1751962463582) -2025-08-19 20:15:32,411 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,429 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:15:32,469 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,471 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,471 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,471 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:15:32,471 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:15:32,486 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. -2025-08-19 20:15:32,486 [INFO] Updater:1134 - Updater Version found : 6.15.0 -2025-08-19 20:15:32,496 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:15:32,509 [INFO] MainUpdater:525 - Copy updater definitions from MX database -2025-08-19 20:15:32,676 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:15:32,676 [INFO] MainUpdater:3604 - Updater definition file requires update -2025-08-19 20:15:32,677 [INFO] MainUpdater:289 - Updater Check For Update Now. -2025-08-19 20:15:32,677 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-08-19 20:15:32,682 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-08-19 20:15:32,682 [INFO] UserAuth:171 - activating auth plugin -2025-08-19 20:15:32,683 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-08-19 20:15:32,691 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder -2025-08-19 20:15:32,702 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:15:32,703 [INFO] ServerAccessManage:509 - Download File updaters.zip -2025-08-19 20:15:32,782 [INFO] FileExtend:248 - Unzip File : updaters.zip -2025-08-19 20:15:32,783 [INFO] FileExtend:263 - Standard Zip Deflate -2025-08-19 20:15:32,900 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:15:32,901 [INFO] ServerAccessManage:509 - Download File PacksControlFlags.xml -2025-08-19 20:15:32,943 [INFO] ServerAccessManage:452 - Complete download http(s) 200 -2025-08-19 20:15:32,943 [INFO] ServerAccessManage:509 - Download File cubemx.pidx -2025-08-19 20:15:32,992 [INFO] LoadServerUpdatesThread:375 - End of LoadServerUpdate Thread -2025-08-19 20:15:33,097 [INFO] WebApp:169 - Instantiating new browser for Auth -2025-08-19 20:15:33,140 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-08-19 20:15:33,407 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:15:33,408 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:15:33,412 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:15:33,422 [INFO] WebApp:900 - Register for checkConnection events -2025-08-19 20:15:33,422 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:15:33,422 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:15:33,423 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:15:33,486 [INFO] WebApp:225 - Starting web application -2025-08-19 20:15:33,486 [INFO] WebApp:593 - Web application path used /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html -2025-08-19 20:15:33,656 [INFO] WebApp:191 - Connection restablished -2025-08-19 20:15:34,896 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 -2025-08-19 20:15:34,900 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 -2025-08-19 20:15:34,904 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 -2025-08-19 20:15:34,906 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 -2025-08-19 20:15:34,921 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 -2025-08-19 20:15:34,938 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 -2025-08-19 20:15:34,952 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 -2025-08-19 20:15:34,957 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 -2025-08-19 20:15:34,964 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 -2025-08-19 20:15:34,970 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.0.0 -2025-08-19 20:15:34,974 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 -2025-08-19 20:15:34,976 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:15:34,982 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:15:34,982 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:15:34,982 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:15:34,985 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 -2025-08-19 20:15:34,988 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 -2025-08-19 20:15:34,990 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 -2025-08-19 20:15:34,993 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:15:34,994 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:15:34,994 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:15:34,994 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:15:34,995 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:15:34,997 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 -2025-08-19 20:15:34,999 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 -2025-08-19 20:15:35,004 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.3.0 -2025-08-19 20:15:35,006 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 -2025-08-19 20:15:35,008 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 -2025-08-19 20:15:35,011 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.0 -2025-08-19 20:15:35,013 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 -2025-08-19 20:15:35,015 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 -2025-08-19 20:15:35,018 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 -2025-08-19 20:15:35,021 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.1.0 -2025-08-19 20:15:35,026 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 -2025-08-19 20:15:35,030 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 -2025-08-19 20:15:35,033 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 -2025-08-19 20:15:35,037 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 -2025-08-19 20:15:35,039 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 -2025-08-19 20:15:35,041 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 -2025-08-19 20:15:35,043 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 -2025-08-19 20:15:35,046 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 -2025-08-19 20:15:35,048 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 -2025-08-19 20:15:35,052 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 -2025-08-19 20:15:35,054 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 -2025-08-19 20:15:35,064 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 -2025-08-19 20:15:35,082 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 -2025-08-19 20:15:35,101 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 -2025-08-19 20:15:35,158 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 -2025-08-19 20:15:35,165 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 -2025-08-19 20:15:35,169 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 -2025-08-19 20:15:35,171 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 -2025-08-19 20:15:35,174 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 -2025-08-19 20:15:35,180 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 -2025-08-19 20:15:35,186 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 -2025-08-19 20:15:35,189 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 -2025-08-19 20:15:35,191 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 -2025-08-19 20:15:35,194 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 -2025-08-19 20:15:35,206 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:15:35,206 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 -2025-08-19 20:15:35,207 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:15:35,207 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:15:35,207 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:15:35,210 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 -2025-08-19 20:15:35,214 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 -2025-08-19 20:15:35,221 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:15:35,221 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:15:35,222 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 -2025-08-19 20:15:35,222 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:15:35,222 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:15:35,222 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:15:35,222 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:15:35,222 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:15:35,225 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 -2025-08-19 20:15:35,227 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 -2025-08-19 20:15:35,229 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.0.0 -2025-08-19 20:15:35,235 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 -2025-08-19 20:15:35,242 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 -2025-08-19 20:15:35,245 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 -2025-08-19 20:15:35,250 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 -2025-08-19 20:15:35,253 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 -2025-08-19 20:15:35,254 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 -2025-08-19 20:15:35,258 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 -2025-08-19 20:15:35,262 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 -2025-08-19 20:15:35,265 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 -2025-08-19 20:15:35,270 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 -2025-08-19 20:15:35,275 [INFO] ThirdParty:978 - Integrity check success = true -2025-08-19 20:15:35,275 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] -2025-08-19 20:15:35,275 [INFO] IntegrityCheckThread:103 - End integrity checks thread -2025-08-19 20:17:16,993 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] -2025-08-19 20:17:21,004 [INFO] Activator:176 - - - -2025-08-19 20:17:21,007 [INFO] Activator:177 - !SESSION log4j initialized -2025-08-19 20:17:23,436 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-08-19 20:17:23,685 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:17:23,695 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:17:23,695 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:17:23,695 [WARN] ApiDb:259 - Overriding images path with different value: => /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:17:23,697 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:17:23,697 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:17:23,698 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:17:23,758 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:17:23,792 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:17:23,793 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:17:23,793 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:17:23,793 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,793 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:17:23,793 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,793 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:17:23,793 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,793 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,793 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:17:23,830 [INFO] MainPanel:274 - HeapMemory: 268435456 -2025-08-19 20:17:23,891 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:17:23,891 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:17:23,891 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:17:23,891 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,891 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:17:23,891 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,891 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:17:23,891 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,891 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:17:23,892 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:17:23,900 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:17:23,901 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] -2025-08-19 20:17:23,902 [INFO] PluginManage:310 - Check plugin analytics -2025-08-19 20:17:23,972 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: -2025-08-19 20:17:23,973 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: -2025-08-19 20:17:23,973 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 -2025-08-19 20:17:23,974 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) -2025-08-19 20:17:23,974 [INFO] PluginManage:310 - Check plugin cadmodel -2025-08-19 20:17:23,980 [INFO] CADModel:105 - Init CAD model plugin -2025-08-19 20:17:23,980 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) -2025-08-19 20:17:23,980 [INFO] PluginManage:310 - Check plugin clock -2025-08-19 20:17:23,985 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) -2025-08-19 20:17:23,985 [INFO] PluginManage:310 - Check plugin ddr -2025-08-19 20:17:23,986 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) -2025-08-19 20:17:23,987 [INFO] PluginManage:310 - Check plugin filemanager -2025-08-19 20:17:24,072 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) -2025-08-19 20:17:24,072 [INFO] PluginManage:310 - Check plugin ipmanager -2025-08-19 20:17:24,076 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) -2025-08-19 20:17:24,076 [INFO] PluginManage:310 - Check plugin lpbam -2025-08-19 20:17:24,082 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) -2025-08-19 20:17:24,082 [INFO] PluginManage:310 - Check plugin memorymap -2025-08-19 20:17:24,088 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) -2025-08-19 20:17:24,088 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration -2025-08-19 20:17:24,091 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) -2025-08-19 20:17:24,091 [INFO] PluginManage:310 - Check plugin pinoutconfig -2025-08-19 20:17:24,132 [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-08-19 20:17:24,197 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) -2025-08-19 20:17:24,197 [INFO] PluginManage:310 - Check plugin power -2025-08-19 20:17:24,201 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) -2025-08-19 20:17:24,201 [INFO] PluginManage:310 - Check plugin projectmanager -2025-08-19 20:17:24,211 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) -2025-08-19 20:17:24,211 [INFO] PluginManage:310 - Check plugin rif -2025-08-19 20:17:24,217 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) -2025-08-19 20:17:24,217 [INFO] PluginManage:310 - Check plugin thirdparty -2025-08-19 20:17:24,276 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) -2025-08-19 20:17:24,276 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] -2025-08-19 20:17:24,276 [INFO] PluginManage:310 - Check plugin tools -2025-08-19 20:17:24,276 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] -2025-08-19 20:17:24,276 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] -2025-08-19 20:17:24,277 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) -2025-08-19 20:17:24,278 [INFO] PluginManage:310 - Check plugin tutovideos -2025-08-19 20:17:24,401 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) -2025-08-19 20:17:24,401 [INFO] PluginManage:310 - Check plugin updater -2025-08-19 20:17:24,417 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) -2025-08-19 20:17:24,417 [INFO] PluginManage:310 - Check plugin userauth -2025-08-19 20:17:24,419 [INFO] UserAuth:118 - Init User Auth plugin -2025-08-19 20:17:24,420 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) -2025-08-19 20:17:24,420 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] -2025-08-19 20:17:24,516 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:17:24,549 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:17:24,549 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:17:24,558 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,558 [INFO] PluginManager:220 - loadIPPluginJar : add adc -2025-08-19 20:17:24,559 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,559 [INFO] PluginManager:220 - loadIPPluginJar : add aes -2025-08-19 20:17:24,560 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,560 [INFO] PluginManager:220 - loadIPPluginJar : add can -2025-08-19 20:17:24,560 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,560 [INFO] PluginManager:220 - loadIPPluginJar : add comp -2025-08-19 20:17:24,561 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,561 [INFO] PluginManager:220 - loadIPPluginJar : add cryp -2025-08-19 20:17:24,562 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,562 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy -2025-08-19 20:17:24,563 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,563 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm -2025-08-19 20:17:24,565 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,565 [INFO] PluginManager:220 - loadIPPluginJar : add dma -2025-08-19 20:17:24,566 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,566 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 -2025-08-19 20:17:24,567 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,567 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager -2025-08-19 20:17:24,567 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,567 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs -2025-08-19 20:17:24,569 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,569 [INFO] PluginManager:220 - loadIPPluginJar : add fmc -2025-08-19 20:17:24,572 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,572 [INFO] PluginManager:220 - loadIPPluginJar : add freertos -2025-08-19 20:17:24,572 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,572 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin -2025-08-19 20:17:24,573 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,573 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu -2025-08-19 20:17:24,575 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,575 [INFO] PluginManager:220 - loadIPPluginJar : add gic -2025-08-19 20:17:24,577 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,577 [INFO] PluginManager:220 - loadIPPluginJar : add gpio -2025-08-19 20:17:24,579 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,579 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc -2025-08-19 20:17:24,580 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,580 [INFO] PluginManager:220 - loadIPPluginJar : add hash -2025-08-19 20:17:24,581 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,581 [INFO] PluginManager:220 - loadIPPluginJar : add i2c -2025-08-19 20:17:24,582 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,582 [INFO] PluginManager:220 - loadIPPluginJar : add i2s -2025-08-19 20:17:24,583 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,583 [INFO] PluginManager:220 - loadIPPluginJar : add i3c -2025-08-19 20:17:24,585 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,585 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr -2025-08-19 20:17:24,589 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,590 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist -2025-08-19 20:17:24,592 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,592 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan -2025-08-19 20:17:24,592 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,592 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc -2025-08-19 20:17:24,597 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,597 [INFO] PluginManager:220 - loadIPPluginJar : add mdma -2025-08-19 20:17:24,599 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,599 [INFO] PluginManager:220 - loadIPPluginJar : add nvic -2025-08-19 20:17:24,601 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,601 [INFO] PluginManager:220 - loadIPPluginJar : add opamp -2025-08-19 20:17:24,602 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,602 [INFO] PluginManager:220 - loadIPPluginJar : add openamp -2025-08-19 20:17:24,603 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,603 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm -2025-08-19 20:17:24,607 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,609 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings -2025-08-19 20:17:24,610 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,610 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi -2025-08-19 20:17:24,611 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,611 [INFO] PluginManager:220 - loadIPPluginJar : add radio -2025-08-19 20:17:24,612 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,612 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility -2025-08-19 20:17:24,613 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,613 [INFO] PluginManager:220 - loadIPPluginJar : add sai -2025-08-19 20:17:24,614 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,614 [INFO] PluginManager:220 - loadIPPluginJar : add spi -2025-08-19 20:17:24,618 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,618 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan -2025-08-19 20:17:24,619 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,619 [INFO] PluginManager:220 - loadIPPluginJar : add tim -2025-08-19 20:17:24,620 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,621 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing -2025-08-19 20:17:24,622 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,622 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb -2025-08-19 20:17:24,623 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,623 [INFO] PluginManager:220 - loadIPPluginJar : add ts -2025-08-19 20:17:24,624 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,624 [INFO] PluginManager:220 - loadIPPluginJar : add tsc -2025-08-19 20:17:24,624 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,624 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd -2025-08-19 20:17:24,625 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,626 [INFO] PluginManager:220 - loadIPPluginJar : add usart -2025-08-19 20:17:24,627 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:17:24,627 [INFO] PluginManager:220 - loadIPPluginJar : add usbx -2025-08-19 20:17:24,719 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,735 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:17:24,741 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:17:24,745 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:17:24,745 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:17:24,745 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,745 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:17:24,815 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,816 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:17:24,816 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:17:24,816 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,816 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:17:24,818 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,859 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,861 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 01:14:23 PDT 2025 (1751962463582) -2025-08-19 20:17:24,862 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,881 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:17:24,920 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,921 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,921 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,921 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:17:24,922 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:17:24,944 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. -2025-08-19 20:17:24,945 [INFO] Updater:1134 - Updater Version found : 6.15.0 -2025-08-19 20:17:24,955 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:17:25,301 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:17:25,302 [INFO] MainUpdater:289 - Updater Check For Update Now. -2025-08-19 20:17:25,302 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-08-19 20:17:25,304 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-08-19 20:17:25,305 [INFO] UserAuth:171 - activating auth plugin -2025-08-19 20:17:25,307 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-08-19 20:17:25,318 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder -2025-08-19 20:17:25,447 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-08-19 20:17:25,646 [INFO] WebApp:169 - Instantiating new browser for Auth -2025-08-19 20:17:25,964 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:17:25,964 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:17:25,968 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:17:25,977 [INFO] WebApp:900 - Register for checkConnection events -2025-08-19 20:17:25,978 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:17:25,978 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:17:25,978 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:17:26,041 [INFO] WebApp:225 - Starting web application -2025-08-19 20:17:26,041 [INFO] WebApp:593 - Web application path used /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html -2025-08-19 20:17:26,405 [INFO] WebApp:191 - Connection restablished -2025-08-19 20:17:27,366 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 -2025-08-19 20:17:27,369 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 -2025-08-19 20:17:27,373 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 -2025-08-19 20:17:27,375 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 -2025-08-19 20:17:27,388 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 -2025-08-19 20:17:27,402 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 -2025-08-19 20:17:27,417 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 -2025-08-19 20:17:27,422 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 -2025-08-19 20:17:27,427 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 -2025-08-19 20:17:27,432 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.0.0 -2025-08-19 20:17:27,436 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 -2025-08-19 20:17:27,437 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:17:27,444 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:17:27,444 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:17:27,444 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:17:27,447 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 -2025-08-19 20:17:27,450 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 -2025-08-19 20:17:27,451 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 -2025-08-19 20:17:27,455 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:17:27,455 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:17:27,456 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:17:27,456 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:17:27,456 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:17:27,457 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 -2025-08-19 20:17:27,459 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 -2025-08-19 20:17:27,463 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.3.0 -2025-08-19 20:17:27,465 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 -2025-08-19 20:17:27,467 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 -2025-08-19 20:17:27,470 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.0 -2025-08-19 20:17:27,472 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 -2025-08-19 20:17:27,473 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 -2025-08-19 20:17:27,475 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 -2025-08-19 20:17:27,477 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.1.0 -2025-08-19 20:17:27,486 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 -2025-08-19 20:17:27,490 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 -2025-08-19 20:17:27,492 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 -2025-08-19 20:17:27,495 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 -2025-08-19 20:17:27,498 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 -2025-08-19 20:17:27,500 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 -2025-08-19 20:17:27,502 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 -2025-08-19 20:17:27,505 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 -2025-08-19 20:17:27,507 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 -2025-08-19 20:17:27,509 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 -2025-08-19 20:17:27,512 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 -2025-08-19 20:17:27,522 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 -2025-08-19 20:17:27,537 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 -2025-08-19 20:17:27,559 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 -2025-08-19 20:17:27,605 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 -2025-08-19 20:17:27,611 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 -2025-08-19 20:17:27,614 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 -2025-08-19 20:17:27,615 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 -2025-08-19 20:17:27,617 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 -2025-08-19 20:17:27,623 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 -2025-08-19 20:17:27,627 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 -2025-08-19 20:17:27,630 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 -2025-08-19 20:17:27,633 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 -2025-08-19 20:17:27,636 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 -2025-08-19 20:17:27,650 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:17:27,651 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 -2025-08-19 20:17:27,652 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:17:27,652 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:17:27,653 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:17:27,658 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 -2025-08-19 20:17:27,666 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 -2025-08-19 20:17:27,675 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:17:27,675 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:17:27,677 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 -2025-08-19 20:17:27,678 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:17:27,678 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:17:27,678 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:17:27,679 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:17:27,679 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:17:27,683 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 -2025-08-19 20:17:27,686 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 -2025-08-19 20:17:27,702 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.0.0 -2025-08-19 20:17:27,710 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 -2025-08-19 20:17:27,719 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 -2025-08-19 20:17:27,723 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 -2025-08-19 20:17:27,729 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 -2025-08-19 20:17:27,731 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 -2025-08-19 20:17:27,733 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 -2025-08-19 20:17:27,738 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 -2025-08-19 20:17:27,745 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 -2025-08-19 20:17:27,747 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 -2025-08-19 20:17:27,751 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 -2025-08-19 20:17:27,756 [INFO] ThirdParty:978 - Integrity check success = true -2025-08-19 20:17:27,757 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] -2025-08-19 20:17:27,757 [INFO] IntegrityCheckThread:103 - End integrity checks thread -2025-08-19 20:18:38,509 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] -2025-08-19 20:18:48,742 [INFO] Activator:176 - - - -2025-08-19 20:18:48,743 [INFO] Activator:177 - !SESSION log4j initialized -2025-08-19 20:18:51,208 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] -2025-08-19 20:18:51,492 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:18:51,504 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:18:51,504 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:18:51,504 [WARN] ApiDb:259 - Overriding images path with different value: => /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:18:51,506 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:18:51,507 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:18:51,508 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:18:51,576 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:18:51,607 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:18:51,607 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:18:51,607 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:18:51,607 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,607 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:18:51,607 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,607 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:18:51,607 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,607 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,607 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:18:51,638 [INFO] MainPanel:274 - HeapMemory: 268435456 -2025-08-19 20:18:51,699 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ -2025-08-19 20:18:51,699 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ -2025-08-19 20:18:51,700 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ -2025-08-19 20:18:51,700 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,700 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:18:51,700 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,700 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ -2025-08-19 20:18:51,700 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,700 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder -2025-08-19 20:18:51,700 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ -2025-08-19 20:18:51,707 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:18:51,708 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] -2025-08-19 20:18:51,708 [INFO] PluginManage:310 - Check plugin analytics -2025-08-19 20:18:51,795 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: -2025-08-19 20:18:51,795 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: -2025-08-19 20:18:51,795 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 -2025-08-19 20:18:51,797 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) -2025-08-19 20:18:51,797 [INFO] PluginManage:310 - Check plugin cadmodel -2025-08-19 20:18:51,799 [INFO] CADModel:105 - Init CAD model plugin -2025-08-19 20:18:51,799 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) -2025-08-19 20:18:51,799 [INFO] PluginManage:310 - Check plugin clock -2025-08-19 20:18:51,804 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) -2025-08-19 20:18:51,804 [INFO] PluginManage:310 - Check plugin ddr -2025-08-19 20:18:51,805 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) -2025-08-19 20:18:51,805 [INFO] PluginManage:310 - Check plugin filemanager -2025-08-19 20:18:51,889 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) -2025-08-19 20:18:51,889 [INFO] PluginManage:310 - Check plugin ipmanager -2025-08-19 20:18:51,892 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) -2025-08-19 20:18:51,892 [INFO] PluginManage:310 - Check plugin lpbam -2025-08-19 20:18:51,897 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) -2025-08-19 20:18:51,897 [INFO] PluginManage:310 - Check plugin memorymap -2025-08-19 20:18:51,904 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) -2025-08-19 20:18:51,905 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration -2025-08-19 20:18:51,909 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) -2025-08-19 20:18:51,909 [INFO] PluginManage:310 - Check plugin pinoutconfig -2025-08-19 20:18:51,950 [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-08-19 20:18:52,009 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) -2025-08-19 20:18:52,009 [INFO] PluginManage:310 - Check plugin power -2025-08-19 20:18:52,014 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) -2025-08-19 20:18:52,014 [INFO] PluginManage:310 - Check plugin projectmanager -2025-08-19 20:18:52,024 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) -2025-08-19 20:18:52,024 [INFO] PluginManage:310 - Check plugin rif -2025-08-19 20:18:52,030 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) -2025-08-19 20:18:52,030 [INFO] PluginManage:310 - Check plugin thirdparty -2025-08-19 20:18:52,090 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) -2025-08-19 20:18:52,090 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] -2025-08-19 20:18:52,091 [INFO] PluginManage:310 - Check plugin tools -2025-08-19 20:18:52,091 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] -2025-08-19 20:18:52,091 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] -2025-08-19 20:18:52,092 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) -2025-08-19 20:18:52,092 [INFO] PluginManage:310 - Check plugin tutovideos -2025-08-19 20:18:52,204 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) -2025-08-19 20:18:52,204 [INFO] PluginManage:310 - Check plugin updater -2025-08-19 20:18:52,216 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) -2025-08-19 20:18:52,216 [INFO] PluginManage:310 - Check plugin userauth -2025-08-19 20:18:52,219 [INFO] UserAuth:118 - Init User Auth plugin -2025-08-19 20:18:52,220 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) -2025-08-19 20:18:52,221 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] -2025-08-19 20:18:52,320 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) -2025-08-19 20:18:52,358 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:18:52,358 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:18:52,370 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,370 [INFO] PluginManager:220 - loadIPPluginJar : add adc -2025-08-19 20:18:52,372 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,372 [INFO] PluginManager:220 - loadIPPluginJar : add aes -2025-08-19 20:18:52,373 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,373 [INFO] PluginManager:220 - loadIPPluginJar : add can -2025-08-19 20:18:52,374 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,374 [INFO] PluginManager:220 - loadIPPluginJar : add comp -2025-08-19 20:18:52,375 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,375 [INFO] PluginManager:220 - loadIPPluginJar : add cryp -2025-08-19 20:18:52,376 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,376 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy -2025-08-19 20:18:52,377 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,377 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm -2025-08-19 20:18:52,381 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,381 [INFO] PluginManager:220 - loadIPPluginJar : add dma -2025-08-19 20:18:52,382 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,382 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 -2025-08-19 20:18:52,383 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,383 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager -2025-08-19 20:18:52,384 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,384 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs -2025-08-19 20:18:52,387 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,387 [INFO] PluginManager:220 - loadIPPluginJar : add fmc -2025-08-19 20:18:52,389 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,390 [INFO] PluginManager:220 - loadIPPluginJar : add freertos -2025-08-19 20:18:52,390 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,390 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin -2025-08-19 20:18:52,391 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,391 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu -2025-08-19 20:18:52,394 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,394 [INFO] PluginManager:220 - loadIPPluginJar : add gic -2025-08-19 20:18:52,396 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,396 [INFO] PluginManager:220 - loadIPPluginJar : add gpio -2025-08-19 20:18:52,397 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,397 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc -2025-08-19 20:18:52,398 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,398 [INFO] PluginManager:220 - loadIPPluginJar : add hash -2025-08-19 20:18:52,399 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,399 [INFO] PluginManager:220 - loadIPPluginJar : add i2c -2025-08-19 20:18:52,400 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,400 [INFO] PluginManager:220 - loadIPPluginJar : add i2s -2025-08-19 20:18:52,401 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,401 [INFO] PluginManager:220 - loadIPPluginJar : add i3c -2025-08-19 20:18:52,404 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,404 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr -2025-08-19 20:18:52,408 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,408 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist -2025-08-19 20:18:52,410 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,410 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan -2025-08-19 20:18:52,411 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,411 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc -2025-08-19 20:18:52,414 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,414 [INFO] PluginManager:220 - loadIPPluginJar : add mdma -2025-08-19 20:18:52,416 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,416 [INFO] PluginManager:220 - loadIPPluginJar : add nvic -2025-08-19 20:18:52,417 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,417 [INFO] PluginManager:220 - loadIPPluginJar : add opamp -2025-08-19 20:18:52,418 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,418 [INFO] PluginManager:220 - loadIPPluginJar : add openamp -2025-08-19 20:18:52,420 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,420 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm -2025-08-19 20:18:52,422 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,424 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings -2025-08-19 20:18:52,424 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,424 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi -2025-08-19 20:18:52,425 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,425 [INFO] PluginManager:220 - loadIPPluginJar : add radio -2025-08-19 20:18:52,426 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,426 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility -2025-08-19 20:18:52,427 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,427 [INFO] PluginManager:220 - loadIPPluginJar : add sai -2025-08-19 20:18:52,428 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,428 [INFO] PluginManager:220 - loadIPPluginJar : add spi -2025-08-19 20:18:52,431 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,431 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan -2025-08-19 20:18:52,432 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,432 [INFO] PluginManager:220 - loadIPPluginJar : add tim -2025-08-19 20:18:52,433 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,433 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing -2025-08-19 20:18:52,434 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,434 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb -2025-08-19 20:18:52,436 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,436 [INFO] PluginManager:220 - loadIPPluginJar : add ts -2025-08-19 20:18:52,436 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,437 [INFO] PluginManager:220 - loadIPPluginJar : add tsc -2025-08-19 20:18:52,438 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,438 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd -2025-08-19 20:18:52,439 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,439 [INFO] PluginManager:220 - loadIPPluginJar : add usart -2025-08-19 20:18:52,440 [INFO] IPUIPlugin:80 - create IPUIPlugin -2025-08-19 20:18:52,440 [INFO] PluginManager:220 - loadIPPluginJar : add usbx -2025-08-19 20:18:52,528 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,546 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:18:52,556 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) -2025-08-19 20:18:52,561 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:18:52,561 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:18:52,561 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,561 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:18:52,633 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,635 [INFO] CADModel:165 - CPN selected for project level -2025-08-19 20:18:52,635 [INFO] CADModel:114 - Register for checkConnection events -2025-08-19 20:18:52,635 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,635 [ERROR] CADModel:125 - Updater not yet initialized, retry later -2025-08-19 20:18:52,638 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,699 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,701 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 01:14:23 PDT 2025 (1751962463582) -2025-08-19 20:18:52,702 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,722 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:18:52,762 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,763 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,764 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,764 [WARN] DetailPanel:346 - Failed to get advertising image, set to default -2025-08-19 20:18:52,764 [FATAL] Updater:351 - Updater called before beeing initialized -2025-08-19 20:18:52,780 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. -2025-08-19 20:18:52,781 [INFO] Updater:1134 - Updater Version found : 6.15.0 -2025-08-19 20:18:52,789 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 -2025-08-19 20:18:52,961 [INFO] MainUpdater:2872 - connection check result : 10 -2025-08-19 20:18:52,962 [INFO] MainUpdater:289 - Updater Check For Update Now. -2025-08-19 20:18:52,962 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 -2025-08-19 20:18:52,965 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) -2025-08-19 20:18:52,965 [INFO] UserAuth:171 - activating auth plugin -2025-08-19 20:18:52,967 [INFO] UserAuth:487 - Internet connection configuration mode: 1 -2025-08-19 20:18:52,976 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder -2025-08-19 20:18:53,107 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread -2025-08-19 20:18:53,307 [INFO] WebApp:169 - Instantiating new browser for Auth -2025-08-19 20:18:53,612 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:18:53,613 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:18:53,617 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:18:53,626 [INFO] WebApp:900 - Register for checkConnection events -2025-08-19 20:18:53,626 [INFO] WebApp:463 - Apply proxy settings -2025-08-19 20:18:53,626 [INFO] WebApp:548 - Chromium requires no authentication -2025-08-19 20:18:53,627 [INFO] WebApp:491 - Direct internet connection detected -2025-08-19 20:18:53,684 [INFO] WebApp:225 - Starting web application -2025-08-19 20:18:53,684 [INFO] WebApp:593 - Web application path used /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html -2025-08-19 20:18:53,835 [INFO] WebApp:191 - Connection restablished -2025-08-19 20:18:55,161 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 -2025-08-19 20:18:55,165 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 -2025-08-19 20:18:55,169 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 -2025-08-19 20:18:55,171 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 -2025-08-19 20:18:55,185 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 -2025-08-19 20:18:55,199 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 -2025-08-19 20:18:55,222 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 -2025-08-19 20:18:55,230 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 -2025-08-19 20:18:55,238 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 -2025-08-19 20:18:55,246 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.0.0 -2025-08-19 20:18:55,251 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 -2025-08-19 20:18:55,253 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:18:55,261 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:18:55,261 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:18:55,261 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null -2025-08-19 20:18:55,264 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 -2025-08-19 20:18:55,266 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 -2025-08-19 20:18:55,268 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 -2025-08-19 20:18:55,272 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:18:55,272 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:18:55,272 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:18:55,272 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:18:55,273 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null -2025-08-19 20:18:55,274 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 -2025-08-19 20:18:55,277 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 -2025-08-19 20:18:55,280 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.3.0 -2025-08-19 20:18:55,282 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 -2025-08-19 20:18:55,284 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 -2025-08-19 20:18:55,287 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.0 -2025-08-19 20:18:55,289 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 -2025-08-19 20:18:55,292 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 -2025-08-19 20:18:55,294 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 -2025-08-19 20:18:55,296 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.1.0 -2025-08-19 20:18:55,301 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 -2025-08-19 20:18:55,305 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 -2025-08-19 20:18:55,308 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 -2025-08-19 20:18:55,312 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 -2025-08-19 20:18:55,314 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 -2025-08-19 20:18:55,316 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 -2025-08-19 20:18:55,319 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 -2025-08-19 20:18:55,322 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 -2025-08-19 20:18:55,324 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 -2025-08-19 20:18:55,327 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 -2025-08-19 20:18:55,329 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 -2025-08-19 20:18:55,343 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 -2025-08-19 20:18:55,364 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 -2025-08-19 20:18:55,398 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 -2025-08-19 20:18:55,467 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 -2025-08-19 20:18:55,473 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 -2025-08-19 20:18:55,475 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 -2025-08-19 20:18:55,477 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 -2025-08-19 20:18:55,480 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 -2025-08-19 20:18:55,486 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 -2025-08-19 20:18:55,490 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 -2025-08-19 20:18:55,493 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 -2025-08-19 20:18:55,495 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 -2025-08-19 20:18:55,497 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 -2025-08-19 20:18:55,503 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:18:55,504 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 -2025-08-19 20:18:55,504 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:18:55,504 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:18:55,504 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null -2025-08-19 20:18:55,508 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 -2025-08-19 20:18:55,513 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 -2025-08-19 20:18:55,518 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:18:55,518 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:18:55,519 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 -2025-08-19 20:18:55,519 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:18:55,519 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:18:55,520 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:18:55,520 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:18:55,520 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null -2025-08-19 20:18:55,522 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 -2025-08-19 20:18:55,525 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 -2025-08-19 20:18:55,527 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.0.0 -2025-08-19 20:18:55,532 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 -2025-08-19 20:18:55,539 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 -2025-08-19 20:18:55,543 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 -2025-08-19 20:18:55,547 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 -2025-08-19 20:18:55,550 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 -2025-08-19 20:18:55,551 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 -2025-08-19 20:18:55,555 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 -2025-08-19 20:18:55,560 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 -2025-08-19 20:18:55,562 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 -2025-08-19 20:18:55,570 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 -2025-08-19 20:18:55,575 [INFO] ThirdParty:978 - Integrity check success = true -2025-08-19 20:18:55,575 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] -2025-08-19 20:18:55,575 [INFO] IntegrityCheckThread:103 - End integrity checks thread -2025-08-19 20:20:40,598 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] +2025-08-21 20:48:48,983 [INFO] Activator:177 - !SESSION log4j initialized +2025-08-21 20:48:51,704 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] +2025-08-21 20:48:52,074 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-08-21 20:48:52,083 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-08-21 20:48:52,083 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-08-21 20:48:52,084 [WARN] ApiDb:259 - Overriding images path with different value: => /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-08-21 20:48:52,086 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 20:48:52,086 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 20:48:52,088 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-08-21 20:48:52,145 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-08-21 20:48:52,177 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-08-21 20:48:52,177 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-08-21 20:48:52,177 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-08-21 20:48:52,177 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,178 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 20:48:52,178 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,178 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 20:48:52,178 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,178 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,178 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-08-21 20:48:52,212 [INFO] MainPanel:274 - HeapMemory: 268435456 +2025-08-21 20:48:52,278 [INFO] DbMcusXml:78 - Set database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//mcu/ +2025-08-21 20:48:52,278 [INFO] ApiDb:274 - Set plugin database path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/boardmanager/ +2025-08-21 20:48:52,279 [INFO] ApiDb:261 - Set plugin images path to: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659//db//plugins/mcufinder/images/ +2025-08-21 20:48:52,279 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,279 [INFO] ApiDb:250 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 20:48:52,279 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,279 [INFO] DbMcusAds:125 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/ +2025-08-21 20:48:52,279 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,279 [WARN] DbFile:41 - Overriding database path with different value: /home/kymkim/.stmcufinder/plugins/mcufinder/ => /home/kymkim/.stmcufinder/plugins/mcufinder +2025-08-21 20:48:52,279 [INFO] CrossReferenceDbSqlite:203 - Set database path to: /home/kymkim/.stmcufinder/plugins/mcufinder//mcu/cs/ +2025-08-21 20:48:52,289 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-08-21 20:48:52,290 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ] +2025-08-21 20:48:52,290 [INFO] PluginManage:310 - Check plugin analytics +2025-08-21 20:48:52,368 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses: +2025-08-21 20:48:52,368 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses: +2025-08-21 20:48:52,368 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses: FW.F4.1.28.0 +2025-08-21 20:48:52,369 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1) +2025-08-21 20:48:52,369 [INFO] PluginManage:310 - Check plugin cadmodel +2025-08-21 20:48:52,371 [INFO] CADModel:105 - Init CAD model plugin +2025-08-21 20:48:52,371 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5) +2025-08-21 20:48:52,371 [INFO] PluginManage:310 - Check plugin clock +2025-08-21 20:48:52,375 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2) +2025-08-21 20:48:52,375 [INFO] PluginManage:310 - Check plugin ddr +2025-08-21 20:48:52,376 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6) +2025-08-21 20:48:52,376 [INFO] PluginManage:310 - Check plugin filemanager +2025-08-21 20:48:52,458 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10) +2025-08-21 20:48:52,459 [INFO] PluginManage:310 - Check plugin ipmanager +2025-08-21 20:48:52,461 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5) +2025-08-21 20:48:52,461 [INFO] PluginManage:310 - Check plugin lpbam +2025-08-21 20:48:52,466 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0) +2025-08-21 20:48:52,466 [INFO] PluginManage:310 - Check plugin memorymap +2025-08-21 20:48:52,472 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4) +2025-08-21 20:48:52,472 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration +2025-08-21 20:48:52,476 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1) +2025-08-21 20:48:52,476 [INFO] PluginManage:310 - Check plugin pinoutconfig +2025-08-21 20:48:52,515 [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-08-21 20:48:52,576 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0) +2025-08-21 20:48:52,576 [INFO] PluginManage:310 - Check plugin power +2025-08-21 20:48:52,579 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4) +2025-08-21 20:48:52,579 [INFO] PluginManage:310 - Check plugin projectmanager +2025-08-21 20:48:52,588 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4) +2025-08-21 20:48:52,588 [INFO] PluginManage:310 - Check plugin rif +2025-08-21 20:48:52,593 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3) +2025-08-21 20:48:52,593 [INFO] PluginManage:310 - Check plugin thirdparty +2025-08-21 20:48:52,646 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1) +2025-08-21 20:48:52,646 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check] +2025-08-21 20:48:52,646 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check] +2025-08-21 20:48:52,646 [INFO] PluginManage:310 - Check plugin tools +2025-08-21 20:48:52,647 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15] +2025-08-21 20:48:52,648 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7) +2025-08-21 20:48:52,648 [INFO] PluginManage:310 - Check plugin tutovideos +2025-08-21 20:48:52,753 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1) +2025-08-21 20:48:52,753 [INFO] PluginManage:310 - Check plugin updater +2025-08-21 20:48:52,766 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12) +2025-08-21 20:48:52,766 [INFO] PluginManage:310 - Check plugin userauth +2025-08-21 20:48:52,768 [INFO] UserAuth:118 - Init User Auth plugin +2025-08-21 20:48:52,768 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14) +2025-08-21 20:48:52,769 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18] +2025-08-21 20:48:52,856 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration) +2025-08-21 20:48:52,896 [INFO] CADModel:165 - CPN selected for project level +2025-08-21 20:48:52,896 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 20:48:52,908 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,908 [INFO] PluginManager:220 - loadIPPluginJar : add adc +2025-08-21 20:48:52,909 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,909 [INFO] PluginManager:220 - loadIPPluginJar : add aes +2025-08-21 20:48:52,910 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,910 [INFO] PluginManager:220 - loadIPPluginJar : add can +2025-08-21 20:48:52,911 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,911 [INFO] PluginManager:220 - loadIPPluginJar : add comp +2025-08-21 20:48:52,911 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,911 [INFO] PluginManager:220 - loadIPPluginJar : add cryp +2025-08-21 20:48:52,913 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,913 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy +2025-08-21 20:48:52,914 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,914 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm +2025-08-21 20:48:52,917 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,917 [INFO] PluginManager:220 - loadIPPluginJar : add dma +2025-08-21 20:48:52,918 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,918 [INFO] PluginManager:220 - loadIPPluginJar : add dma3 +2025-08-21 20:48:52,919 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,919 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager +2025-08-21 20:48:52,920 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,920 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs +2025-08-21 20:48:52,922 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,922 [INFO] PluginManager:220 - loadIPPluginJar : add fmc +2025-08-21 20:48:52,925 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,926 [INFO] PluginManager:220 - loadIPPluginJar : add freertos +2025-08-21 20:48:52,927 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,927 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin +2025-08-21 20:48:52,928 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,928 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu +2025-08-21 20:48:52,930 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,931 [INFO] PluginManager:220 - loadIPPluginJar : add gic +2025-08-21 20:48:52,933 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,933 [INFO] PluginManager:220 - loadIPPluginJar : add gpio +2025-08-21 20:48:52,934 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,934 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc +2025-08-21 20:48:52,936 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,936 [INFO] PluginManager:220 - loadIPPluginJar : add hash +2025-08-21 20:48:52,937 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,937 [INFO] PluginManager:220 - loadIPPluginJar : add i2c +2025-08-21 20:48:52,938 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,938 [INFO] PluginManager:220 - loadIPPluginJar : add i2s +2025-08-21 20:48:52,939 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,939 [INFO] PluginManager:220 - loadIPPluginJar : add i3c +2025-08-21 20:48:52,941 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,941 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr +2025-08-21 20:48:52,945 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,945 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist +2025-08-21 20:48:52,947 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,947 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan +2025-08-21 20:48:52,948 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,948 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc +2025-08-21 20:48:52,950 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,951 [INFO] PluginManager:220 - loadIPPluginJar : add mdma +2025-08-21 20:48:52,952 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,953 [INFO] PluginManager:220 - loadIPPluginJar : add nvic +2025-08-21 20:48:52,954 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,954 [INFO] PluginManager:220 - loadIPPluginJar : add opamp +2025-08-21 20:48:52,955 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,955 [INFO] PluginManager:220 - loadIPPluginJar : add openamp +2025-08-21 20:48:52,956 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,956 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm +2025-08-21 20:48:52,959 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,960 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings +2025-08-21 20:48:52,960 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,961 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi +2025-08-21 20:48:52,961 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,962 [INFO] PluginManager:220 - loadIPPluginJar : add radio +2025-08-21 20:48:52,963 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,963 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility +2025-08-21 20:48:52,964 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,964 [INFO] PluginManager:220 - loadIPPluginJar : add sai +2025-08-21 20:48:52,965 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,965 [INFO] PluginManager:220 - loadIPPluginJar : add spi +2025-08-21 20:48:52,967 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,967 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan +2025-08-21 20:48:52,968 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,968 [INFO] PluginManager:220 - loadIPPluginJar : add tim +2025-08-21 20:48:52,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,970 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing +2025-08-21 20:48:52,970 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,970 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb +2025-08-21 20:48:52,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,971 [INFO] PluginManager:220 - loadIPPluginJar : add ts +2025-08-21 20:48:52,971 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,972 [INFO] PluginManager:220 - loadIPPluginJar : add tsc +2025-08-21 20:48:52,972 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,972 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd +2025-08-21 20:48:52,973 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,973 [INFO] PluginManager:220 - loadIPPluginJar : add usart +2025-08-21 20:48:52,975 [INFO] IPUIPlugin:80 - create IPUIPlugin +2025-08-21 20:48:52,975 [INFO] PluginManager:220 - loadIPPluginJar : add usbx +2025-08-21 20:48:53,060 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,072 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-08-21 20:48:53,078 [INFO] RulesReader:64 - Compatibility file has been processed (317 Rules) +2025-08-21 20:48:53,082 [INFO] CADModel:165 - CPN selected for project level +2025-08-21 20:48:53,082 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 20:48:53,082 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,082 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-08-21 20:48:53,152 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,153 [INFO] CADModel:165 - CPN selected for project level +2025-08-21 20:48:53,153 [INFO] CADModel:114 - Register for checkConnection events +2025-08-21 20:48:53,153 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,153 [ERROR] CADModel:125 - Updater not yet initialized, retry later +2025-08-21 20:48:53,155 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,211 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,213 [INFO] DbMcusAds:53 - JSON generation date=Tue Jul 08 01:14:23 PDT 2025 (1751962463582) +2025-08-21 20:48:53,214 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,229 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-08-21 20:48:53,267 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,268 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,268 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,268 [WARN] DetailPanel:346 - Failed to get advertising image, set to default +2025-08-21 20:48:53,269 [FATAL] Updater:351 - Updater called before beeing initialized +2025-08-21 20:48:53,283 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set. +2025-08-21 20:48:53,283 [INFO] Updater:1134 - Updater Version found : 6.15.0 +2025-08-21 20:48:53,291 [INFO] ApplicationProperties:184 - Using Application install path: /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659 +2025-08-21 20:48:53,521 [INFO] MainUpdater:2872 - connection check result : 10 +2025-08-21 20:48:53,522 [INFO] MainUpdater:289 - Updater Check For Update Now. +2025-08-21 20:48:53,522 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.150 +2025-08-21 20:48:53,523 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated) +2025-08-21 20:48:53,523 [INFO] UserAuth:171 - activating auth plugin +2025-08-21 20:48:53,525 [INFO] UserAuth:487 - Internet connection configuration mode: 1 +2025-08-21 20:48:53,533 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder +2025-08-21 20:48:53,662 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread +2025-08-21 20:48:53,836 [INFO] WebApp:169 - Instantiating new browser for Auth +2025-08-21 20:48:54,125 [INFO] WebApp:463 - Apply proxy settings +2025-08-21 20:48:54,125 [INFO] WebApp:548 - Chromium requires no authentication +2025-08-21 20:48:54,129 [INFO] WebApp:491 - Direct internet connection detected +2025-08-21 20:48:54,143 [INFO] WebApp:900 - Register for checkConnection events +2025-08-21 20:48:54,143 [INFO] WebApp:463 - Apply proxy settings +2025-08-21 20:48:54,143 [INFO] WebApp:548 - Chromium requires no authentication +2025-08-21 20:48:54,144 [INFO] WebApp:491 - Direct internet connection detected +2025-08-21 20:48:54,204 [INFO] WebApp:225 - Starting web application +2025-08-21 20:48:54,204 [INFO] WebApp:593 - Web application path used /home/kymkim/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.common.mx_6.15.0.202507011659/db/plugins/mcufinder/reactClient1/index.html +2025-08-21 20:48:54,386 [INFO] WebApp:191 - Connection restablished +2025-08-21 20:48:55,716 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENVWB1.1.4.0 +2025-08-21 20:48:55,720 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-ASTRA1.2.0.2 +2025-08-21 20:48:55,723 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SMBUS.2.1.0 +2025-08-21 20:48:55,726 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST60.1.0.0 +2025-08-21 20:48:55,745 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F7.1.1.0 +2025-08-21 20:48:55,759 [WARN] PackLoader:240 - Cannot read IP mode file for Infineon.AIROC-Wi-Fi-Bluetooth-STM32.1.7.1 +2025-08-21 20:48:55,775 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7.3.4.0 +2025-08-21 20:48:55,780 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DISPLAY.3.0.0 +2025-08-21 20:48:55,788 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC10.1.0.0 +2025-08-21 20:48:55,793 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.0.0 +2025-08-21 20:48:55,797 [WARN] PackLoader:240 - Cannot read IP mode file for emotas.I-CUBE-CANOPEN.1.3.0 +2025-08-21 20:48:55,799 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : Cortex-A Device cause : null +2025-08-21 20:48:55,806 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-08-21 20:48:55,806 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-08-21 20:48:55,806 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : Cortex-A Device cause : null +2025-08-21 20:48:55,810 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.1.0 +2025-08-21 20:48:55,813 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-SMARTAG2.1.2.0 +2025-08-21 20:48:55,815 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-FLIGHT1.5.1.0 +2025-08-21 20:48:55,819 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 20:48:55,820 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 20:48:55,820 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 20:48:55,820 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 20:48:55,820 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 1 : Invalid condition id : UX_CORESTACK_Condition cause : null +2025-08-21 20:48:55,822 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WL.2.0.0 +2025-08-21 20:48:55,824 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-MOTENV1.5.0.0 +2025-08-21 20:48:55,828 [WARN] PackLoader:240 - Cannot read IP mode file for WES.I-CUBE-Cesium.1.3.0 +2025-08-21 20:48:55,831 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE2.3.3.0 +2025-08-21 20:48:55,834 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC9.1.0.0 +2025-08-21 20:48:55,837 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSL.5.8.0 +2025-08-21 20:48:55,839 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLE1.7.1.0 +2025-08-21 20:48:55,842 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfMQTT.1.19.2 +2025-08-21 20:48:55,844 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-EEPRMA1.5.2.0 +2025-08-21 20:48:55,847 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.1.0 +2025-08-21 20:48:55,853 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G0.1.1.0 +2025-08-21 20:48:55,857 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SAFEA1.1.2.2 +2025-08-21 20:48:55,860 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC4.3.0.0 +2025-08-21 20:48:55,867 [WARN] PackLoader:240 - Cannot read IP mode file for EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1 +2025-08-21 20:48:55,872 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-WB05N.2.0.0 +2025-08-21 20:48:55,874 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfTPM.3.8.0 +2025-08-21 20:48:55,878 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TCPP.4.2.0 +2025-08-21 20:48:55,881 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-ATR-SIGFOX1.3.2.0 +2025-08-21 20:48:55,884 [WARN] PackLoader:240 - Cannot read IP mode file for ITTIA_DB.I-CUBE-ITTIADB.8.9.0 +2025-08-21 20:48:55,888 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ST67W61.1.0.0 +2025-08-21 20:48:55,891 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AI.10.2.0 +2025-08-21 20:48:55,903 [WARN] PackLoader:240 - Cannot read IP mode file for SEGGER.I-CUBE-embOS.1.3.1 +2025-08-21 20:48:55,942 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALGOBUILD.1.4.0 +2025-08-21 20:48:55,963 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-MEMS1.11.3.0 +2025-08-21 20:48:56,023 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-PM33A1.1.0.0 +2025-08-21 20:48:56,030 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-F4.1.1.0 +2025-08-21 20:48:56,032 [WARN] PackLoader:240 - Cannot read IP mode file for Avnet-IotConnect.X-CUBE-IoTC-DA16k-PMOD.1.0.0 +2025-08-21 20:48:56,034 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ISPU.2.1.0 +2025-08-21 20:48:56,037 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC12.1.0.0 +2025-08-21 20:48:56,044 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L5.2.0.0 +2025-08-21 20:48:56,049 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC6.3.1.0 +2025-08-21 20:48:56,052 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-FREERTOS.1.3.1 +2025-08-21 20:48:56,054 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STAIOTCFT.1.0.0 +2025-08-21 20:48:56,056 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-DPower.1.3.0 +2025-08-21 20:48:56,063 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 20:48:56,063 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-L4.2.0.0 +2025-08-21 20:48:56,064 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 20:48:56,064 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 20:48:56,065 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : LAN8742 Phy interface Condition cause : null +2025-08-21 20:48:56,068 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SFXS2LP1.4.0.0 +2025-08-21 20:48:56,072 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-BLEMGR.4.1.0 +2025-08-21 20:48:56,079 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 20:48:56,079 [WARN] ConditionMgr:438 - getConditionDescription Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 20:48:56,080 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-WB.2.0.0 +2025-08-21 20:48:56,080 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 20:48:56,080 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 20:48:56,081 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 20:48:56,081 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 20:48:56,081 [WARN] ConditionMgr:1044 - genDependencies : Invalid condition id : UX DEVICE CLASS RTOS Condition cause : null +2025-08-21 20:48:56,083 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-GNSS1.7.0.1 +2025-08-21 20:48:56,086 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +2025-08-21 20:48:56,089 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.FP-SNS-STBOX1.2.0.0 +2025-08-21 20:48:56,094 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-SUBG2.5.0.0 +2025-08-21 20:48:56,107 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-H7RS.1.1.0 +2025-08-21 20:48:56,110 [WARN] PackLoader:240 - Cannot read IP mode file for Cesanta.I-CUBE-Mongoose.7.13.0 +2025-08-21 20:48:56,115 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-AZRTOS-G4.2.0.0 +2025-08-21 20:48:56,118 [WARN] PackLoader:240 - Cannot read IP mode file for wolfSSL.I-CUBE-wolfSSH.1.4.20 +2025-08-21 20:48:56,120 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-NFC7.2.0.0 +2025-08-21 20:48:56,124 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-IPS.3.1.0 +2025-08-21 20:48:56,128 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-ALS.1.0.2 +2025-08-21 20:48:56,131 [WARN] PackLoader:240 - Cannot read IP mode file for portGmbH.I-Cube-SoM-uGOAL.1.1.0 +2025-08-21 20:48:56,135 [WARN] PackLoader:240 - Cannot read IP mode file for STMicroelectronics.X-CUBE-TOF1.3.4.3 +2025-08-21 20:48:56,139 [INFO] ThirdParty:978 - Integrity check success = true +2025-08-21 20:48:56,140 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check] +2025-08-21 20:48:56,140 [INFO] IntegrityCheckThread:103 - End integrity checks thread +2025-08-21 21:01:58,779 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] diff --git a/firmware/numpad/.metadata/.log b/firmware/numpad/.metadata/.log index 29142269..4864fc12 100644 --- a/firmware/numpad/.metadata/.log +++ b/firmware/numpad/.metadata/.log @@ -1,52 +1,72 @@ -!SESSION 2025-08-19 20:04:19.185 ----------------------------------------------- +!SESSION 2025-08-21 19:50:27.184 ----------------------------------------------- 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-08-19 20:04:56.469 +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-08-21 19:51:02.898 !MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. -!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-08-19 20:04:56.469 +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-08-21 19:51:02.899 !MESSAGE Log4j2 initialized with config file /home/kymkim/Projects/modular-kbd/firmware/numpad/.metadata/.log4j2.xml -!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-08-19 20:04:58.408 +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-08-21 19:51:04.551 !MESSAGE Started RMI Server, listening on port 41337 -!ENTRY com.st.stm32cube.ide.mcu.ide 4 0 2025-08-19 20:06:04.529 -!MESSAGE STM32CubeMx project generation failure +!ENTRY org.eclipse.cdt.core 1 0 2025-08-21 19:52:11.836 +!MESSAGE Indexed 'numpad' (32 sources, 135 headers) in 2.3 sec: 14,343 declarations; 71,105 references; 1 unresolved inclusions; 92 syntax errors; 240 unresolved names (0.28%) -!ENTRY org.eclipse.cdt.core 1 0 2025-08-19 20:10:33.479 -!MESSAGE Indexed 'numpad' (32 sources, 98 headers) in 1.75 sec: 7,675 declarations; 48,468 references; 0 unresolved inclusions; 1 syntax errors; 2 unresolved names (0.0036%) +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.886 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). -!ENTRY org.eclipse.ui 4 0 2025-08-19 20:13:30.877 -!MESSAGE Unhandled event loop exception +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.886 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). !STACK 0 -java.lang.NullPointerException: Cannot invoke "org.eclipse.ui.IWorkbenchWindow.getShell()" because the return value of "org.eclipse.ui.IWorkbench.getActiveWorkbenchWindow()" is null - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment.getShell(AwtEnvironment.java:281) - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.SwtInputBlocker.block(SwtInputBlocker.java:98) - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment.invokeAwt(AwtEnvironment.java:179) - at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite$3.widgetDisposed(EmbeddedSwingComposite.java:244) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:140) +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1643) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1622) - at org.eclipse.swt.widgets.Widget.release(Widget.java:1394) - at org.eclipse.swt.widgets.Control.release(Control.java:4753) - at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1560) - at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:279) - at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:503) - at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:3435) - at org.eclipse.swt.widgets.Widget.release(Widget.java:1401) - at org.eclipse.swt.widgets.Control.release(Control.java:4753) - at org.eclipse.swt.widgets.Widget.dispose(Widget.java:575) - at org.eclipse.swt.widgets.Shell.dispose(Shell.java:3352) - at org.eclipse.swt.widgets.Display.release(Display.java:4573) - at org.eclipse.swt.graphics.Device.dispose(Device.java:276) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:168) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) @@ -58,63 +78,2251 @@ java.lang.NullPointerException: Cannot invoke "org.eclipse.ui.IWorkbenchWindow.g at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) at org.eclipse.equinox.launcher.Main.run(Main.java:1481) at org.eclipse.equinox.launcher.Main.main(Main.java:1454) -!SESSION 2025-08-19 20:13:31.577 ----------------------------------------------- + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.889 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.889 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.949 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.949 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.951 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:25.951 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.395 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.396 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.399 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.399 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.917 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.917 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.919 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.920 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.988 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.989 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.990 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:22:28.990 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:03.455 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:03.455 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:03.457 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:03.457 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:10.893 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:10.893 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:10.894 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:10.894 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.599 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.599 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.601 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.601 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.769 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.769 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.771 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:11.771 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.523 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.523 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.525 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.525 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.612 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.612 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.613 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:24:14.613 +!MESSAGE Transfer aborted, too many resources: 594112099. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:14.956 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:14.957 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:14.960 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:14.960 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.889 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.890 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.893 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.893 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.964 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.965 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.966 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:15.967 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.334 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.335 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.338 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.338 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.437 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.437 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.439 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:17.439 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.776 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.776 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.778 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.778 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager.selectionChanged(CommonNavigatorManager.java:220) + at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) + at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) + at org.eclipse.jface.viewers.ColumnViewer.updateSelection(ColumnViewer.java:1055) + at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) + at org.eclipse.ui.navigator.CommonViewer.handleSelect(CommonViewer.java:463) + at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1199) + at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:262) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:420) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.896 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.896 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.fillActionBars(CNavigatorEditActionGroup.java:100) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.fillActionBars(CNavigatorEditActionProvider.java:74) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.898 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:42:18.898 +!MESSAGE Transfer aborted, too many resources: 1651470188. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.cdt.internal.ui.cview.PasteAction.lambda$0(PasteAction.java:180) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.cdt.internal.ui.cview.PasteAction.updateSelection(PasteAction.java:177) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionGroup.updateActionBars(CNavigatorEditActionGroup.java:134) + at org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider.updateActionBars(CNavigatorEditActionProvider.java:113) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:183) + at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) + at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:799) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) + at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:796) + at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1110) + at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) + at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:295) + at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:330) + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) + at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855) + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617) + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) +!SESSION 2025-08-21 20:48:42.359 ----------------------------------------------- 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-08-19 20:13:36.071 +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-08-21 20:48:48.890 !MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. -!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-08-19 20:13:36.071 +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-08-21 20:48:48.890 !MESSAGE Log4j2 initialized with config file /home/kymkim/Projects/modular-kbd/firmware/numpad/.metadata/.log4j2.xml -!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-08-19 20:13:38.659 -!MESSAGE Started RMI Server, listening on port 41337 -!SESSION 2025-08-19 20:15:24.955 ----------------------------------------------- -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-08-19 20:15:28.501 -!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. - -!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-08-19 20:15:28.501 -!MESSAGE Log4j2 initialized with config file /home/kymkim/Projects/modular-kbd/firmware/numpad/.metadata/.log4j2.xml - -!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-08-19 20:15:31.129 -!MESSAGE Started RMI Server, listening on port 41337 -!SESSION 2025-08-19 20:17:17.529 ----------------------------------------------- -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-08-19 20:17:20.911 -!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. - -!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-08-19 20:17:20.911 -!MESSAGE Log4j2 initialized with config file /home/kymkim/Projects/modular-kbd/firmware/numpad/.metadata/.log4j2.xml - -!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-08-19 20:17:23.614 -!MESSAGE Started RMI Server, listening on port 41337 -!SESSION 2025-08-19 20:18:44.096 ----------------------------------------------- -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-08-19 20:18:48.644 -!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. - -!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-08-19 20:18:48.645 -!MESSAGE Log4j2 initialized with config file /home/kymkim/Projects/modular-kbd/firmware/numpad/.metadata/.log4j2.xml - -!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-08-19 20:18:51.387 +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:48:51.440 +!MESSAGE Transfer aborted, too many resources: 791617619. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:48:51.440 +!MESSAGE Transfer aborted, too many resources: 791617619. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.ui.internal.navigator.resources.actions.PasteAction.lambda$0(PasteAction.java:216) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.ui.internal.navigator.resources.actions.PasteAction.updateSelection(PasteAction.java:213) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.ui.internal.navigator.resources.actions.EditActionGroup.updateActionBars(EditActionGroup.java:144) + at org.eclipse.ui.internal.navigator.resources.actions.EditActionGroup.fillActionBars(EditActionGroup.java:96) + at org.eclipse.ui.internal.navigator.resources.actions.EditActionProvider.fillActionBars(EditActionProvider.java:46) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:263) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:88) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:82) + at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:148) + at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) + at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) + at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:5040) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4520) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:48:51.441 +!MESSAGE Transfer aborted, too many resources: 791617619. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). + +!ENTRY org.eclipse.ui.ide 4 4 2025-08-21 20:48:51.441 +!MESSAGE Transfer aborted, too many resources: 791617619. +If you are running in x11vnc environment please consider to switch to vncserver + vncviewer or to run x11vnc without clipboard support (use '-noclipboard' and '-nosetclipboard' arguments). +!STACK 0 +java.lang.IllegalArgumentException: Maximum limit of resources to transfer is: 1000000 + at org.eclipse.ui.part.ResourceTransfer.nativeToJava(ResourceTransfer.java:176) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:318) + at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:246) + at org.eclipse.ui.internal.navigator.resources.actions.PasteAction.lambda$0(PasteAction.java:216) + at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183) + at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133) + at org.eclipse.swt.widgets.Display.syncExec(Display.java:5960) + at org.eclipse.ui.internal.navigator.resources.actions.PasteAction.updateSelection(PasteAction.java:213) + at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:128) + at org.eclipse.ui.internal.navigator.resources.actions.EditActionGroup.updateActionBars(EditActionGroup.java:144) + at org.eclipse.ui.internal.navigator.resources.actions.EditActionProvider.updateActionBars(EditActionProvider.java:61) + at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:264) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:257) + at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:88) + at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) + at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:82) + at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:148) + at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) + at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) + at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:5040) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4520) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) + at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) + at org.eclipse.equinox.launcher.Main.run(Main.java:1481) + at org.eclipse.equinox.launcher.Main.main(Main.java:1454) + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-08-21 20:48:51.997 !MESSAGE Started RMI Server, listening on port 41337 diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/.log b/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/.log index f268314c..88444c09 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/.log +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/.log @@ -1,5 +1,2 @@ -*** SESSION Aug 19, 2025 20:04:55.210 ------------------------------------------ -*** SESSION Aug 19, 2025 20:13:35.515 ------------------------------------------ -*** SESSION Aug 19, 2025 20:15:27.915 ------------------------------------------ -*** SESSION Aug 19, 2025 20:17:20.333 ------------------------------------------ -*** SESSION Aug 19, 2025 20:18:47.971 ------------------------------------------ +*** SESSION Aug 21, 2025 19:51:01.544 ------------------------------------------ +*** SESSION Aug 21, 2025 20:48:48.237 ------------------------------------------ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/numpad.1755659430593.pdom b/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/numpad.1755831129515.pdom similarity index 51% rename from firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/numpad.1755659430593.pdom rename to firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/numpad.1755831129515.pdom index 674a452f..841cc178 100644 Binary files a/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/numpad.1755659430593.pdom and b/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.core/numpad.1755831129515.pdom differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml b/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml index 8e479579..af389b1d 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml @@ -1,7 +1,23 @@
+ +
+
+ + + + + +
+
+ + + + + +
diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/11/c02a1180087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/11/c02a1180087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..27571ebc --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/11/c02a1180087f00101e07bf679ab1b2d4 @@ -0,0 +1,489 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/13/a0456541077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/13/a0456541077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..52fc2559 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/13/a0456541077f00101e07bf679ab1b2d4 @@ -0,0 +1,13 @@ +/* + * uart_forwarder.h + * + * Created on: Aug 21, 2025 + * Author: kymkim + */ + +#ifndef INC_UART_FORWARDER_H_ +#define INC_UART_FORWARDER_H_ + + + +#endif /* INC_UART_FORWARDER_H_ */ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/14/f0ac760c0a7f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/14/f0ac760c0a7f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..45a00100 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/14/f0ac760c0a7f00101e07bf679ab1b2d4 @@ -0,0 +1,507 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % QUEUE_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], packet, PACKET_SIZE); + q_head = next; + return true; +} + +bool DMA_BufferPop(uint8_t *pkt) { + if (q_head == q_tail) return false; // empty + memcpy(packet, tx_queue[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % QUEUE_SIZE; + return true; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/15/e00aa777077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/15/e00aa777077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..5bc7e6de --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/15/e00aa777077f00101e07bf679ab1b2d4 @@ -0,0 +1,9 @@ +/* + * uart_forwarder.c + * + * Created on: Aug 21, 2025 + * Author: Oliver Cabral + */ + + + diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/1e/206d8603097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/1e/206d8603097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..87a4f720 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/1e/206d8603097f00101e07bf679ab1b2d4 @@ -0,0 +1,501 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +static Packet DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/20/002c95d3087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/20/002c95d3087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..bb4b4c76 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/20/002c95d3087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +static Packet DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t packet){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/2c/b095a677077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/2c/b095a677077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..86859528 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/2c/b095a677077f00101e07bf679ab1b2d4 @@ -0,0 +1,17 @@ +/* + * uart_forwarder.h + * + * Created on: Aug 21, 2025 + * Author: Oliver Cabral + */ + +#ifndef INC_UART_FORWARDER_H_ +#define INC_UART_FORWARDER_H_ + +#include "stm32f4xx_hal.h" +#include +#include + + + +#endif /* INC_UART_FORWARDER_H_ */ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/33/6061a377077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/33/6061a377077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..7b69aa6c --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/33/6061a377077f00101e07bf679ab1b2d4 @@ -0,0 +1,8 @@ +/* + * uart_forwarder.c + * + * Created on: Aug 21, 2025 + * Author: kymkim + */ + + diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/34/60840c5d097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/34/60840c5d097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..8d43ce4e --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/34/60840c5d097f00101e07bf679ab1b2d4 @@ -0,0 +1,502 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][PACKET_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; //Queue is full + DMA_QUEUE[q_head] = *pkt; + q_head = next; + return true; +} + +static bool queue_pop + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/38/e08162be0b7f00101ec0ac76289a9be0 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/38/e08162be0b7f00101ec0ac76289a9be0 new file mode 100644 index 00000000..a2249f72 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/38/e08162be0b7f00101ec0ac76289a9be0 @@ -0,0 +1,511 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +static uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % QUEUE_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], packet, PACKET_SIZE); + q_head = next; + return true; +} + +bool DMA_BufferPop(uint8_t *pkt) { + if (q_head == q_tail) return false; // empty + memcpy(packet, DMA_QBUFFER[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % DMA_QBUFFER_SIZE; + return true; +} + +void DMA_TrySend(void){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/45/10aa54bf0b7f00101ec0ac76289a9be0 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/45/10aa54bf0b7f00101ec0ac76289a9be0 new file mode 100644 index 00000000..d659d7f0 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/45/10aa54bf0b7f00101ec0ac76289a9be0 @@ -0,0 +1,519 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define PACKET_SIZE 4 +#define DMA_QBUFFER_SIZE 64 + +static uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][PACKET_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; // your parent UART +static bool PARENT_BUSY = false; +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool DMA_BufferPush(uint8_t *packet); + +bool DMA_BufferPop(uint8_t *packet); + +void DMA_TrySend(void); + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +//UART Forwarder Functions +bool DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % DMA_QBUFFER_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], packet, PACKET_SIZE); + q_head = next; + return true; +} + + +bool DMA_BufferPop(uint8_t *packet) { + if (q_head == q_tail) return false; // empty + memcpy(packet, DMA_QBUFFER[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % DMA_QBUFFER_SIZE; + return true; +} + +void DMA_TrySend(void){ + uint8_t pkt[PACKET_SIZE]; + if (!PARENT_BUSY && DMA_BufferPop(pkt)) { + PARENT_BUSY = true; + HAL_UART_Transmit_DMA(&PARENT, pkt, PACKET_SIZE); + } +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/47/00625f19097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/47/00625f19097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..d670db40 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/47/00625f19097f00101e07bf679ab1b2d4 @@ -0,0 +1,503 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +static Packet DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; //Queue is full + DMA_QUEUE[q_head] = *pkt; + q_head = next; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/4c/8079cadd0a7f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/4c/8079cadd0a7f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..0e2cd684 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/4c/8079cadd0a7f00101e07bf679ab1b2d4 @@ -0,0 +1,507 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +static uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % QUEUE_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], packet, PACKET_SIZE); + q_head = next; + return true; +} + +bool DMA_BufferPop(uint8_t *pkt) { + if (q_head == q_tail) return false; // empty + memcpy(packet, DMA_QBUFFER[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % DMA_QBUFFER_SIZE; + return true; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/52/d01e62ae077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/52/d01e62ae077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..fea63d57 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/52/d01e62ae077f00101e07bf679ab1b2d4 @@ -0,0 +1,483 @@ +/* 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 "usb_device.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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/57/30715985097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/57/30715985097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..48b98cb5 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/57/30715985097f00101e07bf679ab1b2d4 @@ -0,0 +1,502 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; //Queue is full + DMA_QUEUE[q_head] = *pkt; + q_head = next; + return true; +} + +static bool queue_pop + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/606a4f27077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/606a4f27077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..e69de29b diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/607d5df1077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/607d5df1077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..b7c746ed --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/607d5df1077f00101e07bf679ab1b2d4 @@ -0,0 +1,487 @@ +/* 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 "usb_device.h" +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; +static bool PARENT_BUSY = false; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/71/a01ebe020a7f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/71/a01ebe020a7f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..9d6f1987 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/71/a01ebe020a7f00101e07bf679ab1b2d4 @@ -0,0 +1,507 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % QUEUE_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], pkt, PACKET_SIZE); + q_head = next; + return true; +} + +bool DMA_BufferPop(uint8_t *pkt) { + if (q_head == q_tail) return false; // empty + memcpy(pkt, tx_queue[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % QUEUE_SIZE; + return true; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/76/605bd7a7087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/76/605bd7a7087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..52fd1c17 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/76/605bd7a7087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; Keycode +}; + +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t packet){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/7c/20a8cee4087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/7c/20a8cee4087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..7a110edc --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/7c/20a8cee4087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +static Packet DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/7e/60f6c203087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/7e/60f6c203087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..5aa8023f --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/7e/60f6c203087f00101e07bf679ab1b2d4 @@ -0,0 +1,487 @@ +/* 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 "usb_device.h" +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; +static bool PARENT_BUSY = false; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8/904d5c98077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8/904d5c98077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..aef649ff --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8/904d5c98077f00101e07bf679ab1b2d4 @@ -0,0 +1,482 @@ +/* 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 "usb_device.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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8b/20064d3b737d001010b0918e8041e71d b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8b/20064d3b737d001010b0918e8041e71d deleted file mode 100644 index eeb8a7b0..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8b/20064d3b737d001010b0918e8041e71d +++ /dev/null @@ -1,3 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=995AAB8BA274295E2F8F7F317CB52865 -DC22A860405A8BF2F2C095E5B6529F12=CFE0804C550E33C5B9DAB17F678FB68D -eclipse.preferences.version=1 diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8f/800ff0b5087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8f/800ff0b5087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..c6560a6e --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/8f/800ff0b5087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +uint8_t Packet DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t packet){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/9/b066e1e8077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/9/b066e1e8077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..375814f4 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/9/b066e1e8077f00101e07bf679ab1b2d4 @@ -0,0 +1,485 @@ +/* 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 "usb_device.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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/90/406b32b2087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/90/406b32b2087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..e7986e27 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/90/406b32b2087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t packet){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/93/903c4b83077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/93/903c4b83077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..999480a9 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/93/903c4b83077f00101e07bf679ab1b2d4 @@ -0,0 +1,484 @@ +/* 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 "usb_device.h" +#include "uart_forwarder.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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_BUFFER_QUEUE_SIZE 64 + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/96/a0da0ea50a7f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/96/a0da0ea50a7f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..597eb46e --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/96/a0da0ea50a7f00101e07bf679ab1b2d4 @@ -0,0 +1,507 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % QUEUE_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], packet, PACKET_SIZE); + q_head = next; + return true; +} + +bool DMA_BufferPop(uint8_t *pkt) { + if (q_head == q_tail) return false; // empty + memcpy(packet, DMA_QBUFFER[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % DMA_QBUFFER_SIZE; + return true; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/98/20b13b5a097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/98/20b13b5a097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..17c430aa --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/98/20b13b5a097f00101e07bf679ab1b2d4 @@ -0,0 +1,502 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[QUEUE_SIZE][PACKET_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; //Queue is full + DMA_QUEUE[q_head] = *pkt; + q_head = next; + return true; +} + +static bool queue_pop + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/99/309fc1a9087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/99/309fc1a9087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..9e273bfa --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/99/309fc1a9087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; Keycode; +}; + +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t packet){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/9d/60fcc2ee077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/9d/60fcc2ee077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..980af89b --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/9d/60fcc2ee077f00101e07bf679ab1b2d4 @@ -0,0 +1,486 @@ +/* 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 "usb_device.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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; +static bool PARENT_BUSY = false; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/60e38d2c747d00101eb7b9ecd3591df1 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/a4/202fee30077f00101e07bf679ab1b2d4 similarity index 80% rename from firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/60e38d2c747d00101eb7b9ecd3591df1 rename to firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/a4/202fee30077f00101e07bf679ab1b2d4 index ec16ce94..71da4950 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/6e/60e38d2c747d00101eb7b9ecd3591df1 +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/a4/202fee30077f00101e07bf679ab1b2d4 @@ -32,6 +32,11 @@ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + /* USER CODE END PD */ @@ -47,6 +52,14 @@ UART_HandleTypeDef huart1; UART_HandleTypeDef huart2; UART_HandleTypeDef huart3; UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; /* USER CODE BEGIN PV */ @@ -55,6 +68,7 @@ UART_HandleTypeDef huart6; /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); static void MX_I2C1_Init(void); static void MX_USART1_UART_Init(void); static void MX_USART2_UART_Init(void); @@ -98,6 +112,7 @@ int main(void) /* Initialize all configured peripherals */ MX_GPIO_Init(); + MX_DMA_Init(); MX_I2C1_Init(); MX_USART1_UART_Init(); MX_USART2_UART_Init(); @@ -332,6 +347,44 @@ static void MX_USART6_UART_Init(void) } +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + /** * @brief GPIO Initialization Function * @param None @@ -340,8 +393,8 @@ static void MX_USART6_UART_Init(void) 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 */ + /* USER CODE BEGIN MX_GPIO_Init_1 */ + /* USER CODE END MX_GPIO_Init_1 */ /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOH_CLK_ENABLE(); @@ -381,12 +434,19 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); -/* USER CODE BEGIN MX_GPIO_Init_2 */ -/* USER CODE END MX_GPIO_Init_2 */ + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ } /* USER CODE BEGIN 4 */ - +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} /* USER CODE END 4 */ /** @@ -403,8 +463,7 @@ void Error_Handler(void) } /* USER CODE END Error_Handler_Debug */ } - -#ifdef USE_FULL_ASSERT +#ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ab/60803332077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ab/60803332077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..87df7ac1 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ab/60803332077f00101e07bf679ab1b2d4 @@ -0,0 +1,484 @@ +/* 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 "usb_device.h" +#include "uart_forwarder" + +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_BUFFER_QUEUE_SIZE 64 + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/af/2059531f077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/af/2059531f077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..e69de29b diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/b9/7025f955097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/b9/7025f955097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..a5e79422 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/b9/7025f955097f00101e07bf679ab1b2d4 @@ -0,0 +1,504 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +static Packet DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; //Queue is full + DMA_QUEUE[q_head] = *pkt; + q_head = next; + return true; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ba/f097363b737d001010b0918e8041e71d b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ba/f097363b737d001010b0918e8041e71d deleted file mode 100644 index 71b8e9b7..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ba/f097363b737d001010b0918e8041e71d +++ /dev/null @@ -1,2 +0,0 @@ -635E684B79701B039C64EA45C3F84D30=995AAB8BA274295E2F8F7F317CB52865 -eclipse.preferences.version=1 diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/c8/a0e8f4ad087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/c8/a0e8f4ad087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..cbe72a1d --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/c8/a0e8f4ad087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +}; + +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t packet){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/cf/4013a377077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/cf/4013a377077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..91176b84 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/cf/4013a377077f00101e07bf679ab1b2d4 @@ -0,0 +1,15 @@ +/* + * uart_forwarder.h + * + * Created on: Aug 21, 2025 + * Author: Oliver Cabral + */ + +#ifndef INC_UART_FORWARDER_H_ +#define INC_UART_FORWARDER_H_ + +#include "stm32f4xx_hal.h" +#include +#include + +#endif /* INC_UART_FORWARDER_H_ */ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/e8/80a91f1f087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/e8/80a91f1f087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..7a469bc2 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/e8/80a91f1f087f00101e07bf679ab1b2d4 @@ -0,0 +1,488 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; +static bool PARENT_BUSY = false; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/e8/f0b000f4077f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/e8/f0b000f4077f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..51503daa --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/e8/f0b000f4077f00101e07bf679ab1b2d4 @@ -0,0 +1,487 @@ +/* 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 "usb_device.h" +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; +static bool PARENT_BUSY = false; + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/eb/80cc10180a7f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/eb/80cc10180a7f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..1c5c83ee --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/eb/80cc10180a7f00101e07bf679ab1b2d4 @@ -0,0 +1,507 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % QUEUE_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], packet, PACKET_SIZE); + q_head = next; + return true; +} + +bool DMA_BufferPop(uint8_t *pkt) { + if (q_head == q_tail) return false; // empty + memcpy(packet, DMA_QBUFFER[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % QUEUE_SIZE; + return true; +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ef/e02a5908097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ef/e02a5908097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..06d3e461 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/ef/e02a5908097f00101e07bf679ab1b2d4 @@ -0,0 +1,503 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4]; //Communication Type; Depth; Unique; KeyCode; +} Packet; + +static Packet DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; //Queue is full + DMA_QUEUE[q_head] = *pkt; + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f3/d0cebf5d097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f3/d0cebf5d097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..a5860ba8 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f3/d0cebf5d097f00101e07bf679ab1b2d4 @@ -0,0 +1,502 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t *packet){ + uint16_t next = (q_head + 1)%DMA_QBUFFER_SIZE; + if(next == q_tail) return false; //Queue is full + DMA_QUEUE[q_head] = *pkt; + q_head = next; + return true; +} + +static bool queue_pop + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f6/704fc3c5097f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f6/704fc3c5097f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..0b9a21cd --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f6/704fc3c5097f00101e07bf679ab1b2d4 @@ -0,0 +1,502 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][4]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % QUEUE_SIZE; + if (next == q_tail) return false; // full + memcpy([q_head], pkt, PACKET_SIZE); + q_head = next; + return true; +} + +static bool queue_pop + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e03a4dc00b7f00101ec0ac76289a9be0 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e03a4dc00b7f00101ec0ac76289a9be0 new file mode 100644 index 00000000..394b040e --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e03a4dc00b7f00101ec0ac76289a9be0 @@ -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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define PACKET_SIZE 4 +#define DMA_QBUFFER_SIZE 64 + +static uint8_t DMA_QBUFFER[DMA_QBUFFER_SIZE][PACKET_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; // your parent UART +static bool PARENT_BUSY = false; +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool DMA_BufferPush(uint8_t *packet); +bool DMA_BufferPop(uint8_t *packet); + +void DMA_TrySend(void); + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +//UART Forwarder Functions +bool DMA_BufferPush(uint8_t *packet){ + uint16_t next = (q_head + 1) % DMA_QBUFFER_SIZE; + if (next == q_tail) return false; // full + memcpy(DMA_QBUFFER[q_head], packet, PACKET_SIZE); + q_head = next; + return true; +} + + +bool DMA_BufferPop(uint8_t *packet) { + if (q_head == q_tail) return false; // empty + memcpy(packet, DMA_QBUFFER[q_tail], PACKET_SIZE); + q_tail = (q_tail + 1) % DMA_QBUFFER_SIZE; + return true; +} + +void DMA_TrySend(void){ + uint8_t pkt[PACKET_SIZE]; + if (!PARENT_BUSY && DMA_BufferPop(pkt)) { + PARENT_BUSY = true; + HAL_UART_Transmit_DMA(&PARENT, pkt, PACKET_SIZE); + } +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/fd/f02735a7087f00101e07bf679ab1b2d4 b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/fd/f02735a7087f00101e07bf679ab1b2d4 new file mode 100644 index 00000000..79bef891 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.history/fd/f02735a7087f00101e07bf679ab1b2d4 @@ -0,0 +1,500 @@ +/* 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 "usb_device.h" +#include +#include +/* 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 */ +#define INACTIVE 0x00 +#define ACTIVE 0x01 +#define MASTER 0x02 +uint8_t MODE = INACTIVE; + +#define DMA_QBUFFER_SIZE 64 + +typedef struct { + uint8_t data[4] +}; + +uint8_t DMA_QUEUE[DMA_QBUFFER_SIZE]; +volatile uint16_t q_head = 0; +volatile uint16_t q_tail = 0; + +UART_HandleTypeDef PARENT; +static bool PARENT_BUSY = false; + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +I2C_HandleTypeDef hi2c1; + +UART_HandleTypeDef huart1; +UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; +DMA_HandleTypeDef hdma_usart2_rx; +DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_DMA_Init(void); +static void MX_I2C1_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_USART2_UART_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); + +//UART Forwarder Functions +bool void UF_DMAPush(uint8_t packet){ + +} + +/* 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_DMA_Init(); + MX_I2C1_Init(); + MX_USART1_UART_Init(); + MX_USART2_UART_Init(); + MX_USB_DEVICE_Init(); + MX_USART3_UART_Init(); + MX_USART6_UART_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* 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_HSE; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 72; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 3; + RCC_OscInitStruct.PLL.PLLR = 2; + 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_HSI; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief I2C1 Initialization Function + * @param None + * @retval None + */ +static void MX_I2C1_Init(void) +{ + + /* USER CODE BEGIN I2C1_Init 0 */ + + /* USER CODE END I2C1_Init 0 */ + + /* USER CODE BEGIN I2C1_Init 1 */ + + /* USER CODE END I2C1_Init 1 */ + hi2c1.Instance = I2C1; + hi2c1.Init.ClockSpeed = 100000; + hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; + hi2c1.Init.OwnAddress1 = 0; + hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hi2c1.Init.OwnAddress2 = 0; + hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + if (HAL_I2C_Init(&hi2c1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN I2C1_Init 2 */ + + /* USER CODE END I2C1_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 */ + +} + +/** + * @brief USART2 Initialization Function + * @param None + * @retval None + */ +static void MX_USART2_UART_Init(void) +{ + + /* USER CODE BEGIN USART2_Init 0 */ + + /* USER CODE END USART2_Init 0 */ + + /* USER CODE BEGIN USART2_Init 1 */ + + /* USER CODE END USART2_Init 1 */ + huart2.Instance = USART2; + huart2.Init.BaudRate = 115200; + huart2.Init.WordLength = UART_WORDLENGTH_8B; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.Mode = UART_MODE_TX_RX; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART2_Init 2 */ + + /* USER CODE END USART2_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) +{ + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart6) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); + /* DMA1_Stream3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); + /* DMA1_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + +} + +/** + * @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_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, COL1_Pin|COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : COL1_Pin COL2_Pin COL3_Pin COL4_Pin */ + GPIO_InitStruct.Pin = COL1_Pin|COL2_Pin|COL3_Pin|COL4_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 : ROW6_Pin ROW5_Pin */ + GPIO_InitStruct.Pin = ROW6_Pin|ROW5_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : ROW4_Pin ROW3_Pin ROW2_Pin ROW1_Pin */ + GPIO_InitStruct.Pin = ROW4_Pin|ROW3_Pin|ROW2_Pin|ROW1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : WDebug_Pin SDebug_Pin EDebug_Pin NDebug_Pin */ + GPIO_InitStruct.Pin = WDebug_Pin|SDebug_Pin|EDebug_Pin|NDebug_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +/** + * @brief Send the following data to the arent + * @param data = the data to be sent + * @retval None + */ +static void Data_Relay(){ + //The data would be consisting of 4 bytes [COMMTYPE][DEPTH][UNIQ][KEYCODE] +} +/* 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/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/af/history.index b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/af/history.index deleted file mode 100644 index 4a20d3a2..00000000 Binary files a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/af/history.index and /dev/null differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/bf/be/history.index b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/bf/be/history.index new file mode 100644 index 00000000..25303742 Binary files /dev/null and b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/bf/be/history.index differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/bf/c4/history.index b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/bf/c4/history.index index 357199d2..c2218f26 100644 Binary files a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/bf/c4/history.index and b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/bf/c4/history.index differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/properties.index b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/properties.index index bef95b35..ba73975f 100644 Binary files a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/properties.index and b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.indexes/properties.index differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.markers b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.markers index 7d054094..640f14a8 100644 Binary files a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.markers and b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.projects/numpad/.markers differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree new file mode 100644 index 00000000..6a30f1ed Binary files /dev/null and b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree deleted file mode 100644 index b52cdc4f..00000000 Binary files a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree and /dev/null differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources index d6e5528f..bd20ae62 100644 Binary files a/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources and b/firmware/numpad/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.st.stm32cube.common.preferences.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.st.stm32cube.common.preferences.prefs index b134f04f..a83012d0 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.st.stm32cube.common.preferences.prefs +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.st.stm32cube.common.preferences.prefs @@ -1,5 +1,7 @@ +DeviceConfigurationTool.AskToSwitchToCPerspectiveOnCodeGeneration=false DeviceConfigurationTool.AskToSwitchToCdtPerspective=false DeviceConfigurationTool.AskToSwitchToCubeMxPerspective=false +DeviceConfigurationTool.SwitchToCPerspectiveOnCodeGeneration=true DeviceConfigurationTool.SwitchToCdtPerspective=true DeviceConfigurationTool.SwitchToCubeMxPerspective=true eclipse.preferences.version=1 diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prj-numpad.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prj-numpad.prefs index 04a9943a..9c00dc4e 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prj-numpad.prefs +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.core.prj-numpad.prefs @@ -1,16 +1,2 @@ eclipse.preferences.version=1 -indexer/indexAllFiles=true -indexer/indexAllHeaderVersions=false -indexer/indexImportLocation=.settings/cdt-index.zip -indexer/indexOnOpen=false -indexer/indexUnusedHeadersWithAlternateLang=false -indexer/indexUnusedHeadersWithDefaultLang=true -indexer/indexerId=org.eclipse.cdt.core.fastIndexer -indexer/preferenceScope=1 -indexer/skipFilesLargerThanMB=8 -indexer/skipImplicitReferences=false -indexer/skipIncludedFilesLargerThanMB=16 -indexer/skipMacroReferences=false -indexer/skipReferences=false -indexer/skipTypeReferences=false -indexer/useHeuristicIncludeResolution=true +indexer/preferenceScope=0 diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs index 93e75bd2..e92d7285 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -1,3 +1,3 @@ eclipse.preferences.version=1 -properties/numpad.null.121601202/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1063894741=com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1063894741\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.331333360\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.306732768\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.327379208\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1063410069\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1880516065\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.10059508\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1759527587\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.2044649145\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1336626651\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.480559623\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1183185426\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.377513948\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1684666165\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.416307520\=rebuildState\\\=true\\n\n +properties/numpad.null.121601202/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1063894741=com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.331333360\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.306732768\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.327379208\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1063410069\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1880516065\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.10059508\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1759527587\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.2044649145\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1336626651\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.480559623\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1183185426\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.377513948\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1684666165\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.416307520\=rebuildState\\\=true\\n\n properties/numpad.null.121601202/com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.717787539=com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1605896333\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1289264154\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.806605704\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1729111212\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.2115798786\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1312692940\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1405107202\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1728360540\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1067238556\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.737418060\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.2026092372\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1461028416\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.527306767\=rebuildState\\\=true\\n\ncom.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1451427286\=rebuildState\\\=true\\n\n diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.css.swt.theme.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.css.swt.theme.prefs deleted file mode 100644 index 77840f22..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.css.swt.theme.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -themeid=org.eclipse.e4.ui.css.theme.e4_dark diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.workbench.renderers.swt.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.workbench.renderers.swt.prefs deleted file mode 100644 index f19f0b96..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.workbench.renderers.swt.prefs +++ /dev/null @@ -1,6 +0,0 @@ -HIDE_ICONS_FOR_VIEW_TABS=false -SHOW_FULL_TEXT_FOR_VIEW_TABS=false -USE_ROUND_TABS=false -eclipse.preferences.version=1 -enableMRU=true -themeEnabled=true diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs deleted file mode 100644 index cec65c49..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.search.defaultPerspective=org.eclipse.search.defaultPerspective.none diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs deleted file mode 100644 index c0805490..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.team.ui.syncview_default_perspective=org.eclipse.team.ui.sync_view_perspective_none diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs deleted file mode 100644 index eff1d890..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs +++ /dev/null @@ -1,2 +0,0 @@ -browsers=\n\n\n -eclipse.preferences.version=1 diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs index 64416fba..4fd1ae85 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs @@ -1,3 +1,4 @@ +EXIT_PROMPT_ON_CLOSE_LAST_WINDOW=false eclipse.preferences.version=1 platformState=765466856673907 quickStart=false diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs index dff677df..f633373b 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs @@ -1,14 +1,6 @@ //org.eclipse.ui.commands/state/com.st.stm32cube.ide.mcu.buildanalyzer.showstate/org.eclipse.ui.commands.radioState=human //org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false eclipse.preferences.version=1 -org.eclipse.ui.r30.org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END=255,255,255 -org.eclipse.ui.r30.org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START=255,255,255 -org.eclipse.ui.r30.org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR=16,16,16 -org.eclipse.ui.r30.org.eclipse.ui.workbench.ACTIVE_TAB_BG_END=255,255,255 -org.eclipse.ui.r30.org.eclipse.ui.workbench.ACTIVE_TAB_BG_START=255,255,255 -org.eclipse.ui.r30.org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR=71,173,214 -org.eclipse.ui.r30.org.eclipse.ui.workbench.INACTIVE_TAB_BG_END=246,245,244 -org.eclipse.ui.r30.org.eclipse.ui.workbench.INACTIVE_TAB_BG_START=246,245,244 org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END=41,41,41 org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START=43,44,45 org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR=204,204,204 diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/firmware/numpad/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index d2d84a6c..70667b58 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,18 +1,18 @@ - - + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration - + - + topLevel - - - + + + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -69,83 +69,77 @@ 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 - - - noFocus - + + + 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 - - General - + + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - - View - categoryTag:General - - + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -163,20 +157,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 + active - - - - - - + + + + + + View categoryTag:Device Configuration Tool @@ -186,1116 +180,1115 @@ - - + + 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 active activeOnClose + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.CEditor + + + + 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 - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - + + 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 - + - - - - - - - - - - - + + + + + + + + + + + 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 @@ -1318,697 +1311,697 @@ SHOW_RESTORE_MENU - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.help.base/browser.log b/firmware/numpad/.metadata/.plugins/org.eclipse.help.base/browser.log deleted file mode 100644 index 73463288..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.help.base/browser.log +++ /dev/null @@ -1,5 +0,0 @@ - -Aug 19, 2025 20:06:54.16 NEW SESSION -Aug 19, 2025 20:06:54.16 which: no mozilla in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl) -Aug 19, 2025 20:06:54.16 which: no firefox in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl) -Aug 19, 2025 20:06:54.16 which: no netscape in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl) diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2025/8/34/refactorings.history b/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2025/8/34/refactorings.history new file mode 100644 index 00000000..ebc5ed3e --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2025/8/34/refactorings.history @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2025/8/34/refactorings.index b/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2025/8/34/refactorings.index new file mode 100644 index 00000000..d4943fa1 --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2025/8/34/refactorings.index @@ -0,0 +1 @@ +1755833049745 Delete 2 resources diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml new file mode 100644 index 00000000..6b5a6dcb --- /dev/null +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml @@ -0,0 +1,12 @@ + +
+
+ + +
+
+ + + +
+
diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.search/dialog_settings.xml b/firmware/numpad/.metadata/.plugins/org.eclipse.search/dialog_settings.xml deleted file mode 100644 index 639b7f0b..00000000 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.search/dialog_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - -
-
- -
-
diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/firmware/numpad/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml index 35be43fa..47934a57 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml @@ -3,4 +3,20 @@
+
+ + + + + + + +
+ + + + + +
+
diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml index 82f207b5..01671a6f 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml @@ -1,10 +1,12 @@
-
- - - - - +
+
+ + + + + +
diff --git a/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml index 7fdb82bf..2945ed59 100644 --- a/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +++ b/firmware/numpad/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/firmware/numpad/.metadata/version.ini b/firmware/numpad/.metadata/version.ini index d31cc5e9..d0dff457 100644 --- a/firmware/numpad/.metadata/version.ini +++ b/firmware/numpad/.metadata/version.ini @@ -1,3 +1,3 @@ -#Tue Aug 19 20:18:47 PDT 2025 +#Thu Aug 21 20:48:46 PDT 2025 org.eclipse.core.runtime=2 org.eclipse.platform=4.33.0.v20240903-0240 diff --git a/firmware/numpad/numpad/.cproject b/firmware/numpad/numpad/.cproject index 30f7c17c..1fb5b288 100644 --- a/firmware/numpad/numpad/.cproject +++ b/firmware/numpad/numpad/.cproject @@ -110,7 +110,7 @@