gerber and software test in main

This commit is contained in:
LeneMarquardt 2025-03-21 15:35:07 +01:00
parent f858ac1e28
commit a1510c1a69
191 changed files with 98281 additions and 11333 deletions

View File

@ -0,0 +1,234 @@
2025-03-10 17:07:16,115 [INFO] Activator:176 -
2025-03-10 17:07:16,118 [INFO] Activator:177 - !SESSION log4j initialized
2025-03-10 17:07:21,175 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT]
2025-03-10 17:07:32,894 [INFO] ApplicationProperties:184 - Using Application install path: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809
2025-03-10 17:07:32,910 [INFO] DbMcusXml:78 - Set database path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/mcu/
2025-03-10 17:07:32,910 [INFO] ApiDb:274 - Set plugin database path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/plugins/boardmanager/
2025-03-10 17:07:32,911 [WARN] ApiDb:259 - Overriding images path with different value: => C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/plugins/mcufinder/images/
2025-03-10 17:07:32,925 [INFO] ApiDb:250 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/
2025-03-10 17:07:32,926 [INFO] DbMcusAds:125 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/
2025-03-10 17:07:32,931 [INFO] CrossReferenceDbSqlite:203 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/cs/
2025-03-10 17:07:33,054 [INFO] RulesReader:64 - Compatibility file has been processed (297 Rules)
2025-03-10 17:07:33,131 [INFO] DbMcusXml:78 - Set database path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/mcu/
2025-03-10 17:07:33,131 [INFO] ApiDb:274 - Set plugin database path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/plugins/boardmanager/
2025-03-10 17:07:33,131 [INFO] ApiDb:261 - Set plugin images path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/plugins/mcufinder/images/
2025-03-10 17:07:33,131 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,132 [INFO] ApiDb:250 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/
2025-03-10 17:07:33,132 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,132 [INFO] DbMcusAds:125 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/
2025-03-10 17:07:33,132 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,132 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,132 [INFO] CrossReferenceDbSqlite:203 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/cs/
2025-03-10 17:07:33,205 [INFO] MainPanel:272 - HeapMemory: 268435456
2025-03-10 17:07:33,300 [INFO] DbMcusXml:78 - Set database path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/mcu/
2025-03-10 17:07:33,300 [INFO] ApiDb:274 - Set plugin database path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/plugins/boardmanager/
2025-03-10 17:07:33,300 [INFO] ApiDb:261 - Set plugin images path to: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\\db\/plugins/mcufinder/images/
2025-03-10 17:07:33,300 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,300 [INFO] ApiDb:250 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/
2025-03-10 17:07:33,300 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,300 [INFO] DbMcusAds:125 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/
2025-03-10 17:07:33,301 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,301 [WARN] DbFile:41 - Overriding database path with different value: C:\Users\lenex\.stmcufinder\plugins\mcufinder/ => C:\Users\lenex\.stmcufinder\plugins\mcufinder
2025-03-10 17:07:33,301 [INFO] CrossReferenceDbSqlite:203 - Set database path to: C:\Users\lenex\.stmcufinder\plugins\mcufinder//mcu/cs/
2025-03-10 17:07:33,322 [INFO] ApplicationProperties:184 - Using Application install path: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809
2025-03-10 17:07:33,323 [INFO] PluginManage:196 - Search for loadable plugins [exclusion list=, ]
2025-03-10 17:07:33,325 [INFO] PluginManage:310 - Check plugin analytics
2025-03-10 17:07:42,600 [INFO] AnalyticsPlugin:253 - Accepted Software Licenses:
2025-03-10 17:07:42,601 [INFO] AnalyticsPlugin:255 - Accepted CMSIS Pack Licenses:
2025-03-10 17:07:42,601 [INFO] AnalyticsPlugin:257 - Accepted Firmware Licenses:
2025-03-10 17:07:42,604 [INFO] PluginManage:359 - Loaded plugin analytics (category:tool,tabindex:-1)
2025-03-10 17:07:42,604 [INFO] PluginManage:310 - Check plugin cadmodel
2025-03-10 17:07:42,624 [INFO] CADModel:105 - Init CAD model plugin
2025-03-10 17:07:42,624 [INFO] PluginManage:359 - Loaded plugin cadmodel (category:power,tabindex:5)
2025-03-10 17:07:42,624 [INFO] PluginManage:310 - Check plugin clock
2025-03-10 17:07:42,646 [INFO] PluginManage:359 - Loaded plugin clock (category:base,tabindex:2)
2025-03-10 17:07:42,647 [INFO] PluginManage:310 - Check plugin ddr
2025-03-10 17:07:42,649 [INFO] PluginManage:359 - Loaded plugin ddr (category:tool,tabindex:6)
2025-03-10 17:07:42,649 [INFO] PluginManage:310 - Check plugin filemanager
2025-03-10 17:07:42,831 [INFO] PluginManage:359 - Loaded plugin filemanager (category:base,tabindex:10)
2025-03-10 17:07:42,831 [INFO] PluginManage:310 - Check plugin ipmanager
2025-03-10 17:07:42,839 [INFO] PluginManage:359 - Loaded plugin ipmanager (category:base,tabindex:5)
2025-03-10 17:07:42,839 [INFO] PluginManage:310 - Check plugin lpbam
2025-03-10 17:07:42,872 [INFO] PluginManage:359 - Loaded plugin lpbam (category:base,tabindex:0)
2025-03-10 17:07:42,872 [INFO] PluginManage:310 - Check plugin memorymap
2025-03-10 17:07:42,905 [INFO] PluginManage:359 - Loaded plugin memorymap (category:base,tabindex:4)
2025-03-10 17:07:42,905 [INFO] PluginManage:310 - Check plugin pinoutandconfiguration
2025-03-10 17:07:42,925 [INFO] PluginManage:359 - Loaded plugin pinoutandconfiguration (category:base,tabindex:1)
2025-03-10 17:07:42,925 [INFO] PluginManage:310 - Check plugin pinoutconfig
2025-03-10 17:07:43,016 [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-03-10 17:07:43,138 [INFO] PluginManage:359 - Loaded plugin pinoutconfig (category:base,tabindex:0)
2025-03-10 17:07:43,138 [INFO] PluginManage:310 - Check plugin power
2025-03-10 17:07:43,161 [INFO] PluginManage:359 - Loaded plugin power (category:power,tabindex:4)
2025-03-10 17:07:43,161 [INFO] PluginManage:310 - Check plugin projectmanager
2025-03-10 17:07:43,176 [INFO] PluginManage:359 - Loaded plugin projectmanager (category:projectmanager,tabindex:4)
2025-03-10 17:07:43,177 [INFO] PluginManage:310 - Check plugin rif
2025-03-10 17:07:43,197 [INFO] PluginManage:359 - Loaded plugin rif (category:base,tabindex:3)
2025-03-10 17:07:43,198 [INFO] PluginManage:310 - Check plugin thirdparty
2025-03-10 17:07:43,503 [INFO] PluginManage:359 - Loaded plugin thirdparty (category:base,tabindex:-1)
2025-03-10 17:07:43,504 [INFO] PluginManage:310 - Check plugin tools
2025-03-10 17:07:43,503 [WARN] IntegrityCheckThread:84 - waiting for thirdparty lock release [integrity check]
2025-03-10 17:07:43,504 [INFO] IntegrityCheckThread:86 - entering critical section [integrity check]
2025-03-10 17:07:43,504 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [1/15]
2025-03-10 17:07:43,551 [INFO] PluginManage:359 - Loaded plugin tools (category:base,tabindex:7)
2025-03-10 17:07:43,551 [INFO] PluginManage:310 - Check plugin tutovideos
2025-03-10 17:07:43,744 [INFO] PluginManage:359 - Loaded plugin tutovideos (category:base,tabindex:-1)
2025-03-10 17:07:43,744 [INFO] PluginManage:310 - Check plugin updater
2025-03-10 17:07:43,762 [INFO] PluginManage:359 - Loaded plugin updater (category:base,tabindex:12)
2025-03-10 17:07:43,762 [INFO] PluginManage:310 - Check plugin userauth
2025-03-10 17:07:43,767 [INFO] UserAuth:118 - Init User Auth plugin
2025-03-10 17:07:43,768 [INFO] PluginManage:359 - Loaded plugin userauth (category:base,tabindex:14)
2025-03-10 17:07:43,768 [INFO] PluginManage:283 - PluginManage : Loaded plugins [18]
2025-03-10 17:07:43,953 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration)
2025-03-10 17:07:44,032 [INFO] CADModel:165 - CPN selected for project level
2025-03-10 17:07:44,032 [INFO] CADModel:114 - Register for checkConnection events
2025-03-10 17:07:44,060 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,060 [INFO] PluginManager:220 - loadIPPluginJar : add adc
2025-03-10 17:07:44,112 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,112 [INFO] PluginManager:220 - loadIPPluginJar : add aes
2025-03-10 17:07:44,174 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,174 [INFO] PluginManager:220 - loadIPPluginJar : add can
2025-03-10 17:07:44,209 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,209 [INFO] PluginManager:220 - loadIPPluginJar : add comp
2025-03-10 17:07:44,256 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,256 [INFO] PluginManager:220 - loadIPPluginJar : add cryp
2025-03-10 17:07:44,271 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,272 [INFO] PluginManager:220 - loadIPPluginJar : add ddr_ctrl_phy
2025-03-10 17:07:44,312 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,312 [INFO] PluginManager:220 - loadIPPluginJar : add dfsdm
2025-03-10 17:07:44,330 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,330 [INFO] PluginManager:220 - loadIPPluginJar : add dma
2025-03-10 17:07:44,383 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,383 [INFO] PluginManager:220 - loadIPPluginJar : add dma3
2025-03-10 17:07:44,443 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,443 [INFO] PluginManager:220 - loadIPPluginJar : add extmemmanager
2025-03-10 17:07:44,471 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,473 [INFO] PluginManager:220 - loadIPPluginJar : add fatfs
2025-03-10 17:07:44,533 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,533 [INFO] PluginManager:220 - loadIPPluginJar : add fmc
2025-03-10 17:07:44,559 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,560 [INFO] PluginManager:220 - loadIPPluginJar : add freertos
2025-03-10 17:07:44,589 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,590 [INFO] PluginManager:220 - loadIPPluginJar : add genericplugin
2025-03-10 17:07:44,711 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,712 [INFO] PluginManager:220 - loadIPPluginJar : add gfxmmu
2025-03-10 17:07:44,889 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,889 [INFO] PluginManager:220 - loadIPPluginJar : add gic
2025-03-10 17:07:44,905 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:44,905 [INFO] PluginManager:220 - loadIPPluginJar : add gpio
2025-03-10 17:07:45,022 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,022 [INFO] PluginManager:220 - loadIPPluginJar : add gtzc
2025-03-10 17:07:45,063 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,063 [INFO] PluginManager:220 - loadIPPluginJar : add hash
2025-03-10 17:07:45,134 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,134 [INFO] PluginManager:220 - loadIPPluginJar : add i2c
2025-03-10 17:07:45,187 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,187 [INFO] PluginManager:220 - loadIPPluginJar : add i2s
2025-03-10 17:07:45,241 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,241 [INFO] PluginManager:220 - loadIPPluginJar : add i3c
2025-03-10 17:07:45,375 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,375 [INFO] PluginManager:220 - loadIPPluginJar : add ipddr
2025-03-10 17:07:45,501 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,501 [INFO] PluginManager:220 - loadIPPluginJar : add linkedlist
2025-03-10 17:07:45,548 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,548 [INFO] PluginManager:220 - loadIPPluginJar : add lorawan
2025-03-10 17:07:45,598 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,598 [INFO] PluginManager:220 - loadIPPluginJar : add ltdc
2025-03-10 17:07:45,615 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,615 [INFO] PluginManager:220 - loadIPPluginJar : add mdma
2025-03-10 17:07:45,631 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,631 [INFO] PluginManager:220 - loadIPPluginJar : add nvic
2025-03-10 17:07:45,680 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,680 [INFO] PluginManager:220 - loadIPPluginJar : add opamp
2025-03-10 17:07:45,763 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,763 [INFO] PluginManager:220 - loadIPPluginJar : add openamp
2025-03-10 17:07:45,819 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,819 [INFO] PluginManager:220 - loadIPPluginJar : add pdm2pcm
2025-03-10 17:07:45,835 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,837 [INFO] PluginManager:220 - loadIPPluginJar : add plateformsettings
2025-03-10 17:07:45,868 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,869 [INFO] PluginManager:220 - loadIPPluginJar : add quadspi
2025-03-10 17:07:45,904 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,905 [INFO] PluginManager:220 - loadIPPluginJar : add radio
2025-03-10 17:07:45,928 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,928 [INFO] PluginManager:220 - loadIPPluginJar : add resmgrutility
2025-03-10 17:07:45,990 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:45,990 [INFO] PluginManager:220 - loadIPPluginJar : add sai
2025-03-10 17:07:46,040 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,040 [INFO] PluginManager:220 - loadIPPluginJar : add spi
2025-03-10 17:07:46,127 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,127 [INFO] PluginManager:220 - loadIPPluginJar : add stm32_wpan
2025-03-10 17:07:46,158 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,158 [INFO] PluginManager:220 - loadIPPluginJar : add tim
2025-03-10 17:07:46,247 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,248 [INFO] PluginManager:220 - loadIPPluginJar : add touchsensing
2025-03-10 17:07:46,277 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,277 [INFO] PluginManager:220 - loadIPPluginJar : add tracer_emb
2025-03-10 17:07:46,308 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,308 [INFO] PluginManager:220 - loadIPPluginJar : add ts
2025-03-10 17:07:46,338 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,338 [INFO] PluginManager:220 - loadIPPluginJar : add tsc
2025-03-10 17:07:46,367 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,367 [INFO] PluginManager:220 - loadIPPluginJar : add ucpd
2025-03-10 17:07:46,427 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,427 [INFO] PluginManager:220 - loadIPPluginJar : add usart
2025-03-10 17:07:46,482 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-03-10 17:07:46,482 [INFO] PluginManager:220 - loadIPPluginJar : add usbx
2025-03-10 17:07:46,505 [INFO] ThirdPartyUpdaterWithRetryManager:70 - Updater plugin not ready yet. [2/15]
2025-03-10 17:07:46,607 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:46,638 [INFO] RulesReader:64 - Compatibility file has been processed (297 Rules)
2025-03-10 17:07:46,648 [INFO] RulesReader:64 - Compatibility file has been processed (297 Rules)
2025-03-10 17:07:46,656 [INFO] CADModel:165 - CPN selected for project level
2025-03-10 17:07:46,656 [INFO] CADModel:114 - Register for checkConnection events
2025-03-10 17:07:46,656 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:46,656 [ERROR] CADModel:125 - Updater not yet initialized, retry later
2025-03-10 17:07:46,781 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:46,782 [INFO] CADModel:165 - CPN selected for project level
2025-03-10 17:07:46,783 [INFO] CADModel:114 - Register for checkConnection events
2025-03-10 17:07:46,783 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:46,783 [ERROR] CADModel:125 - Updater not yet initialized, retry later
2025-03-10 17:07:46,786 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:46,886 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:46,896 [INFO] DbMcusAds:53 - JSON generation date=Thu Mar 06 15:54:21 CET 2025 (1741272861825)
2025-03-10 17:07:46,897 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:46,931 [WARN] DetailPanel:346 - Failed to get advertising image, set to default
2025-03-10 17:07:47,189 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:47,191 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:47,191 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:47,191 [WARN] DetailPanel:346 - Failed to get advertising image, set to default
2025-03-10 17:07:47,192 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:47,252 [ERROR] Updater:1198 - MainUpdater not yet initialized. External WinMGr cannot be set.
2025-03-10 17:07:47,263 [INFO] Updater:1134 - Updater Version found : 6.13.0
2025-03-10 17:07:47,275 [INFO] ApplicationProperties:184 - Using Application install path: C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809
2025-03-10 17:07:48,867 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] Mar 10, 2025 5:07:48 PM java.util.prefs.WindowsPreferences <init>
2025-03-10 17:07:48,868 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0xffffffff80000002. Windows RegCreateKeyEx(...) returned error code 5.
2025-03-10 17:07:48,868 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT]
2025-03-10 17:07:49,506 [FATAL] Updater:351 - Updater called before beeing initialized
2025-03-10 17:07:49,507 [ERROR] IntegrityCheckThread:130 - Cannot retrieve database content from updater: error 21
2025-03-10 17:07:49,507 [INFO] ThirdParty:978 - Integrity check success = false
2025-03-10 17:07:49,507 [INFO] IntegrityCheckThread:100 - exiting critical section [integrity check]
2025-03-10 17:07:49,507 [INFO] IntegrityCheckThread:103 - End integrity checks thread
2025-03-10 17:07:50,316 [INFO] MainUpdater:2872 - connection check result : 10
2025-03-10 17:07:50,316 [INFO] MainUpdater:289 - Updater Check For Update Now.
2025-03-10 17:07:50,316 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.130
2025-03-10 17:07:50,336 [INFO] McuFinderGlobals:63 - Set McuFinder mode to 2 (CubeIDE integrated)
2025-03-10 17:07:50,345 [INFO] UserAuth:486 - Internet connection configuration mode: 1
2025-03-10 17:07:50,380 [INFO] JxBrowserEngine:152 - Initiate JxBrowser Engine with user profile folder
2025-03-10 17:07:50,539 [INFO] CheckServerUpdateThread:120 - End of CheckServer Thread
2025-03-10 17:07:51,298 [INFO] WebApp:168 - Instantiating new browser for Auth
2025-03-10 17:07:51,996 [INFO] WebApp:449 - Apply proxy settings
2025-03-10 17:07:51,997 [INFO] WebApp:534 - Chromium requires no authentication
2025-03-10 17:07:52,006 [INFO] WebApp:477 - Direct internet connection detected
2025-03-10 17:07:52,033 [INFO] WebApp:880 - Register for checkConnection events
2025-03-10 17:07:52,033 [INFO] WebApp:449 - Apply proxy settings
2025-03-10 17:07:52,033 [INFO] WebApp:534 - Chromium requires no authentication
2025-03-10 17:07:52,034 [INFO] WebApp:477 - Direct internet connection detected
2025-03-10 17:07:52,203 [INFO] WebApp:221 - Starting web application
2025-03-10 17:07:52,203 [INFO] WebApp:579 - Web application path used C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.13.0.202411220809\db\plugins\mcufinder\reactClient1\index.html
2025-03-10 17:07:52,357 [INFO] UserAuth:486 - Internet connection configuration mode: 1
2025-03-10 17:07:53,377 [INFO] WebApp:187 - Connection restablished
2025-03-10 17:35:08,682 [ERROR] ConfigurationRetriever:142 - IOException on connection: Read timed out
2025-03-10 17:35:10,690 [ERROR] ConfigurationRetriever:142 - IOException on connection: Read timed out
2025-03-10 17:35:12,696 [ERROR] ConfigurationRetriever:142 - IOException on connection: Read timed out
2025-03-10 17:35:13,465 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT]

View File

View File

@ -0,0 +1,22 @@
!SESSION 2025-03-10 17:06:09.566 -----------------------------------------------
eclipse.buildId=Version 1.17.0
java.version=21.0.3
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-03-10 17:07:15.813
!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late.
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-03-10 17:07:15.816
!MESSAGE Log4j2 initialized with config file C:\lene\fasttube\FT25\03_ams\ams-master\AMS_Master_Code\.metadata\.log4j2.xml
!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-03-10 17:07:30.691
!MESSAGE Started RMI Server, listening on port 41337
!ENTRY org.eclipse.core.resources 4 77 2025-03-10 17:08:03.901
!MESSAGE Invalid project description.
!SUBENTRY 1 unknown 0 0 2025-03-10 17:08:03.901
!MESSAGE OK
!SUBENTRY 1 org.eclipse.core.resources 4 77 2025-03-10 17:08:03.901
!MESSAGE C:\lene\fasttube\FT25\03_ams\ams-master\AMS_Master_Code overlaps the workspace location: C:\lene\fasttube\FT25\03_ams\ams-master\AMS_Master_Code

View File

@ -0,0 +1 @@
*** SESSION März 10, 2025 17:07:11.827 -----------------------------------------

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
project_presentation/setHierarchicalMode=false

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.cdt.debug.core.cDebug.default_source_containers=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<sourceLookupDirector>\r\n <sourceContainers duplicates\="false">\r\n <container memento\="AbsolutePath" typeId\="org.eclipse.cdt.debug.core.containerType.absolutePath"/>\r\n <container memento\="programRelativePath" typeId\="org.eclipse.cdt.debug.core.containerType.programRelativePath"/>\r\n <container memento\="&lt;?xml version\=&quot;1.0&quot; encoding\=&quot;UTF-8&quot; standalone\=&quot;no&quot;?&gt;&\#13;&\#10;&lt;project referencedProjects\=&quot;true&quot;/&gt;&\#13;&\#10;" typeId\="org.eclipse.cdt.debug.core.containerType.project"/>\r\n </sourceContainers>\r\n</sourceLookupDirector>\r\n

View File

@ -0,0 +1,4 @@
eclipse.preferences.version=1
spelling_locale_initialized=true
useAnnotationsPrefPage=true
useQuickDiffPrefPage=true

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
version=1

View File

@ -0,0 +1,5 @@
//org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.applicationLaunchType=org.eclipse.cdt.dsf.gdb.launch.localCLaunch,debug,;org.eclipse.cdt.cdi.launch.localCLaunch,run,;
//org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.attachLaunchType=org.eclipse.cdt.dsf.gdb.launch.attachCLaunch,debug,;
//org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.postmortemLaunchType=org.eclipse.cdt.dsf.gdb.launch.coreCLaunch,debug,;
//org.eclipse.debug.core.PREFERRED_DELEGATES/org.eclipse.cdt.launch.remoteApplicationLaunchType=org.eclipse.rse.remotecdt.dsf.debug,debug,;
eclipse.preferences.version=1

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<launchPerspectives/>\r\n

View File

@ -0,0 +1,4 @@
eclipse.preferences.version=1
platformState=1736591848677
quickStart=false
tipsAndTricks=true

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.ui.navigator.ProjectExplorer.filterActivation=\:org.eclipse.ui.navigator.resources.filters.startsWithDot\:org.eclipse.cdt.ui.navigator.filters.AnonymousStructFilter\:org.eclipse.cdt.ui.navigator.filters.AbsentTranslationUnitFilter\:org.eclipse.ui.navigator.resources.nested.HideTopLevelProjectIfNested\:org.eclipse.ui.navigator.resources.nested.HideFolderWhenProjectIsShownAsNested\:org.eclipse.cdt.ui.navigator.filters.ForwardDeclarationFilter\:

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
showIntro=false

View File

@ -0,0 +1,9 @@
//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.workbench.ACTIVE_NOFOCUS_TAB_BG_END=255,255,255
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START=255,255,255
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR=16,16,16
org.eclipse.ui.workbench.ACTIVE_TAB_BG_END=255,255,255
org.eclipse.ui.workbench.ACTIVE_TAB_BG_START=255,255,255
org.eclipse.ui.workbench.INACTIVE_TAB_BG_START=242,242,242

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
processedSchemes=,eclipse+mpc

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
#Mon Mar 10 17:06:54 CET 2025
org.eclipse.core.runtime=2
org.eclipse.platform=4.30.0.v20231201-0110

View File

@ -0,0 +1,7 @@
# environment variable file used by stm32-for-vscode and the STM32Make.make makefile
# Other environment variables can be added here. If wanting to use the generated makefile in CI/CD context please
# configure the following variables: GCC_PATH, OPENOCD
ARM_GCC_PATH = c:\Users\lenex\AppData\Roaming\Code\User\globalStorage\bmd.stm32-for-vscode\@xpack-dev-tools\arm-none-eabi-gcc\14.2.1-1.1.1\.content\bin
OPENOCD = c:\Users\lenex\AppData\Roaming\Code\User\globalStorage\bmd.stm32-for-vscode\@xpack-dev-tools\openocd\0.12.0-6.1\.content\bin\openocd.EXE

View File

@ -0,0 +1,40 @@
{
"configurations": [
{
"name": "windows-gcc-x64",
"includePath": [
"${workspaceFolder}/**"
],
"compilerPath": "C:/msys64/ucrt64/bin/gcc.exe",
"cStandard": "${default}",
"cppStandard": "${default}",
"intelliSenseMode": "windows-gcc-x64",
"compilerArgs": [
""
]
},
{
"name": "STM32",
"includePath": [
"Core/Inc",
"Core/Lib/ADBMS6830B_Driver/Core/Inc",
"Drivers/CMSIS/Device/ST/STM32H7xx/Include",
"Drivers/CMSIS/Include",
"Drivers/STM32H7xx_HAL_Driver/Inc",
"Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"
],
"defines": [
"COMMIT_BRANCH='\"$(shell git rev-parse --abbrev-ref HEAD)\"'",
"COMMIT_HASH='\"$(shell git describe --always --dirty --abbrev=8)\"'",
"COMPILE_DATE='\"$(shell date +'%Y-%m-%d %H:%M:%S')\"'",
"FTCAN_NUM_FILTERS=32",
"STM32H7",
"STM32H7A3xxQ",
"USE_HAL_DRIVER",
"USE_PWR_DIRECT_SMPS_SUPPLY"
],
"compilerPath": "/home/lenemar/.vscode-server/data/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-none-eabi-gcc/14.2.1-1.1.1/.content/bin/arm-none-eabi-gcc"
}
],
"version": 4
}

61
AMS_Master_Code/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,61 @@
{
"C_Cpp_Runner.cCompilerPath": "gcc",
"C_Cpp_Runner.cppCompilerPath": "g++",
"C_Cpp_Runner.debuggerPath": "gdb",
"C_Cpp_Runner.cStandard": "",
"C_Cpp_Runner.cppStandard": "",
"C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat",
"C_Cpp_Runner.useMsvc": false,
"C_Cpp_Runner.warnings": [
"-Wall",
"-Wextra",
"-Wpedantic",
"-Wshadow",
"-Wformat=2",
"-Wcast-align",
"-Wconversion",
"-Wsign-conversion",
"-Wnull-dereference"
],
"C_Cpp_Runner.msvcWarnings": [
"/W4",
"/permissive-",
"/w14242",
"/w14287",
"/w14296",
"/w14311",
"/w14826",
"/w44062",
"/w44242",
"/w14905",
"/w14906",
"/w14263",
"/w44265",
"/w14928"
],
"C_Cpp_Runner.enableWarnings": true,
"C_Cpp_Runner.warningsAsError": false,
"C_Cpp_Runner.compilerArgs": [],
"C_Cpp_Runner.linkerArgs": [],
"C_Cpp_Runner.includePaths": [],
"C_Cpp_Runner.includeSearch": [
"*",
"**/*"
],
"C_Cpp_Runner.excludeSearch": [
"**/build",
"**/build/**",
"**/.*",
"**/.*/**",
"**/.vscode",
"**/.vscode/**"
],
"C_Cpp_Runner.useAddressSanitizer": false,
"C_Cpp_Runner.useUndefinedSanitizer": false,
"C_Cpp_Runner.useLeakSanitizer": false,
"C_Cpp_Runner.showCompilationTime": false,
"C_Cpp_Runner.useLinkTimeOptimization": false,
"C_Cpp_Runner.msvcSecureNoWarnings": false,
"cortex-debug.armToolchainPath": "/home/lenemar/.vscode-server/data/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-none-eabi-gcc/14.2.1-1.1.1/.content/bin",
"cortex-debug.openocdPath": "/home/lenemar/.vscode-server/data/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/openocd/0.12.0-6.1/.content/bin/openocd"
}

50
AMS_Master_Code/.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,50 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build STM",
"type": "process",
"command": "${command:stm32-for-vscode.build}",
"options": {
"cwd": "${workspaceRoot}"
},
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Build Clean STM",
"type": "process",
"command": "${command:stm32-for-vscode.cleanBuild}",
"options": {
"cwd": "${workspaceRoot}"
},
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Flash STM",
"type": "process",
"command": "${command:stm32-for-vscode.flash}",
"options": {
"cwd": "${workspaceRoot}"
},
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
}
]
}

View File

@ -0,0 +1,366 @@
##########################################################################################################################
# File automatically-generated by STM32forVSCode
##########################################################################################################################
# ------------------------------------------------
# Generic Makefile (based on gcc)
#
# ChangeLog :
# 2024-04-27 - Added env file inclusion.
# Added way to overide: build directory, target name and optimisation.
# Added GCC_PATH by env file to not make the makefile machine dependent.
# Currently folder structure in build directory is preserved
# Switching of debug/release build output folder now happens based on debug flag
# 2017-02-10 - Several enhancements + project update mode
# 2015-07-22 - first version
# ------------------------------------------------
######################################
# Environment Variables
######################################
# Imports the environment file in which the compiler and other tooling is set
# for the build machine.
# This can also be used to overwrite some makefile variables
file_exists = $(or $(and $(wildcard $(1)),1),0)
ifeq ($(call file_exists,.stm32env),1)
include .stm32env
endif
######################################
# Target
######################################
# This is the name of the embedded target which will be build
# The final file name will also have debug or release appended to it.
TARGET ?= AMS_Master_Nucleo
#######################################
# Build directories
#######################################
# Build path can be overwritten when calling make or setting the environment variable
# in .stm32env
BUILD_DIRECTORY ?= build
######################################
# Optimization
######################################
# Optimization is switched based upon the DEBUG variable. If set to 1
# it will be build in debug mode with the Og optimization flag (optimized for debugging).
# If set to 0 (false) then by default the variable is used in the configuration yaml
# This can also be overwritten using the environment variable or by overwriting it
# by calling make with the OPTIMIZATION variable e.g.:
# make -f STM32Make.make -j 16 OPTIMIZATION=Os
# variable which determines if it is a debug build
DEBUG ?= 1
# debug flags when debug is defined
OPTIMIZATION ?= -O2
RELEASE_DIRECTORY = $(BUILD_DIRECTORY)/debug
ifeq ($(DEBUG),1)
# Sets debugging optimization -Og and the debug information output
OPTIMIZATION_FLAGS += -Og -g -gdwarf -ggdb
$(TARGET) := $(TARGET)-debug
RELEASE_DIRECTORY := $(BUILD_DIRECTORY)/debug
else
OPTIMIZATION_FLAGS += $(OPTIMIZATION)
$(TARGET) := $(TARGET)-release
RELEASE_DIRECTORY := $(BUILD_DIRECTORY)/release
endif
######################################
# source
######################################
# C sources
C_SOURCES = \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Abstraction.c \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Error.c \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_HighLevel.c \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_LL_Driver.c \
Core/Src/main.c \
Core/Src/stm32h7xx_hal_msp.c \
Core/Src/stm32h7xx_it.c \
Core/Src/syscalls.c \
Core/Src/sysmem.c \
Core/Src/system_stm32h7xx.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c
CXX_SOURCES = \
# ASM sources
ASM_SOURCES = \
startup_stm32h7a3xxq.s
#######################################
# Tools
#######################################
ARM_PREFIX = arm-none-eabi-
POSTFIX = "
PREFIX = "
# The gcc compiler bin path can be defined in the make command via ARM_GCC_PATH variable (e.g.: make ARM_GCC_PATH=xxx)
# or it can be added to the PATH environment variable.
# By default the variable be used from the environment file: .stm32env.
# if it is not defined
ifdef ARM_GCC_PATH
CC = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)gcc$(POSTFIX)
CXX = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)g++$(POSTFIX)
AS = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)gcc$(POSTFIX) -x assembler-with-cpp
CP = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)objcopy$(POSTFIX)
SZ = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)size$(POSTFIX)
DP = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)objdump$(POSTFIX)
else
CC ?= $(ARM_PREFIX)gcc
CXX ?= $(ARM_PREFIX)g++$
AS ?= $(ARM_PREFIX)gcc -x assembler-with-cpp
CP ?= $(ARM_PREFIX)objcopy
SZ ?= $(ARM_PREFIX)size
DP ?= $(ARM_PREFIX)objdump
endif
HEX = $(CP) -O ihex
BIN = $(CP) -O binary -S
LSS = $(DP) -h -S
REMOVE_DIRECTORY_COMMAND = rm -fR
mkdir_function = mkdir -p $(1)
ifeq ($(OS),Windows_NT)
convert_to_windows_path = $(strip $(subst /,\,$(patsubst %/,%,$(1))))
REMOVE_DIRECTORY_COMMAND = cmd /c rd /s /q
mkdir_function = cmd /e:on /c if not exist $(call convert_to_windows_path,$(1)) md $(call convert_to_windows_path,$(1))
endif
# Flash and debug tools
# Default is openocd however will be gotten from the env file when existing
OPENOCD ?= openocd
#######################################
# CFLAGS
#######################################
# cpu
CPU = -mcpu=cortex-m7
# fpu
FPU = -mfpu=fpv5-d16
# float-abi
FLOAT-ABI = -mfloat-abi=hard
# mcu
MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
# macros for gcc
# AS defines
AS_DEFS =
# C defines
C_DEFS = \
-DCOMMIT_BRANCH='"$(shell git rev-parse --abbrev-ref HEAD)"' \
-DCOMMIT_HASH='"$(shell git describe --always --dirty --abbrev=8)"' \
-DCOMPILE_DATE='"$(shell date +'%Y-%m-%d %H:%M:%S')"' \
-DFTCAN_NUM_FILTERS=32 \
-DSTM32H7 \
-DSTM32H7A3xxQ \
-DUSE_HAL_DRIVER \
-DUSE_PWR_DIRECT_SMPS_SUPPLY
# CXX defines
CXX_DEFS = \
-DSTM32H7A3xxQ \
-DUSE_HAL_DRIVER \
-DUSE_PWR_DIRECT_SMPS_SUPPLY
# AS includes
AS_INCLUDES = \
# C includes
C_INCLUDES = \
-ICore/Inc \
-ICore/Lib/ADBMS6830B_Driver/Core/Inc \
-IDrivers/CMSIS/Device/ST/STM32H7xx/Include \
-IDrivers/CMSIS/Include \
-IDrivers/STM32H7xx_HAL_Driver/Inc \
-IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy
# compile gcc flags
ASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(C_INCLUDES) $(C_DEFS) $(OPTIMIZATION_FLAGS)
CFLAGS = $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPTIMIZATION_FLAGS)
CXXFLAGS = $(MCU) $(CXX_DEFS) $(C_INCLUDES) $(OPTIMIZATION_FLAGS)
# Add additional flags
CFLAGS += -Wall -Wextra -Wshadow -fdata-sections -ffunction-sections -flto -std=gnu23
ASFLAGS += -Wall -fdata-sections -ffunction-sections
CXXFLAGS += -fno-exceptions -fno-rtti
# Generate dependency information
CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
CXXFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
# Output a list file for the compiled source file.
# This is a representative of the source code in assembly
ASSEMBLER_LIST_OUTPUT_FLAG = -Wa,-a,-ad,-alms=$(call add_release_directory,$<,lst)
CFLAGS += $(ASSEMBLER_LIST_OUTPUT_FLAG)
CXXFLAGS += $(ASSEMBLER_LIST_OUTPUT_FLAG)
#######################################
# LDFLAGS
#######################################
# link script
LDSCRIPT = stm32h7a3zitxq_flash.ld
# libraries
LIBS = -lc -lm -lnosys
LIBDIR = \
# Additional LD Flags from config file
ADDITIONALLDFLAGS = -Wl,--print-memory-usage -specs=nano.specs
LDFLAGS = $(MCU) $(ADDITIONALLDFLAGS) -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIRECTORY)/$(TARGET).map,--cref -Wl,--gc-sections
#######################################
# build the application
#######################################
add_release_directory = $(sort $(addprefix $(RELEASE_DIRECTORY)/,$(addsuffix .$(2),$(basename $(notdir $(1))))))
OBJECTS = $(call add_release_directory,$(C_SOURCES),o)
OBJECTS += $(call add_release_directory,$(CXX_SOURCES),o)
OBJECTS += $(call add_release_directory,$(ASM_SOURCES),o)
vpath %.c $(sort $(dir $(C_SOURCES)))
vpath %.cc $(sort $(dir $(CXX_SOURCES)))
vpath %.cp $(sort $(dir $(CXX_SOURCES)))
vpath %.cxx $(sort $(dir $(CXX_SOURCES)))
vpath %.cpp $(sort $(dir $(CXX_SOURCES)))
vpath %.c++ $(sort $(dir $(CXX_SOURCES)))
vpath %.C $(sort $(dir $(CXX_SOURCES)))
vpath %.CPP $(sort $(dir $(CXX_SOURCES)))
vpath %.s $(sort $(dir $(ASM_SOURCES)))
vpath %.S $(sort $(dir $(ASM_SOURCES)))
#######################################
# all
#######################################
# note needs to be located as the first rule to be the default build rule
# default action: build all
all: $(RELEASE_DIRECTORY)/$(TARGET).elf $(RELEASE_DIRECTORY)/$(TARGET).hex $(RELEASE_DIRECTORY)/$(TARGET).bin $(RELEASE_DIRECTORY)/$(TARGET).lss
# C build
$(RELEASE_DIRECTORY)/%.o: %.c STM32Make.make | $(RELEASE_DIRECTORY)
$(CC) -c $(CFLAGS) $< -o $@
# C++ build
$(RELEASE_DIRECTORY)/%.o: %.cc STM32Make.make | $(RELEASE_DIRECTORY)
$(CXX) -c $(CXXFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.cp STM32Make.make | $(RELEASE_DIRECTORY)
$(CXX) -c $(CXXFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.cxx STM32Make.make | $(RELEASE_DIRECTORY)
$(CXX) -c $(CXXFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.cpp STM32Make.make | $(RELEASE_DIRECTORY)
$(CXX) -c $(CXXFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.c++ STM32Make.make | $(RELEASE_DIRECTORY)
$(CXX) -c $(CXXFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.C STM32Make.make | $(RELEASE_DIRECTORY)
$(CXX) -c $(CXXFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.CPP STM32Make.make | $(RELEASE_DIRECTORY)
$(CXX) -c $(CXXFLAGS) $< -o $@
#Assembly build
$(RELEASE_DIRECTORY)/%.o: %.s STM32Make.make | $(RELEASE_DIRECTORY)
$(AS) -c $(ASFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.S STM32Make.make | $(RELEASE_DIRECTORY)
$(AS) -c $(ASFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/%.o: %.sx STM32Make.make | $(RELEASE_DIRECTORY)
$(AS) -c $(ASFLAGS) $< -o $@
$(RELEASE_DIRECTORY)/$(TARGET).elf: $(OBJECTS) STM32Make.make | $(RELEASE_DIRECTORY)
@echo $(OBJECTS) > $@.in
$(CC) @$@.in $(LDFLAGS) -o $@
$(SZ) $@
$(RELEASE_DIRECTORY)/%.hex: $(RELEASE_DIRECTORY)/%.elf | $(RELEASE_DIRECTORY)
$(HEX) $< $@
$(RELEASE_DIRECTORY)/%.bin: $(RELEASE_DIRECTORY)/%.elf | $(RELEASE_DIRECTORY)
$(BIN) $< $@
$(RELEASE_DIRECTORY)/%.lss: $(RELEASE_DIRECTORY)/%.elf | $(RELEASE_DIRECTORY)
$(LSS) $< > $@
$(RELEASE_DIRECTORY):
$(call mkdir_function, $@)
$(BUILD_DIRECTORY): | $(RELEASE_DIRECTORY)
$(call mkdir_function, $@)
#######################################
# flash
#######################################
flash: all
"$(OPENOCD)" -f ./openocd.cfg -c "program $(RELEASE_DIRECTORY)/$(TARGET).elf verify reset exit"
#######################################
# erase
#######################################
erase: all
"$(OPENOCD)" -f ./openocd.cfg -c "init; reset halt; stm32h7x mass_erase 0; exit"
#######################################
# clean up
#######################################
clean:
$(REMOVE_DIRECTORY_COMMAND) $(BUILD_DIRECTORY)
#######################################
# custom makefile rules
#######################################
#######################################
# dependencies
#######################################
-include $(wildcard $(RELEASE_DIRECTORY)/*.d)
# *** EOF ***

View File

@ -0,0 +1,77 @@
build/debug/ADBMS_Abstraction.o: \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Abstraction.c \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Abstraction.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_CMD_MAKROS.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h \
Core/Inc/config_ADBMS6830.h Core/Inc/main.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h \
Core/Inc/stm32h7xx_hal_conf.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h \
Drivers/CMSIS/Include/core_cm7.h Drivers/CMSIS/Include/cmsis_version.h \
Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
Drivers/CMSIS/Include/mpu_armv7.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h \
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h Core/Inc/main.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_CMD_MAKROS.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h Core/Inc/swo_log.h
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Abstraction.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_CMD_MAKROS.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h:
Core/Inc/config_ADBMS6830.h:
Core/Inc/main.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:
Core/Inc/stm32h7xx_hal_conf.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h:
Drivers/CMSIS/Include/core_cm7.h:
Drivers/CMSIS/Include/cmsis_version.h:
Drivers/CMSIS/Include/cmsis_compiler.h:
Drivers/CMSIS/Include/cmsis_gcc.h:
Drivers/CMSIS/Include/mpu_armv7.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h:
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h:
Core/Inc/main.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_CMD_MAKROS.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h:
Core/Inc/swo_log.h:

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,67 @@
build/debug/ADBMS_Error.o: \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_Error.c \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Error.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h \
Core/Inc/config_ADBMS6830.h Core/Inc/main.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h \
Core/Inc/stm32h7xx_hal_conf.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h \
Drivers/CMSIS/Include/core_cm7.h Drivers/CMSIS/Include/cmsis_version.h \
Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
Drivers/CMSIS/Include/mpu_armv7.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h \
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Error.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h:
Core/Inc/config_ADBMS6830.h:
Core/Inc/main.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:
Core/Inc/stm32h7xx_hal_conf.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h:
Drivers/CMSIS/Include/core_cm7.h:
Drivers/CMSIS/Include/cmsis_version.h:
Drivers/CMSIS/Include/cmsis_compiler.h:
Drivers/CMSIS/Include/cmsis_gcc.h:
Drivers/CMSIS/Include/mpu_armv7.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h:
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h:

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,83 @@
build/debug/ADBMS_HighLevel.o: \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_HighLevel.c \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_HighLevel.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Abstraction.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_CMD_MAKROS.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h \
Core/Inc/config_ADBMS6830.h Core/Inc/main.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h \
Core/Inc/stm32h7xx_hal_conf.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h \
Drivers/CMSIS/Include/core_cm7.h Drivers/CMSIS/Include/cmsis_version.h \
Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
Drivers/CMSIS/Include/mpu_armv7.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h \
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h Core/Inc/main.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Abstraction.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Error.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h Core/Inc/swo_log.h
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_HighLevel.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Abstraction.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_CMD_MAKROS.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h:
Core/Inc/config_ADBMS6830.h:
Core/Inc/main.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:
Core/Inc/stm32h7xx_hal_conf.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h:
Drivers/CMSIS/Include/core_cm7.h:
Drivers/CMSIS/Include/cmsis_version.h:
Drivers/CMSIS/Include/cmsis_compiler.h:
Drivers/CMSIS/Include/cmsis_gcc.h:
Drivers/CMSIS/Include/mpu_armv7.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h:
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h:
Core/Inc/main.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Abstraction.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Error.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h:
Core/Inc/swo_log.h:

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,68 @@
build/debug/ADBMS_LL_Driver.o: \
Core/Lib/ADBMS6830B_Driver/Core/Src/ADBMS_LL_Driver.c \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h \
Core/Inc/config_ADBMS6830.h Core/Inc/main.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h \
Core/Inc/stm32h7xx_hal_conf.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h \
Drivers/CMSIS/Include/core_cm7.h Drivers/CMSIS/Include/cmsis_version.h \
Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
Drivers/CMSIS/Include/mpu_armv7.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h \
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h Core/Inc/main.h \
Core/Inc/swo_log.h
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_LL_Driver.h:
Core/Inc/config_ADBMS6830.h:
Core/Inc/main.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:
Core/Inc/stm32h7xx_hal_conf.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h:
Drivers/CMSIS/Include/core_cm7.h:
Drivers/CMSIS/Include/cmsis_version.h:
Drivers/CMSIS/Include/cmsis_compiler.h:
Drivers/CMSIS/Include/cmsis_gcc.h:
Drivers/CMSIS/Include/mpu_armv7.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h:
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h:
Core/Inc/main.h:
Core/Inc/swo_log.h:

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,66 @@
build/debug/main.o: Core/Src/main.c Core/Inc/main.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h \
Core/Inc/stm32h7xx_hal_conf.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h \
Drivers/CMSIS/Include/core_cm7.h Drivers/CMSIS/Include/cmsis_version.h \
Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
Drivers/CMSIS/Include/mpu_armv7.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h \
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h \
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h \
Core/Inc/config_ADBMS6830.h Core/Inc/main.h Core/Inc/swo_log.h
Core/Inc/main.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:
Core/Inc/stm32h7xx_hal_conf.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h:
Drivers/CMSIS/Include/core_cm7.h:
Drivers/CMSIS/Include/cmsis_version.h:
Drivers/CMSIS/Include/cmsis_compiler.h:
Drivers/CMSIS/Include/cmsis_gcc.h:
Drivers/CMSIS/Include/mpu_armv7.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h:
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h:
Core/Lib/ADBMS6830B_Driver/Core/Inc/ADBMS_Driver.h:
Core/Inc/config_ADBMS6830.h:
Core/Inc/main.h:
Core/Inc/swo_log.h:

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,60 @@
build/debug/stm32h7xx_hal.o: \
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h \
Core/Inc/stm32h7xx_hal_conf.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h \
Drivers/CMSIS/Include/core_cm7.h Drivers/CMSIS/Include/cmsis_version.h \
Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
Drivers/CMSIS/Include/mpu_armv7.h \
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h \
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h \
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h:
Core/Inc/stm32h7xx_hal_conf.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h:
Drivers/CMSIS/Include/core_cm7.h:
Drivers/CMSIS/Include/cmsis_version.h:
Drivers/CMSIS/Include/cmsis_compiler.h:
Drivers/CMSIS/Include/cmsis_gcc.h:
Drivers/CMSIS/Include/mpu_armv7.h:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h:
Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h:
Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi_ex.h:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
#OpenOCD configuration file, generated by STM32 for VSCode
# Programmer, can be changed to several interfaces
# Standard will be the STLink interface as this is the standard for STM32 dev boards
source [find interface/stlink.cfg]
# The target MCU. This should match your board
source [find target/stm32h7x.cfg]

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:19+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Bot*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:19*
%MOMM*%
%LPD*%
G01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:19+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:19*
%MOMM*%
%LPD*%
G01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:19+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Legend,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:19*
%MOMM*%
%LPD*%
G01*

View File

@ -1,11 +1,11 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:19+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:19*
%MOMM*%
%LPD*%
G01*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:19+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Top*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:19*
%MOMM*%
%LPD*%
G01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:19+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Legend,Top*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:19*
%MOMM*%
%LPD*%
G01*
@ -28,148 +28,36 @@ G04 APERTURE LIST*
%ADD24C,0.010000*%
G04 APERTURE END LIST*
D10*
X164637969Y-133519295D02*
X165133207Y-133519295D01*
X165133207Y-133519295D02*
X164866541Y-133824057D01*
X164866541Y-133824057D02*
X164980826Y-133824057D01*
X164980826Y-133824057D02*
X165057017Y-133862152D01*
X165057017Y-133862152D02*
X165095112Y-133900247D01*
X165095112Y-133900247D02*
X165133207Y-133976438D01*
X165133207Y-133976438D02*
X165133207Y-134166914D01*
X165133207Y-134166914D02*
X165095112Y-134243104D01*
X165095112Y-134243104D02*
X165057017Y-134281200D01*
X165057017Y-134281200D02*
X164980826Y-134319295D01*
X164980826Y-134319295D02*
X164752255Y-134319295D01*
X164752255Y-134319295D02*
X164676064Y-134281200D01*
X164676064Y-134281200D02*
X164637969Y-134243104D01*
X165399874Y-133785961D02*
X165590350Y-134319295D01*
X165590350Y-134319295D02*
X165780827Y-133785961D01*
X166009398Y-133519295D02*
X166504636Y-133519295D01*
X166504636Y-133519295D02*
X166237970Y-133824057D01*
X166237970Y-133824057D02*
X166352255Y-133824057D01*
X166352255Y-133824057D02*
X166428446Y-133862152D01*
X166428446Y-133862152D02*
X166466541Y-133900247D01*
X166466541Y-133900247D02*
X166504636Y-133976438D01*
X166504636Y-133976438D02*
X166504636Y-134166914D01*
X166504636Y-134166914D02*
X166466541Y-134243104D01*
X166466541Y-134243104D02*
X166428446Y-134281200D01*
X166428446Y-134281200D02*
X166352255Y-134319295D01*
X166352255Y-134319295D02*
X166123684Y-134319295D01*
X166123684Y-134319295D02*
X166047493Y-134281200D01*
X166047493Y-134281200D02*
X166009398Y-134243104D01*
X168062969Y-133760961D02*
X168253445Y-134294295D01*
X168253445Y-134294295D02*
X168443922Y-133760961D01*
X168748684Y-134294295D02*
X168748684Y-133760961D01*
X168748684Y-133913342D02*
X168786779Y-133837152D01*
X168786779Y-133837152D02*
X168824874Y-133799057D01*
X168824874Y-133799057D02*
X168901065Y-133760961D01*
X168901065Y-133760961D02*
X168977255Y-133760961D01*
X169548684Y-134256200D02*
X169472493Y-134294295D01*
X169472493Y-134294295D02*
X169320112Y-134294295D01*
X169320112Y-134294295D02*
X169243922Y-134256200D01*
X169243922Y-134256200D02*
X169205826Y-134180009D01*
X169205826Y-134180009D02*
X169205826Y-133875247D01*
X169205826Y-133875247D02*
X169243922Y-133799057D01*
X169243922Y-133799057D02*
X169320112Y-133760961D01*
X169320112Y-133760961D02*
X169472493Y-133760961D01*
X169472493Y-133760961D02*
X169548684Y-133799057D01*
X169548684Y-133799057D02*
X169586779Y-133875247D01*
X169586779Y-133875247D02*
X169586779Y-133951438D01*
X169586779Y-133951438D02*
X169205826Y-134027628D01*
X169815350Y-133760961D02*
X170120112Y-133760961D01*
X169929636Y-134294295D02*
X169929636Y-133608580D01*
X169929636Y-133608580D02*
X169967731Y-133532390D01*
X169967731Y-133532390D02*
X170043921Y-133494295D01*
X170043921Y-133494295D02*
X170120112Y-133494295D01*
X155585023Y-49010534D02*
X155558086Y-48929722D01*
X155558086Y-48929722D02*
X155558086Y-48875847D01*
X155558086Y-48875847D02*
X155585023Y-48795035D01*
X155585023Y-48795035D02*
X155746648Y-48633411D01*
X155746648Y-48633411D02*
X155827460Y-48606473D01*
X155827460Y-48606473D02*
X155881335Y-48606473D01*
X155881335Y-48606473D02*
X155962147Y-48633411D01*
X155962147Y-48633411D02*
X156042959Y-48714223D01*
X156042959Y-48714223D02*
X156069897Y-48795035D01*
X156069897Y-48795035D02*
X156069897Y-48848910D01*
X156069897Y-48848910D02*
X156042959Y-48929722D01*
X156042959Y-48929722D02*
X155881335Y-49091346D01*
X155881335Y-49091346D02*
X155800523Y-49118284D01*
X155800523Y-49118284D02*
X155746648Y-49118284D01*
X155746648Y-49118284D02*
X155665836Y-49091346D01*
X155665836Y-49091346D02*
X155585023Y-49010534D01*
X156016022Y-49441533D02*
X156581708Y-48875848D01*
X156285396Y-49279909D02*
X156231521Y-49657032D01*
X156608645Y-49279909D02*
X156177647Y-49279909D01*
X183523897Y-75810000D02*
G75*
G02*
X182596103Y-75810000I-463897J0D01*
G01*
X182596103Y-75810000D02*
G75*
G02*
X183523897Y-75810000I463897J0D01*
G01*
X130964853Y-136500000D02*
G75*
G02*
X130115147Y-136500000I-424853J0D01*
G01*
X130115147Y-136500000D02*
G75*
G02*
X130964853Y-136500000I424853J0D01*
G01*
X81684004Y-43380000D02*
G75*
G02*
X80755996Y-43380000I-464004J0D01*
G01*
X80755996Y-43380000D02*
G75*
G02*
X81684004Y-43380000I464004J0D01*
G01*
X101190000Y-127650000D02*
X101190000Y-138575000D01*
X127760000Y-127650000D02*
@ -7771,6 +7659,44 @@ X189976065Y-90385961D02*
X190128446Y-90385961D01*
X190128446Y-90385961D02*
X190204637Y-90424057D01*
X155585023Y-49010534D02*
X155558086Y-48929722D01*
X155558086Y-48929722D02*
X155558086Y-48875847D01*
X155558086Y-48875847D02*
X155585023Y-48795035D01*
X155585023Y-48795035D02*
X155746648Y-48633411D01*
X155746648Y-48633411D02*
X155827460Y-48606473D01*
X155827460Y-48606473D02*
X155881335Y-48606473D01*
X155881335Y-48606473D02*
X155962147Y-48633411D01*
X155962147Y-48633411D02*
X156042959Y-48714223D01*
X156042959Y-48714223D02*
X156069897Y-48795035D01*
X156069897Y-48795035D02*
X156069897Y-48848910D01*
X156069897Y-48848910D02*
X156042959Y-48929722D01*
X156042959Y-48929722D02*
X155881335Y-49091346D01*
X155881335Y-49091346D02*
X155800523Y-49118284D01*
X155800523Y-49118284D02*
X155746648Y-49118284D01*
X155746648Y-49118284D02*
X155665836Y-49091346D01*
X155665836Y-49091346D02*
X155585023Y-49010534D01*
X156016022Y-49441533D02*
X156581708Y-48875848D01*
X156285396Y-49279909D02*
X156231521Y-49657032D01*
X156608645Y-49279909D02*
X156177647Y-49279909D01*
D13*
G36*
X58918879Y-58353330D02*
@ -9548,6 +9474,64 @@ X192499769Y-70486060D01*
X196143879Y-70486060D01*
X196143879Y-72274948D01*
G37*
D10*
X164637969Y-133519295D02*
X165133207Y-133519295D01*
X165133207Y-133519295D02*
X164866541Y-133824057D01*
X164866541Y-133824057D02*
X164980826Y-133824057D01*
X164980826Y-133824057D02*
X165057017Y-133862152D01*
X165057017Y-133862152D02*
X165095112Y-133900247D01*
X165095112Y-133900247D02*
X165133207Y-133976438D01*
X165133207Y-133976438D02*
X165133207Y-134166914D01*
X165133207Y-134166914D02*
X165095112Y-134243104D01*
X165095112Y-134243104D02*
X165057017Y-134281200D01*
X165057017Y-134281200D02*
X164980826Y-134319295D01*
X164980826Y-134319295D02*
X164752255Y-134319295D01*
X164752255Y-134319295D02*
X164676064Y-134281200D01*
X164676064Y-134281200D02*
X164637969Y-134243104D01*
X165399874Y-133785961D02*
X165590350Y-134319295D01*
X165590350Y-134319295D02*
X165780827Y-133785961D01*
X166009398Y-133519295D02*
X166504636Y-133519295D01*
X166504636Y-133519295D02*
X166237970Y-133824057D01*
X166237970Y-133824057D02*
X166352255Y-133824057D01*
X166352255Y-133824057D02*
X166428446Y-133862152D01*
X166428446Y-133862152D02*
X166466541Y-133900247D01*
X166466541Y-133900247D02*
X166504636Y-133976438D01*
X166504636Y-133976438D02*
X166504636Y-134166914D01*
X166504636Y-134166914D02*
X166466541Y-134243104D01*
X166466541Y-134243104D02*
X166428446Y-134281200D01*
X166428446Y-134281200D02*
X166352255Y-134319295D01*
X166352255Y-134319295D02*
X166123684Y-134319295D01*
X166123684Y-134319295D02*
X166047493Y-134281200D01*
X166047493Y-134281200D02*
X166009398Y-134243104D01*
D13*
G36*
X120485600Y-130782036D02*
G01*
@ -10493,6 +10477,54 @@ X195217688Y-104631108D01*
X195217688Y-106148568D01*
G37*
D10*
X168062969Y-133760961D02*
X168253445Y-134294295D01*
X168253445Y-134294295D02*
X168443922Y-133760961D01*
X168748684Y-134294295D02*
X168748684Y-133760961D01*
X168748684Y-133913342D02*
X168786779Y-133837152D01*
X168786779Y-133837152D02*
X168824874Y-133799057D01*
X168824874Y-133799057D02*
X168901065Y-133760961D01*
X168901065Y-133760961D02*
X168977255Y-133760961D01*
X169548684Y-134256200D02*
X169472493Y-134294295D01*
X169472493Y-134294295D02*
X169320112Y-134294295D01*
X169320112Y-134294295D02*
X169243922Y-134256200D01*
X169243922Y-134256200D02*
X169205826Y-134180009D01*
X169205826Y-134180009D02*
X169205826Y-133875247D01*
X169205826Y-133875247D02*
X169243922Y-133799057D01*
X169243922Y-133799057D02*
X169320112Y-133760961D01*
X169320112Y-133760961D02*
X169472493Y-133760961D01*
X169472493Y-133760961D02*
X169548684Y-133799057D01*
X169548684Y-133799057D02*
X169586779Y-133875247D01*
X169586779Y-133875247D02*
X169586779Y-133951438D01*
X169586779Y-133951438D02*
X169205826Y-134027628D01*
X169815350Y-133760961D02*
X170120112Y-133760961D01*
X169929636Y-134294295D02*
X169929636Y-133608580D01*
X169929636Y-133608580D02*
X169967731Y-133532390D01*
X169967731Y-133532390D02*
X170043921Y-133494295D01*
X170043921Y-133494295D02*
X170120112Y-133494295D01*
X142969710Y-48339223D02*
X143400709Y-48770221D01*
X142969710Y-48770221D02*
@ -29851,35 +29883,6 @@ X150673680Y-103628570D01*
X150673680Y-103628570D02*
X150635584Y-103666666D01*
D19*
%TO.C,JP1*%
X165225000Y-132650000D02*
X165225000Y-132050000D01*
X165875000Y-131350000D02*
X168675000Y-131350000D01*
X168675000Y-133350000D02*
X165875000Y-133350000D01*
X169325000Y-132050000D02*
X169325000Y-132650000D01*
X165225000Y-132050000D02*
G75*
G02*
X165925000Y-131350000I699999J1D01*
G01*
X165925000Y-133350000D02*
G75*
G02*
X165225000Y-132650000I-1J699999D01*
G01*
X168625000Y-131350000D02*
G75*
G02*
X169325000Y-132050000I0J-700000D01*
G01*
X169325000Y-132650000D02*
G75*
G02*
X168625000Y-133350000I-700000J0D01*
G01*
%TO.C,R130*%
X123640000Y-95977064D02*
X123640000Y-94522936D01*
@ -38184,6 +38187,35 @@ X59740000Y-51610000D02*
X58470000Y-51610000D01*
X59740000Y-51610000D02*
X59740000Y-43990000D01*
%TO.C,JP1*%
X165225000Y-132650000D02*
X165225000Y-132050000D01*
X165875000Y-131350000D02*
X168675000Y-131350000D01*
X168675000Y-133350000D02*
X165875000Y-133350000D01*
X169325000Y-132050000D02*
X169325000Y-132650000D01*
X165225000Y-132050000D02*
G75*
G02*
X165925000Y-131350000I699999J1D01*
G01*
X165925000Y-133350000D02*
G75*
G02*
X165225000Y-132650000I-1J699999D01*
G01*
X168625000Y-131350000D02*
G75*
G02*
X169325000Y-132050000I0J-700000D01*
G01*
X169325000Y-132650000D02*
G75*
G02*
X168625000Y-133350000I-700000J0D01*
G01*
%TO.C,U9*%
X83750000Y-82577499D02*
X82950000Y-82577500D01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:18+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Copper,L2,Inr*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:18*
%MOMM*%
%LPD*%
G01*
@ -170,180 +170,6 @@ X71375000Y-127350000D03*
X71375000Y-122350000D03*
%TD*%
D21*
%TO.N,+3V3*%
X166170000Y-53470000D03*
X137050000Y-54660000D03*
X152150000Y-54110000D03*
%TO.N,GND*%
X178120000Y-59920000D03*
%TO.N,+3V3*%
X175380000Y-59950000D03*
%TO.N,GND*%
X172680000Y-59950000D03*
X179450000Y-58520000D03*
X171860000Y-54390000D03*
X169450000Y-59670000D03*
%TO.N,+3V3*%
X169760000Y-52870000D03*
%TO.N,GND*%
X186920000Y-74735000D03*
%TO.N,+3V3*%
X188120000Y-72940000D03*
X158490000Y-95900000D03*
X159160000Y-98897653D03*
%TO.N,GND*%
X159275000Y-73675000D03*
%TO.N,+3V3*%
X157401167Y-73604289D03*
%TO.N,GND*%
X162850000Y-71900000D03*
X160600000Y-72275000D03*
X182200000Y-60900000D03*
%TO.N,+3V3*%
X182175000Y-66225000D03*
X182200000Y-69425000D03*
X189250000Y-82075000D03*
X192675000Y-78225000D03*
X187775000Y-116450000D03*
X193675000Y-110675000D03*
X179925000Y-126250000D03*
X179925000Y-122500000D03*
X180970000Y-112445000D03*
%TO.N,GND*%
X179200000Y-113425000D03*
%TO.N,+3V3*%
X180950000Y-114425000D03*
X163275000Y-97850000D03*
X160400000Y-102920000D03*
X159180000Y-103960000D03*
X162325000Y-105750000D03*
X142550000Y-105600000D03*
X143125000Y-108675000D03*
X124600000Y-105700000D03*
X127800000Y-115075000D03*
X109850000Y-112350000D03*
X104150000Y-105400000D03*
X104125000Y-97125000D03*
%TO.N,GND*%
X162275000Y-54350000D03*
%TO.N,+3V3*%
X119675000Y-91375000D03*
%TO.N,GND*%
X142250000Y-91250000D03*
%TO.N,+3V3*%
X163875000Y-125525000D03*
X175150000Y-130400000D03*
X190575000Y-118325000D03*
%TO.N,GND*%
X188750000Y-120000000D03*
X197000000Y-97500000D03*
%TO.N,+3V3*%
X179250000Y-77750000D03*
%TO.N,GND*%
X168000000Y-79750000D03*
X183000000Y-72000000D03*
%TO.N,+3V3*%
X178750000Y-54000000D03*
X184250000Y-58500000D03*
%TO.N,GND*%
X190000000Y-42250000D03*
X184000000Y-42250000D03*
%TO.N,+3V3*%
X162000000Y-43000000D03*
X149500000Y-43250000D03*
%TO.N,GND*%
X118500000Y-59000000D03*
%TO.N,+3V3*%
X116000000Y-62000000D03*
X130250000Y-55500000D03*
X123050000Y-45550000D03*
X135500000Y-43250000D03*
X144250000Y-43500000D03*
%TO.N,GND*%
X149500000Y-48750000D03*
X160750000Y-47750000D03*
X174750000Y-48250000D03*
X196750000Y-61500000D03*
%TO.N,+3V3*%
X185750000Y-85500000D03*
X197250000Y-84250000D03*
X194750000Y-84250000D03*
X181000000Y-128500000D03*
X170000000Y-127750000D03*
X166250000Y-125500000D03*
%TO.N,GND*%
X143250000Y-111000000D03*
X181000000Y-94750000D03*
X176000000Y-95750000D03*
%TO.N,+3V3*%
X179000000Y-94750000D03*
X184250000Y-109250000D03*
X184250000Y-106750000D03*
X182750000Y-118750000D03*
X182750000Y-126250000D03*
X182750000Y-122500000D03*
%TO.N,GND*%
X181450000Y-124250000D03*
X187250000Y-58500000D03*
X191750000Y-50750000D03*
X194000000Y-43250000D03*
X195500000Y-41500000D03*
%TO.N,+3V3*%
X194500000Y-40000000D03*
X181000000Y-40000000D03*
X167750000Y-39750000D03*
X155250000Y-39750000D03*
X142500000Y-39750000D03*
X129250000Y-39750000D03*
X115250000Y-40000000D03*
X117000000Y-51000000D03*
X175250000Y-54000000D03*
X172750000Y-45500000D03*
X162250000Y-52000000D03*
X150060000Y-59510000D03*
X112250000Y-98250000D03*
X106250000Y-108500000D03*
%TO.N,GND*%
X96200000Y-136600000D03*
%TO.N,+3V3*%
X100059999Y-132500000D03*
X100000000Y-137480000D03*
%TO.N,GND*%
X100020001Y-135090000D03*
%TO.N,+3V3*%
X98560000Y-136480000D03*
X98500000Y-131500000D03*
%TO.N,GND*%
X98520000Y-133890000D03*
%TO.N,+3V3*%
X94060000Y-137480000D03*
X94000000Y-132500000D03*
%TO.N,GND*%
X94020000Y-134890000D03*
%TO.N,+3V3*%
X92060000Y-136480000D03*
X92000000Y-131500000D03*
%TO.N,GND*%
X92020000Y-133890000D03*
X191500000Y-138000000D03*
%TO.N,+3V3*%
X189120000Y-137940000D03*
X184840000Y-137940000D03*
%TO.N,GND*%
X182730000Y-137990000D03*
X187220000Y-138000000D03*
%TO.N,+3V3*%
X180500000Y-138000000D03*
%TO.N,GND*%
X172000000Y-83500000D03*
%TO.N,+3V3*%
X177500000Y-85500000D03*
X170000000Y-85000000D03*
X171950000Y-89110000D03*
X117500000Y-44000000D03*
X135500000Y-47500000D03*
X147500000Y-47500000D03*
X117000000Y-54000000D03*
%TO.N,GND*%
X123800000Y-104650000D03*
X152050000Y-99850000D03*
@ -351,6 +177,7 @@ X151800000Y-80300000D03*
X130150000Y-98725000D03*
X142900000Y-100050000D03*
X169475000Y-113175000D03*
X94020000Y-134890000D03*
X96430000Y-126040000D03*
X179360000Y-116500000D03*
X131475000Y-92000000D03*
@ -359,6 +186,8 @@ X195750000Y-73750000D03*
X177325000Y-127375000D03*
X165500000Y-109600000D03*
X159950000Y-87750000D03*
X179200000Y-113425000D03*
X162850000Y-71900000D03*
X102600000Y-102240000D03*
X141550000Y-99150000D03*
X128763666Y-99726425D03*
@ -368,15 +197,20 @@ X119675000Y-89225000D03*
X165950000Y-103400000D03*
X141110000Y-105600000D03*
X160550000Y-105550000D03*
X169450000Y-59670000D03*
X137790000Y-56410000D03*
X164375000Y-44800000D03*
X182730000Y-137990000D03*
X191500000Y-138000000D03*
X198200000Y-102300000D03*
X169150001Y-95678112D03*
X188750000Y-120000000D03*
X165500000Y-107000000D03*
X134900000Y-97550000D03*
X195375000Y-127800000D03*
X119010000Y-123880000D03*
X147900000Y-136350000D03*
X118500000Y-59000000D03*
X167450000Y-65275000D03*
X111400000Y-96700000D03*
X166250000Y-83000000D03*
@ -388,9 +222,11 @@ X101160000Y-114150000D03*
X130950000Y-89850000D03*
X98600000Y-116500000D03*
X186375000Y-66125000D03*
X160750000Y-47750000D03*
X110500000Y-124000000D03*
X173275000Y-106900000D03*
X124800000Y-98625000D03*
X96200000Y-136600000D03*
X161650000Y-59000000D03*
X162024577Y-120619272D03*
X155150000Y-57960000D03*
@ -399,6 +235,7 @@ X107400000Y-125050000D03*
X130800000Y-116900000D03*
X169500000Y-106900000D03*
X153125000Y-130950000D03*
X168000000Y-79750000D03*
X171600000Y-69400000D03*
X125883011Y-122138079D03*
X162600000Y-127000000D03*
@ -407,16 +244,19 @@ X179400000Y-132200000D03*
X165075000Y-45450000D03*
X115000000Y-49850000D03*
X177800000Y-133750000D03*
X184000000Y-42250000D03*
X189550000Y-44800000D03*
X156950000Y-116675000D03*
X120800000Y-66550000D03*
X158770000Y-57020000D03*
X195500000Y-41500000D03*
X198200000Y-109800000D03*
X192899999Y-124949999D03*
X130900000Y-87700000D03*
X160100000Y-54890000D03*
X117450000Y-98050000D03*
X165350000Y-126500000D03*
X176000000Y-95750000D03*
X142850000Y-102800000D03*
X174950000Y-43700000D03*
X155900000Y-128325000D03*
@ -449,6 +289,7 @@ X168525000Y-128375000D03*
X154200000Y-116000000D03*
X120800000Y-61400000D03*
X134000000Y-99800000D03*
X100020001Y-135090000D03*
X173800000Y-69400000D03*
X178500000Y-69400000D03*
X151575000Y-60475000D03*
@ -470,11 +311,15 @@ X132500000Y-55500000D03*
X135850000Y-122450000D03*
X114950000Y-55600000D03*
X96450000Y-129940000D03*
X172000000Y-83500000D03*
X130300000Y-134450000D03*
X153400000Y-136350000D03*
X142000000Y-110000000D03*
X120550000Y-121400000D03*
X151450000Y-95700000D03*
X172680000Y-59950000D03*
X162275000Y-54350000D03*
X142250000Y-91250000D03*
X188670000Y-86840000D03*
X99280000Y-110900000D03*
X179175000Y-106825000D03*
@ -485,6 +330,7 @@ X160145000Y-109775000D03*
X127925000Y-93600000D03*
X142640000Y-57340000D03*
X116675000Y-115774834D03*
X187220000Y-138000000D03*
X154600000Y-64100000D03*
X145400000Y-90650000D03*
X159150000Y-80650000D03*
@ -495,6 +341,7 @@ X185631891Y-69202043D03*
X173275000Y-109775000D03*
X136675000Y-94750000D03*
X128000000Y-116900000D03*
X181000000Y-94750000D03*
X101550000Y-119100000D03*
X164600000Y-52100000D03*
X191700000Y-117025000D03*
@ -505,9 +352,13 @@ X174010000Y-58550000D03*
X123530266Y-113075000D03*
X126330891Y-103151125D03*
X173750000Y-66200000D03*
X92020000Y-133890000D03*
X164825000Y-113900000D03*
X197000000Y-97500000D03*
X184200000Y-98400000D03*
X182200000Y-60900000D03*
X195400000Y-120700000D03*
X95160000Y-127840000D03*
X159100000Y-64550000D03*
X142750000Y-45400000D03*
X143750000Y-107300000D03*
@ -516,26 +367,38 @@ X152800000Y-117500000D03*
X130975000Y-114030000D03*
X120770000Y-98600000D03*
X121650000Y-90350000D03*
X149500000Y-48750000D03*
X127050000Y-109350000D03*
X193050000Y-72688466D03*
X104200000Y-118200000D03*
X179250000Y-80000000D03*
X196750000Y-61500000D03*
X111400000Y-93800000D03*
X112950000Y-101325000D03*
X119400000Y-52300000D03*
X179450000Y-58520000D03*
X178450000Y-66250000D03*
X188000000Y-125800003D03*
X196050000Y-85850000D03*
X99400000Y-122050000D03*
X195400000Y-124700000D03*
X185475000Y-100550000D03*
X160600000Y-72275000D03*
X175900000Y-66200000D03*
X174750000Y-48250000D03*
X194000000Y-43250000D03*
X124000000Y-87800000D03*
X187250000Y-58500000D03*
X171860000Y-54390000D03*
X151100000Y-92000000D03*
X132188473Y-96524722D03*
X117138990Y-111654976D03*
X178120000Y-59920000D03*
X148950000Y-111350000D03*
X174425000Y-132275000D03*
X186920000Y-74735000D03*
X143250000Y-111000000D03*
X191750000Y-50750000D03*
X176650000Y-132200000D03*
X125823833Y-117873833D03*
X118932347Y-98707653D03*
@ -546,6 +409,7 @@ X136500000Y-137500000D03*
X137900000Y-52200000D03*
X171404415Y-51575000D03*
X192900000Y-125850000D03*
X183000000Y-72000000D03*
X171650000Y-66200000D03*
X161729696Y-118824999D03*
X133700000Y-135200000D03*
@ -561,9 +425,12 @@ X155175000Y-61475000D03*
X156024999Y-122674999D03*
X95130000Y-124180000D03*
X177400000Y-125150000D03*
X159275000Y-73675000D03*
X98520000Y-133890000D03*
X174750000Y-133750000D03*
X186200000Y-134480000D03*
X133900000Y-45500000D03*
X190000000Y-42250000D03*
X163750000Y-64550000D03*
X107050000Y-118400000D03*
X169325000Y-126400000D03*
@ -575,19 +442,25 @@ X126000000Y-61500000D03*
X174000000Y-77500000D03*
X149500000Y-45600000D03*
X168200000Y-62700000D03*
X181450000Y-124250000D03*
X191900000Y-120725000D03*
%TO.N,+3V3*%
X136800000Y-45425000D03*
X174000000Y-85500000D03*
X107950000Y-97400000D03*
X179340000Y-118370000D03*
X145100000Y-102800000D03*
X162250000Y-52000000D03*
X180625000Y-100250000D03*
X179000000Y-94750000D03*
X167550000Y-85000000D03*
X104840000Y-116440000D03*
X190050000Y-46750000D03*
X97550000Y-127820000D03*
X148597347Y-119722653D03*
X150550000Y-125850000D03*
X139630851Y-110080851D03*
X192675000Y-78225000D03*
X142010000Y-59800000D03*
X136800000Y-126400000D03*
X196975000Y-128825000D03*
@ -596,6 +469,7 @@ X147600000Y-63550000D03*
X162850000Y-133750000D03*
X145050000Y-131325000D03*
X169080000Y-73850000D03*
X100000000Y-137480000D03*
X179450000Y-67650000D03*
X124100000Y-99600000D03*
X175325000Y-104250000D03*
@ -605,9 +479,13 @@ X167575000Y-108275000D03*
X120560000Y-123420000D03*
X185800000Y-82150000D03*
X175020000Y-112270000D03*
X158490000Y-95900000D03*
X117450000Y-99300000D03*
X170550000Y-64750000D03*
X181000000Y-40000000D03*
X184250000Y-106750000D03*
X147700000Y-125350000D03*
X170000000Y-127750000D03*
X145410000Y-93380000D03*
X197000000Y-42750000D03*
X172550000Y-67700000D03*
@ -616,42 +494,66 @@ X159900000Y-85700000D03*
X167570000Y-112320000D03*
X161950000Y-45600000D03*
X134400000Y-59100000D03*
X92060000Y-136480000D03*
X171495000Y-112295000D03*
X190950000Y-52850000D03*
X167585000Y-97309640D03*
X179500000Y-64700000D03*
X166250000Y-125500000D03*
X157225000Y-77075000D03*
X155250000Y-39750000D03*
X163875000Y-125525000D03*
X184250000Y-109250000D03*
X98560000Y-136480000D03*
X124525000Y-114950000D03*
X152800000Y-120700000D03*
X104250000Y-119810000D03*
X127800000Y-115075000D03*
X159160000Y-98897653D03*
X154750000Y-92800000D03*
X109600000Y-96750000D03*
X173150000Y-102675000D03*
X117150000Y-93000000D03*
X163650000Y-108300000D03*
X169760000Y-52870000D03*
X175275000Y-100725000D03*
X181000000Y-128500000D03*
X178675000Y-89000000D03*
X145675000Y-45500000D03*
X177550000Y-73325000D03*
X187775000Y-116450000D03*
X100300000Y-103450000D03*
X129400000Y-130650000D03*
X98850000Y-100400000D03*
X156975000Y-86400000D03*
X183800000Y-40050000D03*
X179250000Y-77750000D03*
X196700000Y-71060000D03*
X182750000Y-118750000D03*
X187800000Y-69400000D03*
X160400000Y-102920000D03*
X179925000Y-126250000D03*
X162350000Y-109600000D03*
X153780000Y-59500000D03*
X109850000Y-112350000D03*
X136700000Y-50350000D03*
X149550000Y-92600000D03*
X144250000Y-43500000D03*
X116420000Y-112350000D03*
X193470000Y-131550000D03*
X124600000Y-105700000D03*
X176900000Y-67700000D03*
X182175000Y-66225000D03*
X92000000Y-131500000D03*
X190575000Y-118325000D03*
X109650000Y-93800000D03*
X137050000Y-54660000D03*
X150650000Y-136351494D03*
X139300000Y-59100000D03*
X116020000Y-121080000D03*
X182300000Y-85350000D03*
X152150000Y-54110000D03*
X142500000Y-39750000D03*
X179525000Y-109650000D03*
X156150000Y-45450000D03*
X180950000Y-108225000D03*
@ -662,18 +564,29 @@ X138350000Y-100450000D03*
X193120000Y-69740000D03*
X144950000Y-136350000D03*
X139050000Y-87825000D03*
X197250000Y-84250000D03*
X160400000Y-132000000D03*
X158550000Y-113580000D03*
X179925000Y-122500000D03*
X158500000Y-70650000D03*
X159180000Y-103960000D03*
X168000000Y-77750000D03*
X132425153Y-107149847D03*
X189250000Y-82075000D03*
X140000000Y-130850000D03*
X157401167Y-73604289D03*
X180625000Y-103550000D03*
X196650000Y-63700000D03*
X171950000Y-89110000D03*
X193500000Y-122675000D03*
X180950000Y-114425000D03*
X128550000Y-45450000D03*
X106250000Y-108500000D03*
X188120000Y-72940000D03*
X99420000Y-125960000D03*
X184200000Y-70740000D03*
X162325000Y-105750000D03*
X117500000Y-44000000D03*
X176710000Y-58550000D03*
X120600000Y-116610000D03*
X102550000Y-118000000D03*
@ -685,15 +598,22 @@ X166250000Y-73850000D03*
X161875000Y-73650000D03*
X170600000Y-67700000D03*
X130975000Y-67225000D03*
X162000000Y-43000000D03*
X147700000Y-126800000D03*
X106670000Y-105580000D03*
X196700000Y-66200000D03*
X170000000Y-85000000D03*
X160400000Y-133750000D03*
X100059999Y-132500000D03*
X194500000Y-40000000D03*
X123050000Y-45550000D03*
X126650000Y-87625000D03*
X184250000Y-103350000D03*
X116300000Y-98200000D03*
X175275000Y-93925000D03*
X126600000Y-119788080D03*
X117000000Y-51000000D03*
X143125000Y-108675000D03*
X135950000Y-119600000D03*
X141000000Y-110920000D03*
X173150000Y-99200000D03*
@ -707,14 +627,20 @@ X174450000Y-97000000D03*
X93880000Y-126060000D03*
X182300000Y-81600000D03*
X152450000Y-98000000D03*
X184840000Y-137940000D03*
X182750000Y-122500000D03*
X175250000Y-54000000D03*
X176950000Y-64750000D03*
X130900000Y-110900000D03*
X196950000Y-91400000D03*
X127630000Y-110310000D03*
X116400000Y-96500000D03*
X172750000Y-45500000D03*
X196700000Y-68390000D03*
X144125000Y-102800000D03*
X115250000Y-40000000D03*
X186410000Y-70730000D03*
X175380000Y-59950000D03*
X165900000Y-72300000D03*
X156000000Y-133750000D03*
X100390000Y-115500000D03*
@ -729,14 +655,19 @@ X139800000Y-125550000D03*
X97520000Y-124160000D03*
X136800000Y-128200000D03*
X195750000Y-77300000D03*
X98500000Y-131500000D03*
X123500000Y-59100000D03*
X184250000Y-58500000D03*
X197000000Y-115400000D03*
X117100000Y-90400000D03*
X147100000Y-71350000D03*
X105510000Y-125630000D03*
X163275000Y-97850000D03*
X159120000Y-97450000D03*
X98600000Y-112000000D03*
X182750000Y-126250000D03*
X154850000Y-95650000D03*
X119675000Y-91375000D03*
X175150000Y-127950000D03*
X159125000Y-78125000D03*
X198120000Y-131080000D03*
@ -744,6 +675,7 @@ X145400000Y-100000000D03*
X138100000Y-129560000D03*
X180625000Y-96650000D03*
X159150000Y-101210000D03*
X130250000Y-55500000D03*
X145400000Y-88350000D03*
X130850000Y-96550000D03*
X104850000Y-114430000D03*
@ -751,7 +683,10 @@ X113480000Y-125100000D03*
X109020000Y-105585000D03*
X196950000Y-94900000D03*
X182300000Y-78100000D03*
X135500000Y-43250000D03*
X150060000Y-59510000D03*
X130950000Y-123500000D03*
X182200000Y-69425000D03*
X92540000Y-124220000D03*
X174650000Y-64750000D03*
X170375000Y-61400000D03*
@ -760,6 +695,7 @@ X173175000Y-94900000D03*
X148125000Y-100075000D03*
X127600000Y-107890000D03*
X196000000Y-82550000D03*
X178750000Y-54000000D03*
X197000000Y-111700000D03*
X188310000Y-134430000D03*
X100400000Y-99750000D03*
@ -770,13 +706,18 @@ X128900000Y-108940000D03*
X127230000Y-54650000D03*
X197000000Y-118900000D03*
X122750000Y-98750000D03*
X116000000Y-62000000D03*
X147500000Y-47500000D03*
X135050000Y-136400000D03*
X98600000Y-120350000D03*
X192500000Y-48750000D03*
X142550000Y-105600000D03*
X125750000Y-99700000D03*
X174600000Y-67700000D03*
X166170000Y-53470000D03*
X152500000Y-90000000D03*
X172590000Y-56980000D03*
X189120000Y-137940000D03*
X131300000Y-45450000D03*
X170050000Y-89110000D03*
X118313602Y-115000000D03*
@ -785,40 +726,58 @@ X184940000Y-72290000D03*
X171675000Y-104450000D03*
X143850000Y-99100000D03*
X193500000Y-118925000D03*
X112250000Y-98250000D03*
X180500000Y-138000000D03*
X92570000Y-127880000D03*
X100300000Y-118000000D03*
X187300000Y-40000000D03*
X185750000Y-77650000D03*
X185275000Y-93925000D03*
X129250000Y-39750000D03*
X171100000Y-108250000D03*
X136800000Y-123900000D03*
X197000000Y-40000000D03*
X193675000Y-110675000D03*
X126375000Y-97725000D03*
X135500000Y-47500000D03*
X197000000Y-122650000D03*
X168200000Y-120775000D03*
X94000000Y-132500000D03*
X167100000Y-59100000D03*
X160400000Y-128350000D03*
X174875000Y-108250000D03*
X197000000Y-104450000D03*
X194750000Y-84250000D03*
X104125000Y-97125000D03*
X94060000Y-137480000D03*
X168650000Y-45475000D03*
X169350000Y-71125000D03*
X128800000Y-119800000D03*
X117050000Y-88150000D03*
X167525000Y-126500000D03*
X175150000Y-130400000D03*
X161325000Y-75925000D03*
X144700000Y-54150000D03*
X130975000Y-63100000D03*
X185750000Y-85500000D03*
X129080000Y-132700000D03*
X125440000Y-104250000D03*
X177500000Y-85500000D03*
X113150000Y-93800000D03*
X112950000Y-112300000D03*
X180970000Y-112445000D03*
X117000000Y-54000000D03*
X157175000Y-81325000D03*
X197025000Y-126025000D03*
X149750000Y-54320000D03*
X176200000Y-134575000D03*
X187250000Y-61000000D03*
X175000000Y-114250000D03*
X178425000Y-45500000D03*
X149500000Y-43250000D03*
X180850000Y-117320000D03*
X139850000Y-99250000D03*
X167750000Y-39750000D03*
X136800000Y-121300000D03*
X130250000Y-58750000D03*
X183970000Y-134490000D03*
@ -1143,14 +1102,6 @@ X112875000Y-113800000D03*
%TO.N,/TSAL/Mismatch_AIR_or_PRE*%
X107200000Y-107880000D03*
X106962653Y-116237347D03*
%TO.N,+3V3*%
X174000000Y-85500000D03*
X92570000Y-127880000D03*
X97550000Y-127820000D03*
%TO.N,GND*%
X95160000Y-127840000D03*
%TO.N,+3V3*%
X187250000Y-61000000D03*
%TD*%
%TA.AperFunction,Conductor*%
%TO.N,GND*%
@ -10857,26 +10808,7 @@ X101864956Y-106653237D01*
X101864955Y-106653239D01*
X101844318Y-106809998D01*
X97805366Y-106809998D01*
X97805829Y-105399998D01*
X103544318Y-105399998D01*
X103544318Y-105400001D01*
X103564955Y-105556760D01*
X103564956Y-105556762D01*
X103624287Y-105700001D01*
X103625464Y-105702841D01*
X103721718Y-105828282D01*
X103847159Y-105924536D01*
X103993238Y-105985044D01*
X104055478Y-105993238D01*
X104149999Y-106005682D01*
X104150000Y-106005682D01*
X104150001Y-106005682D01*
X104244514Y-105993239D01*
X104306762Y-105985044D01*
X104452841Y-105924536D01*
X104578282Y-105828282D01*
X104674536Y-105702841D01*
X104725419Y-105579998D01*
X97805770Y-105579998D01*
X106064318Y-105579998D01*
X106064318Y-105580001D01*
X106084955Y-105736760D01*
@ -11410,26 +11342,7 @@ X106145463Y-105277160D01*
X106084956Y-105423237D01*
X106084955Y-105423239D01*
X106064318Y-105579998D01*
X104725419Y-105579998D01*
X104735044Y-105556762D01*
X104755682Y-105400000D01*
X104735044Y-105243238D01*
X104674536Y-105097159D01*
X104578282Y-104971718D01*
X104452841Y-104875464D01*
X104306762Y-104814956D01*
X104306760Y-104814955D01*
X104150001Y-104794318D01*
X104149999Y-104794318D01*
X103993239Y-104814955D01*
X103993237Y-104814956D01*
X103847160Y-104875463D01*
X103721718Y-104971718D01*
X103625463Y-105097160D01*
X103564956Y-105243237D01*
X103564955Y-105243239D01*
X103544318Y-105399998D01*
X97805829Y-105399998D01*
X97805770Y-105579998D01*
X97806051Y-104724998D01*
X114844318Y-104724998D01*
X114844318Y-104725001D01*
@ -11602,11 +11515,11 @@ X166475464Y-104952841D01*
X166571718Y-105078282D01*
X166697159Y-105174536D01*
X166843238Y-105235044D01*
X166905478Y-105243238D01*
X166880541Y-105239955D01*
X166999999Y-105255682D01*
X167000000Y-105255682D01*
X167000001Y-105255682D01*
X167094514Y-105243239D01*
X167052254Y-105248802D01*
X167156762Y-105235044D01*
X167302841Y-105174536D01*
X167428282Y-105078282D01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:33+01:00*%
%TF.CreationDate,2025-03-18T14:55:18+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Copper,L3,Inr*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:33*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:55:18*
%MOMM*%
%LPD*%
G01*
@ -170,180 +170,6 @@ X71375000Y-127350000D03*
X71375000Y-122350000D03*
%TD*%
D21*
%TO.N,+3V3*%
X166170000Y-53470000D03*
X137050000Y-54660000D03*
X152150000Y-54110000D03*
%TO.N,GND*%
X178120000Y-59920000D03*
%TO.N,+3V3*%
X175380000Y-59950000D03*
%TO.N,GND*%
X172680000Y-59950000D03*
X179450000Y-58520000D03*
X171860000Y-54390000D03*
X169450000Y-59670000D03*
%TO.N,+3V3*%
X169760000Y-52870000D03*
%TO.N,GND*%
X186920000Y-74735000D03*
%TO.N,+3V3*%
X188120000Y-72940000D03*
X158490000Y-95900000D03*
X159160000Y-98897653D03*
%TO.N,GND*%
X159275000Y-73675000D03*
%TO.N,+3V3*%
X157401167Y-73604289D03*
%TO.N,GND*%
X162850000Y-71900000D03*
X160600000Y-72275000D03*
X182200000Y-60900000D03*
%TO.N,+3V3*%
X182175000Y-66225000D03*
X182200000Y-69425000D03*
X189250000Y-82075000D03*
X192675000Y-78225000D03*
X187775000Y-116450000D03*
X193675000Y-110675000D03*
X179925000Y-126250000D03*
X179925000Y-122500000D03*
X180970000Y-112445000D03*
%TO.N,GND*%
X179200000Y-113425000D03*
%TO.N,+3V3*%
X180950000Y-114425000D03*
X163275000Y-97850000D03*
X160400000Y-102920000D03*
X159180000Y-103960000D03*
X162325000Y-105750000D03*
X142550000Y-105600000D03*
X143125000Y-108675000D03*
X124600000Y-105700000D03*
X127800000Y-115075000D03*
X109850000Y-112350000D03*
X104150000Y-105400000D03*
X104125000Y-97125000D03*
%TO.N,GND*%
X162275000Y-54350000D03*
%TO.N,+3V3*%
X119675000Y-91375000D03*
%TO.N,GND*%
X142250000Y-91250000D03*
%TO.N,+3V3*%
X163875000Y-125525000D03*
X175150000Y-130400000D03*
X190575000Y-118325000D03*
%TO.N,GND*%
X188750000Y-120000000D03*
X197000000Y-97500000D03*
%TO.N,+3V3*%
X179250000Y-77750000D03*
%TO.N,GND*%
X168000000Y-79750000D03*
X183000000Y-72000000D03*
%TO.N,+3V3*%
X178750000Y-54000000D03*
X184250000Y-58500000D03*
%TO.N,GND*%
X190000000Y-42250000D03*
X184000000Y-42250000D03*
%TO.N,+3V3*%
X162000000Y-43000000D03*
X149500000Y-43250000D03*
%TO.N,GND*%
X118500000Y-59000000D03*
%TO.N,+3V3*%
X116000000Y-62000000D03*
X130250000Y-55500000D03*
X123050000Y-45550000D03*
X135500000Y-43250000D03*
X144250000Y-43500000D03*
%TO.N,GND*%
X149500000Y-48750000D03*
X160750000Y-47750000D03*
X174750000Y-48250000D03*
X196750000Y-61500000D03*
%TO.N,+3V3*%
X185750000Y-85500000D03*
X197250000Y-84250000D03*
X194750000Y-84250000D03*
X181000000Y-128500000D03*
X170000000Y-127750000D03*
X166250000Y-125500000D03*
%TO.N,GND*%
X143250000Y-111000000D03*
X181000000Y-94750000D03*
X176000000Y-95750000D03*
%TO.N,+3V3*%
X179000000Y-94750000D03*
X184250000Y-109250000D03*
X184250000Y-106750000D03*
X182750000Y-118750000D03*
X182750000Y-126250000D03*
X182750000Y-122500000D03*
%TO.N,GND*%
X181450000Y-124250000D03*
X187250000Y-58500000D03*
X191750000Y-50750000D03*
X194000000Y-43250000D03*
X195500000Y-41500000D03*
%TO.N,+3V3*%
X194500000Y-40000000D03*
X181000000Y-40000000D03*
X167750000Y-39750000D03*
X155250000Y-39750000D03*
X142500000Y-39750000D03*
X129250000Y-39750000D03*
X115250000Y-40000000D03*
X117000000Y-51000000D03*
X175250000Y-54000000D03*
X172750000Y-45500000D03*
X162250000Y-52000000D03*
X150060000Y-59510000D03*
X112250000Y-98250000D03*
X106250000Y-108500000D03*
%TO.N,GND*%
X96200000Y-136600000D03*
%TO.N,+3V3*%
X100059999Y-132500000D03*
X100000000Y-137480000D03*
%TO.N,GND*%
X100020001Y-135090000D03*
%TO.N,+3V3*%
X98560000Y-136480000D03*
X98500000Y-131500000D03*
%TO.N,GND*%
X98520000Y-133890000D03*
%TO.N,+3V3*%
X94060000Y-137480000D03*
X94000000Y-132500000D03*
%TO.N,GND*%
X94020000Y-134890000D03*
%TO.N,+3V3*%
X92060000Y-136480000D03*
X92000000Y-131500000D03*
%TO.N,GND*%
X92020000Y-133890000D03*
X191500000Y-138000000D03*
%TO.N,+3V3*%
X189120000Y-137940000D03*
X184840000Y-137940000D03*
%TO.N,GND*%
X182730000Y-137990000D03*
X187220000Y-138000000D03*
%TO.N,+3V3*%
X180500000Y-138000000D03*
%TO.N,GND*%
X172000000Y-83500000D03*
%TO.N,+3V3*%
X177500000Y-85500000D03*
X170000000Y-85000000D03*
X171950000Y-89110000D03*
X117500000Y-44000000D03*
X135500000Y-47500000D03*
X147500000Y-47500000D03*
X117000000Y-54000000D03*
%TO.N,GND*%
X123800000Y-104650000D03*
X152050000Y-99850000D03*
@ -351,6 +177,7 @@ X151800000Y-80300000D03*
X130150000Y-98725000D03*
X142900000Y-100050000D03*
X169475000Y-113175000D03*
X94020000Y-134890000D03*
X96430000Y-126040000D03*
X179360000Y-116500000D03*
X131475000Y-92000000D03*
@ -359,6 +186,8 @@ X195750000Y-73750000D03*
X177325000Y-127375000D03*
X165500000Y-109600000D03*
X159950000Y-87750000D03*
X179200000Y-113425000D03*
X162850000Y-71900000D03*
X102600000Y-102240000D03*
X141550000Y-99150000D03*
X128763666Y-99726425D03*
@ -368,15 +197,20 @@ X119675000Y-89225000D03*
X165950000Y-103400000D03*
X141110000Y-105600000D03*
X160550000Y-105550000D03*
X169450000Y-59670000D03*
X137790000Y-56410000D03*
X164375000Y-44800000D03*
X182730000Y-137990000D03*
X191500000Y-138000000D03*
X198200000Y-102300000D03*
X169150001Y-95678112D03*
X188750000Y-120000000D03*
X165500000Y-107000000D03*
X134900000Y-97550000D03*
X195375000Y-127800000D03*
X119010000Y-123880000D03*
X147900000Y-136350000D03*
X118500000Y-59000000D03*
X167450000Y-65275000D03*
X111400000Y-96700000D03*
X166250000Y-83000000D03*
@ -388,9 +222,11 @@ X101160000Y-114150000D03*
X130950000Y-89850000D03*
X98600000Y-116500000D03*
X186375000Y-66125000D03*
X160750000Y-47750000D03*
X110500000Y-124000000D03*
X173275000Y-106900000D03*
X124800000Y-98625000D03*
X96200000Y-136600000D03*
X161650000Y-59000000D03*
X162024577Y-120619272D03*
X155150000Y-57960000D03*
@ -399,6 +235,7 @@ X107400000Y-125050000D03*
X130800000Y-116900000D03*
X169500000Y-106900000D03*
X153125000Y-130950000D03*
X168000000Y-79750000D03*
X171600000Y-69400000D03*
X125883011Y-122138079D03*
X162600000Y-127000000D03*
@ -407,16 +244,19 @@ X179400000Y-132200000D03*
X165075000Y-45450000D03*
X115000000Y-49850000D03*
X177800000Y-133750000D03*
X184000000Y-42250000D03*
X189550000Y-44800000D03*
X156950000Y-116675000D03*
X120800000Y-66550000D03*
X158770000Y-57020000D03*
X195500000Y-41500000D03*
X198200000Y-109800000D03*
X192899999Y-124949999D03*
X130900000Y-87700000D03*
X160100000Y-54890000D03*
X117450000Y-98050000D03*
X165350000Y-126500000D03*
X176000000Y-95750000D03*
X142850000Y-102800000D03*
X174950000Y-43700000D03*
X155900000Y-128325000D03*
@ -449,6 +289,7 @@ X168525000Y-128375000D03*
X154200000Y-116000000D03*
X120800000Y-61400000D03*
X134000000Y-99800000D03*
X100020001Y-135090000D03*
X173800000Y-69400000D03*
X178500000Y-69400000D03*
X151575000Y-60475000D03*
@ -470,11 +311,15 @@ X132500000Y-55500000D03*
X135850000Y-122450000D03*
X114950000Y-55600000D03*
X96450000Y-129940000D03*
X172000000Y-83500000D03*
X130300000Y-134450000D03*
X153400000Y-136350000D03*
X142000000Y-110000000D03*
X120550000Y-121400000D03*
X151450000Y-95700000D03*
X172680000Y-59950000D03*
X162275000Y-54350000D03*
X142250000Y-91250000D03*
X188670000Y-86840000D03*
X99280000Y-110900000D03*
X179175000Y-106825000D03*
@ -485,6 +330,7 @@ X160145000Y-109775000D03*
X127925000Y-93600000D03*
X142640000Y-57340000D03*
X116675000Y-115774834D03*
X187220000Y-138000000D03*
X154600000Y-64100000D03*
X145400000Y-90650000D03*
X159150000Y-80650000D03*
@ -495,6 +341,7 @@ X185631891Y-69202043D03*
X173275000Y-109775000D03*
X136675000Y-94750000D03*
X128000000Y-116900000D03*
X181000000Y-94750000D03*
X101550000Y-119100000D03*
X164600000Y-52100000D03*
X191700000Y-117025000D03*
@ -505,9 +352,13 @@ X174010000Y-58550000D03*
X123530266Y-113075000D03*
X126330891Y-103151125D03*
X173750000Y-66200000D03*
X92020000Y-133890000D03*
X164825000Y-113900000D03*
X197000000Y-97500000D03*
X184200000Y-98400000D03*
X182200000Y-60900000D03*
X195400000Y-120700000D03*
X95160000Y-127840000D03*
X159100000Y-64550000D03*
X142750000Y-45400000D03*
X143750000Y-107300000D03*
@ -516,26 +367,38 @@ X152800000Y-117500000D03*
X130975000Y-114030000D03*
X120770000Y-98600000D03*
X121650000Y-90350000D03*
X149500000Y-48750000D03*
X127050000Y-109350000D03*
X193050000Y-72688466D03*
X104200000Y-118200000D03*
X179250000Y-80000000D03*
X196750000Y-61500000D03*
X111400000Y-93800000D03*
X112950000Y-101325000D03*
X119400000Y-52300000D03*
X179450000Y-58520000D03*
X178450000Y-66250000D03*
X188000000Y-125800003D03*
X196050000Y-85850000D03*
X99400000Y-122050000D03*
X195400000Y-124700000D03*
X185475000Y-100550000D03*
X160600000Y-72275000D03*
X175900000Y-66200000D03*
X174750000Y-48250000D03*
X194000000Y-43250000D03*
X124000000Y-87800000D03*
X187250000Y-58500000D03*
X171860000Y-54390000D03*
X151100000Y-92000000D03*
X132188473Y-96524722D03*
X117138990Y-111654976D03*
X178120000Y-59920000D03*
X148950000Y-111350000D03*
X174425000Y-132275000D03*
X186920000Y-74735000D03*
X143250000Y-111000000D03*
X191750000Y-50750000D03*
X176650000Y-132200000D03*
X125823833Y-117873833D03*
X118932347Y-98707653D03*
@ -546,6 +409,7 @@ X136500000Y-137500000D03*
X137900000Y-52200000D03*
X171404415Y-51575000D03*
X192900000Y-125850000D03*
X183000000Y-72000000D03*
X171650000Y-66200000D03*
X161729696Y-118824999D03*
X133700000Y-135200000D03*
@ -561,9 +425,12 @@ X155175000Y-61475000D03*
X156024999Y-122674999D03*
X95130000Y-124180000D03*
X177400000Y-125150000D03*
X159275000Y-73675000D03*
X98520000Y-133890000D03*
X174750000Y-133750000D03*
X186200000Y-134480000D03*
X133900000Y-45500000D03*
X190000000Y-42250000D03*
X163750000Y-64550000D03*
X107050000Y-118400000D03*
X169325000Y-126400000D03*
@ -575,19 +442,25 @@ X126000000Y-61500000D03*
X174000000Y-77500000D03*
X149500000Y-45600000D03*
X168200000Y-62700000D03*
X181450000Y-124250000D03*
X191900000Y-120725000D03*
%TO.N,+3V3*%
X136800000Y-45425000D03*
X174000000Y-85500000D03*
X107950000Y-97400000D03*
X179340000Y-118370000D03*
X145100000Y-102800000D03*
X162250000Y-52000000D03*
X180625000Y-100250000D03*
X179000000Y-94750000D03*
X167550000Y-85000000D03*
X104840000Y-116440000D03*
X190050000Y-46750000D03*
X97550000Y-127820000D03*
X148597347Y-119722653D03*
X150550000Y-125850000D03*
X139630851Y-110080851D03*
X192675000Y-78225000D03*
X142010000Y-59800000D03*
X136800000Y-126400000D03*
X196975000Y-128825000D03*
@ -596,6 +469,7 @@ X147600000Y-63550000D03*
X162850000Y-133750000D03*
X145050000Y-131325000D03*
X169080000Y-73850000D03*
X100000000Y-137480000D03*
X179450000Y-67650000D03*
X124100000Y-99600000D03*
X175325000Y-104250000D03*
@ -605,9 +479,13 @@ X167575000Y-108275000D03*
X120560000Y-123420000D03*
X185800000Y-82150000D03*
X175020000Y-112270000D03*
X158490000Y-95900000D03*
X117450000Y-99300000D03*
X170550000Y-64750000D03*
X181000000Y-40000000D03*
X184250000Y-106750000D03*
X147700000Y-125350000D03*
X170000000Y-127750000D03*
X145410000Y-93380000D03*
X197000000Y-42750000D03*
X172550000Y-67700000D03*
@ -616,42 +494,66 @@ X159900000Y-85700000D03*
X167570000Y-112320000D03*
X161950000Y-45600000D03*
X134400000Y-59100000D03*
X92060000Y-136480000D03*
X171495000Y-112295000D03*
X190950000Y-52850000D03*
X167585000Y-97309640D03*
X179500000Y-64700000D03*
X166250000Y-125500000D03*
X157225000Y-77075000D03*
X155250000Y-39750000D03*
X163875000Y-125525000D03*
X184250000Y-109250000D03*
X98560000Y-136480000D03*
X124525000Y-114950000D03*
X152800000Y-120700000D03*
X104250000Y-119810000D03*
X127800000Y-115075000D03*
X159160000Y-98897653D03*
X154750000Y-92800000D03*
X109600000Y-96750000D03*
X173150000Y-102675000D03*
X117150000Y-93000000D03*
X163650000Y-108300000D03*
X169760000Y-52870000D03*
X175275000Y-100725000D03*
X181000000Y-128500000D03*
X178675000Y-89000000D03*
X145675000Y-45500000D03*
X177550000Y-73325000D03*
X187775000Y-116450000D03*
X100300000Y-103450000D03*
X129400000Y-130650000D03*
X98850000Y-100400000D03*
X156975000Y-86400000D03*
X183800000Y-40050000D03*
X179250000Y-77750000D03*
X196700000Y-71060000D03*
X182750000Y-118750000D03*
X187800000Y-69400000D03*
X160400000Y-102920000D03*
X179925000Y-126250000D03*
X162350000Y-109600000D03*
X153780000Y-59500000D03*
X109850000Y-112350000D03*
X136700000Y-50350000D03*
X149550000Y-92600000D03*
X144250000Y-43500000D03*
X116420000Y-112350000D03*
X193470000Y-131550000D03*
X124600000Y-105700000D03*
X176900000Y-67700000D03*
X182175000Y-66225000D03*
X92000000Y-131500000D03*
X190575000Y-118325000D03*
X109650000Y-93800000D03*
X137050000Y-54660000D03*
X150650000Y-136351494D03*
X139300000Y-59100000D03*
X116020000Y-121080000D03*
X182300000Y-85350000D03*
X152150000Y-54110000D03*
X142500000Y-39750000D03*
X179525000Y-109650000D03*
X156150000Y-45450000D03*
X180950000Y-108225000D03*
@ -662,18 +564,29 @@ X138350000Y-100450000D03*
X193120000Y-69740000D03*
X144950000Y-136350000D03*
X139050000Y-87825000D03*
X197250000Y-84250000D03*
X160400000Y-132000000D03*
X158550000Y-113580000D03*
X179925000Y-122500000D03*
X158500000Y-70650000D03*
X159180000Y-103960000D03*
X168000000Y-77750000D03*
X132425153Y-107149847D03*
X189250000Y-82075000D03*
X140000000Y-130850000D03*
X157401167Y-73604289D03*
X180625000Y-103550000D03*
X196650000Y-63700000D03*
X171950000Y-89110000D03*
X193500000Y-122675000D03*
X180950000Y-114425000D03*
X128550000Y-45450000D03*
X106250000Y-108500000D03*
X188120000Y-72940000D03*
X99420000Y-125960000D03*
X184200000Y-70740000D03*
X162325000Y-105750000D03*
X117500000Y-44000000D03*
X176710000Y-58550000D03*
X120600000Y-116610000D03*
X102550000Y-118000000D03*
@ -685,15 +598,22 @@ X166250000Y-73850000D03*
X161875000Y-73650000D03*
X170600000Y-67700000D03*
X130975000Y-67225000D03*
X162000000Y-43000000D03*
X147700000Y-126800000D03*
X106670000Y-105580000D03*
X196700000Y-66200000D03*
X170000000Y-85000000D03*
X160400000Y-133750000D03*
X100059999Y-132500000D03*
X194500000Y-40000000D03*
X123050000Y-45550000D03*
X126650000Y-87625000D03*
X184250000Y-103350000D03*
X116300000Y-98200000D03*
X175275000Y-93925000D03*
X126600000Y-119788080D03*
X117000000Y-51000000D03*
X143125000Y-108675000D03*
X135950000Y-119600000D03*
X141000000Y-110920000D03*
X173150000Y-99200000D03*
@ -707,14 +627,20 @@ X174450000Y-97000000D03*
X93880000Y-126060000D03*
X182300000Y-81600000D03*
X152450000Y-98000000D03*
X184840000Y-137940000D03*
X182750000Y-122500000D03*
X175250000Y-54000000D03*
X176950000Y-64750000D03*
X130900000Y-110900000D03*
X196950000Y-91400000D03*
X127630000Y-110310000D03*
X116400000Y-96500000D03*
X172750000Y-45500000D03*
X196700000Y-68390000D03*
X144125000Y-102800000D03*
X115250000Y-40000000D03*
X186410000Y-70730000D03*
X175380000Y-59950000D03*
X165900000Y-72300000D03*
X156000000Y-133750000D03*
X100390000Y-115500000D03*
@ -729,14 +655,19 @@ X139800000Y-125550000D03*
X97520000Y-124160000D03*
X136800000Y-128200000D03*
X195750000Y-77300000D03*
X98500000Y-131500000D03*
X123500000Y-59100000D03*
X184250000Y-58500000D03*
X197000000Y-115400000D03*
X117100000Y-90400000D03*
X147100000Y-71350000D03*
X105510000Y-125630000D03*
X163275000Y-97850000D03*
X159120000Y-97450000D03*
X98600000Y-112000000D03*
X182750000Y-126250000D03*
X154850000Y-95650000D03*
X119675000Y-91375000D03*
X175150000Y-127950000D03*
X159125000Y-78125000D03*
X198120000Y-131080000D03*
@ -744,6 +675,7 @@ X145400000Y-100000000D03*
X138100000Y-129560000D03*
X180625000Y-96650000D03*
X159150000Y-101210000D03*
X130250000Y-55500000D03*
X145400000Y-88350000D03*
X130850000Y-96550000D03*
X104850000Y-114430000D03*
@ -751,7 +683,10 @@ X113480000Y-125100000D03*
X109020000Y-105585000D03*
X196950000Y-94900000D03*
X182300000Y-78100000D03*
X135500000Y-43250000D03*
X150060000Y-59510000D03*
X130950000Y-123500000D03*
X182200000Y-69425000D03*
X92540000Y-124220000D03*
X174650000Y-64750000D03*
X170375000Y-61400000D03*
@ -760,6 +695,7 @@ X173175000Y-94900000D03*
X148125000Y-100075000D03*
X127600000Y-107890000D03*
X196000000Y-82550000D03*
X178750000Y-54000000D03*
X197000000Y-111700000D03*
X188310000Y-134430000D03*
X100400000Y-99750000D03*
@ -770,13 +706,18 @@ X128900000Y-108940000D03*
X127230000Y-54650000D03*
X197000000Y-118900000D03*
X122750000Y-98750000D03*
X116000000Y-62000000D03*
X147500000Y-47500000D03*
X135050000Y-136400000D03*
X98600000Y-120350000D03*
X192500000Y-48750000D03*
X142550000Y-105600000D03*
X125750000Y-99700000D03*
X174600000Y-67700000D03*
X166170000Y-53470000D03*
X152500000Y-90000000D03*
X172590000Y-56980000D03*
X189120000Y-137940000D03*
X131300000Y-45450000D03*
X170050000Y-89110000D03*
X118313602Y-115000000D03*
@ -785,40 +726,58 @@ X184940000Y-72290000D03*
X171675000Y-104450000D03*
X143850000Y-99100000D03*
X193500000Y-118925000D03*
X112250000Y-98250000D03*
X180500000Y-138000000D03*
X92570000Y-127880000D03*
X100300000Y-118000000D03*
X187300000Y-40000000D03*
X185750000Y-77650000D03*
X185275000Y-93925000D03*
X129250000Y-39750000D03*
X171100000Y-108250000D03*
X136800000Y-123900000D03*
X197000000Y-40000000D03*
X193675000Y-110675000D03*
X126375000Y-97725000D03*
X135500000Y-47500000D03*
X197000000Y-122650000D03*
X168200000Y-120775000D03*
X94000000Y-132500000D03*
X167100000Y-59100000D03*
X160400000Y-128350000D03*
X174875000Y-108250000D03*
X197000000Y-104450000D03*
X194750000Y-84250000D03*
X104125000Y-97125000D03*
X94060000Y-137480000D03*
X168650000Y-45475000D03*
X169350000Y-71125000D03*
X128800000Y-119800000D03*
X117050000Y-88150000D03*
X167525000Y-126500000D03*
X175150000Y-130400000D03*
X161325000Y-75925000D03*
X144700000Y-54150000D03*
X130975000Y-63100000D03*
X185750000Y-85500000D03*
X129080000Y-132700000D03*
X125440000Y-104250000D03*
X177500000Y-85500000D03*
X113150000Y-93800000D03*
X112950000Y-112300000D03*
X180970000Y-112445000D03*
X117000000Y-54000000D03*
X157175000Y-81325000D03*
X197025000Y-126025000D03*
X149750000Y-54320000D03*
X176200000Y-134575000D03*
X187250000Y-61000000D03*
X175000000Y-114250000D03*
X178425000Y-45500000D03*
X149500000Y-43250000D03*
X180850000Y-117320000D03*
X139850000Y-99250000D03*
X167750000Y-39750000D03*
X136800000Y-121300000D03*
X130250000Y-58750000D03*
X183970000Y-134490000D03*
@ -1143,14 +1102,6 @@ X112875000Y-113800000D03*
%TO.N,/TSAL/Mismatch_AIR_or_PRE*%
X107200000Y-107880000D03*
X106962653Y-116237347D03*
%TO.N,+3V3*%
X174000000Y-85500000D03*
X92570000Y-127880000D03*
X97550000Y-127820000D03*
%TO.N,GND*%
X95160000Y-127840000D03*
%TO.N,+3V3*%
X187250000Y-61000000D03*
%TD*%
%TA.AperFunction,Conductor*%
%TO.N,GND*%
@ -10857,26 +10808,7 @@ X101864956Y-106653237D01*
X101864955Y-106653239D01*
X101844318Y-106809998D01*
X97805366Y-106809998D01*
X97805829Y-105399998D01*
X103544318Y-105399998D01*
X103544318Y-105400001D01*
X103564955Y-105556760D01*
X103564956Y-105556762D01*
X103624287Y-105700001D01*
X103625464Y-105702841D01*
X103721718Y-105828282D01*
X103847159Y-105924536D01*
X103993238Y-105985044D01*
X104055478Y-105993238D01*
X104149999Y-106005682D01*
X104150000Y-106005682D01*
X104150001Y-106005682D01*
X104244514Y-105993239D01*
X104306762Y-105985044D01*
X104452841Y-105924536D01*
X104578282Y-105828282D01*
X104674536Y-105702841D01*
X104725419Y-105579998D01*
X97805770Y-105579998D01*
X106064318Y-105579998D01*
X106064318Y-105580001D01*
X106084955Y-105736760D01*
@ -11410,26 +11342,7 @@ X106145463Y-105277160D01*
X106084956Y-105423237D01*
X106084955Y-105423239D01*
X106064318Y-105579998D01*
X104725419Y-105579998D01*
X104735044Y-105556762D01*
X104755682Y-105400000D01*
X104735044Y-105243238D01*
X104674536Y-105097159D01*
X104578282Y-104971718D01*
X104452841Y-104875464D01*
X104306762Y-104814956D01*
X104306760Y-104814955D01*
X104150001Y-104794318D01*
X104149999Y-104794318D01*
X103993239Y-104814955D01*
X103993237Y-104814956D01*
X103847160Y-104875463D01*
X103721718Y-104971718D01*
X103625463Y-105097160D01*
X103564956Y-105243237D01*
X103564955Y-105243239D01*
X103544318Y-105399998D01*
X97805829Y-105399998D01*
X97805770Y-105579998D01*
X97806051Y-104724998D01*
X114844318Y-104724998D01*
X114844318Y-104725001D01*
@ -11602,11 +11515,11 @@ X166475464Y-104952841D01*
X166571718Y-105078282D01*
X166697159Y-105174536D01*
X166843238Y-105235044D01*
X166905478Y-105243238D01*
X166880541Y-105239955D01*
X166999999Y-105255682D01*
X167000000Y-105255682D01*
X167000001Y-105255682D01*
X167094514Y-105243239D01*
X167052254Y-105248802D01*
X167156762Y-105235044D01*
X167302841Y-105174536D01*
X167428282Y-105078282D01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:36+01:00*%
%TF.CreationDate,2025-03-18T14:51:49+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,NonPlated,1,4,NPTH,Drill*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:36*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:51:49*
%MOMM*%
%LPD*%
G01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.2*%
%TF.CreationDate,2025-02-27T21:24:36+01:00*%
%TF.CreationDate,2025-03-18T14:51:49+01:00*%
%TF.ProjectId,Master_FT25,4d617374-6572-45f4-9654-32352e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Plated,1,4,PTH,Drill*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-02-27 21:24:36*
G04 Created by KiCad (PCBNEW 8.0.2) date 2025-03-18 14:51:49*
%MOMM*%
%LPD*%
G01*
@ -112,7 +112,6 @@ X103400000Y-83600000D03*
X103700000Y-125150000D03*
X104000000Y-122000000D03*
X104125000Y-97125000D03*
X104150000Y-105400000D03*
X104200000Y-118200000D03*
X104250000Y-119810000D03*
X104840000Y-116440000D03*

View File

@ -5,7 +5,7 @@
"Application": "Pcbnew",
"Version": "8.0.2"
},
"CreationDate": "2025-02-27T21:24:33+01:00"
"CreationDate": "2025-03-18T14:55:19+01:00"
},
"GeneralSpecs": {
"ProjectId": {

View File

@ -4433,7 +4433,7 @@
(justify left)
)
)
(property "Value" "3V_ON"
(property "Value" "LED GREEN"
(at 157.48 142.5574 90)
(effects
(font
@ -4460,7 +4460,7 @@
(hide yes)
)
)
(property "Description" "Light emitting diode"
(property "Description" "HV Active"
(at 154.94 139.7 0)
(effects
(font
@ -4557,7 +4557,7 @@
(hide yes)
)
)
(property "Description" "Light emitting diode"
(property "Description" "3v3 on"
(at 82.55 68.58 0)
(effects
(font

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
2025-03-18 13:07:51,738 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] 13:07:51.735 ERROR Chromium process exit code: -2,147,483,645
2025-03-18 13:07:51,767 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT]
2025-03-18 13:07:51,769 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] 13:07:51.768 ERROR Crash dump dir: C:\Users\lenex\AppData\Local\JxBrowser\7.39.2\CrashReports
2025-03-18 13:07:51,769 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT]
2025-03-18 13:07:51,772 [ERROR] WebApp:398 - JxBrowser engine crashed! Exit code: -2147483645
2025-03-18 19:45:35,588 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT]
2025-03-18 19:45:35,591 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT]

View File

@ -0,0 +1,2 @@
2025-03-18 12:20:16,192 [INFO] WebApp:187 - Connection restablished
2025-03-18 13:07:47,694 [INFO] WebApp:190 - Connection lost

0
Software/.metadata/.lock Normal file
View File

334
Software/.metadata/.log Normal file
View File

@ -0,0 +1,334 @@
!SESSION 2025-03-17 15:56:51.202 -----------------------------------------------
eclipse.buildId=Version 1.17.0
java.version=21.0.3
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-03-17 15:57:34.225
!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late.
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-03-17 15:57:34.228
!MESSAGE Log4j2 initialized with config file C:\lene\fasttube\FT25\03_ams\ams-master\Software\.metadata\.log4j2.xml
!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-03-17 15:57:38.732
!MESSAGE Started RMI Server, listening on port 41337
!ENTRY org.eclipse.ui.ide 4 0 2025-03-17 15:57:46.743
!MESSAGE Could not import project located at C:\lene\fasttube\FT25\03_ams\ams-master\Software
!STACK 0
org.eclipse.ui.internal.wizards.datatransfer.CouldNotImportProjectException: Could not import project located at C:\lene\fasttube\FT25\03_ams\ams-master\Software
at org.eclipse.ui.internal.wizards.datatransfer.SmartImportJob.toExistingOrNewProject(SmartImportJob.java:564)
at org.eclipse.ui.internal.wizards.datatransfer.SmartImportJob.run(SmartImportJob.java:251)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.eclipse.core.internal.resources.ResourceException: Invalid project description.
at org.eclipse.core.internal.resources.Project.checkDescription(Project.java:211)
at org.eclipse.core.internal.resources.Project.assertCreateRequirements(Project.java:95)
at org.eclipse.core.internal.resources.Project.create(Project.java:305)
at org.eclipse.core.internal.resources.Project.create(Project.java:291)
at org.eclipse.ui.internal.wizards.datatransfer.SmartImportJob.createOrImportProject(SmartImportJob.java:603)
at org.eclipse.ui.internal.wizards.datatransfer.SmartImportJob.toExistingOrNewProject(SmartImportJob.java:551)
... 2 more
!SESSION 2025-03-17 15:58:49.027 -----------------------------------------------
eclipse.buildId=Version 1.17.0
java.version=21.0.3
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-03-17 16:04:21.158
!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late.
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-03-17 16:04:21.163
!MESSAGE Log4j2 initialized with config file C:\lene\fasttube\FT25\03_ams\ams-master\Software\.metadata\.log4j2.xml
!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-03-17 16:04:24.211
!MESSAGE Started RMI Server, listening on port 41337
!ENTRY org.eclipse.cdt.core 1 0 2025-03-17 16:06:29.213
!MESSAGE Indexed 'Master_FT25' (29 sources, 93 headers) in 8.39 sec: 11,184 declarations; 99,670 references; 0 unresolved inclusions; 1 syntax errors; 2 unresolved names (0.0018%)
!SESSION 2025-03-17 17:58:42.838 -----------------------------------------------
eclipse.buildId=Version 1.17.0
java.version=21.0.3
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-03-17 17:58:53.310
!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late.
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-03-17 17:58:53.311
!MESSAGE Log4j2 initialized with config file C:\lene\fasttube\FT25\03_ams\ams-master\Software\.metadata\.log4j2.xml
!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-03-17 17:59:08.316
!MESSAGE Started RMI Server, listening on port 41337
!ENTRY org.eclipse.cdt.core 4 0 2025-03-17 18:01:05.240
!MESSAGE Error: Not ELF format
!STACK 0
java.io.IOException: Not ELF format
at org.eclipse.cdt.utils.elf.Elf$ELFhdr.<init>(Elf.java:197)
at org.eclipse.cdt.utils.elf.Elf.commonSetup(Elf.java:690)
at org.eclipse.cdt.utils.elf.Elf.<init>(Elf.java:709)
at org.eclipse.cdt.utils.elf.Elf.getAttributes(Elf.java:957)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getAttribute(ElfParser.java:137)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getBinary(ElfParser.java:55)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getBinary(ElfParser.java:41)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.isBinary(ImportExecutablePageOne.java:611)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.isBinary(ImportExecutablePageOne.java:635)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.validateExe(ImportExecutablePageOne.java:662)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne$12.modifyText(ImportExecutablePageOne.java:452)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:183)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1071)
at org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:3106)
at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:4895)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4747)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5039)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Text.callWindowProc(Text.java:295)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4845)
at org.eclipse.swt.widgets.Text.windowProc(Text.java:2687)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5039)
at org.eclipse.swt.internal.win32.OS.SetWindowText(Native Method)
at org.eclipse.swt.internal.win32.OS.SetWindowText(OS.java:2282)
at org.eclipse.swt.widgets.Text.setText(Text.java:2348)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne$13.widgetSelected(ImportExecutablePageOne.java:477)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4071)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3659)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(WizardHandler.java:153)
at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:283)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:99)
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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:298)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:232)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:165)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:389)
at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:142)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4071)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3659)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:648)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555)
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:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
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:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
!ENTRY org.eclipse.cdt.core 4 0 2025-03-17 18:01:05.243
!MESSAGE Error: Not ELF format
!STACK 0
java.io.IOException: Not ELF format
at org.eclipse.cdt.utils.elf.Elf$ELFhdr.<init>(Elf.java:197)
at org.eclipse.cdt.utils.elf.Elf.commonSetup(Elf.java:690)
at org.eclipse.cdt.utils.elf.Elf.<init>(Elf.java:709)
at org.eclipse.cdt.utils.elf.Elf.getAttributes(Elf.java:957)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getAttribute(ElfParser.java:137)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getBinary(ElfParser.java:55)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getBinary(ElfParser.java:41)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.isBinary(ImportExecutablePageOne.java:611)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.isBinary(ImportExecutablePageOne.java:644)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.validateExe(ImportExecutablePageOne.java:662)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne$12.modifyText(ImportExecutablePageOne.java:452)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:183)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1071)
at org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:3106)
at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:4895)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4747)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5039)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Text.callWindowProc(Text.java:295)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4845)
at org.eclipse.swt.widgets.Text.windowProc(Text.java:2687)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5039)
at org.eclipse.swt.internal.win32.OS.SetWindowText(Native Method)
at org.eclipse.swt.internal.win32.OS.SetWindowText(OS.java:2282)
at org.eclipse.swt.widgets.Text.setText(Text.java:2348)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne$13.widgetSelected(ImportExecutablePageOne.java:477)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4071)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3659)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(WizardHandler.java:153)
at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:283)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:99)
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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:298)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:232)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:165)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:389)
at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:142)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4071)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3659)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:648)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555)
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:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
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:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
!ENTRY org.eclipse.cdt.core 4 0 2025-03-17 18:01:05.245
!MESSAGE Error: Not ELF format
!STACK 0
java.io.IOException: Not ELF format
at org.eclipse.cdt.utils.elf.Elf$ELFhdr.<init>(Elf.java:197)
at org.eclipse.cdt.utils.elf.Elf.commonSetup(Elf.java:690)
at org.eclipse.cdt.utils.elf.Elf.<init>(Elf.java:709)
at org.eclipse.cdt.utils.elf.Elf.getAttributes(Elf.java:957)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getAttribute(ElfParser.java:137)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getBinary(ElfParser.java:55)
at org.eclipse.cdt.utils.elf.parser.ElfParser.getBinary(ElfParser.java:41)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.isBinary(ImportExecutablePageOne.java:611)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.isBinary(ImportExecutablePageOne.java:644)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne.validateExe(ImportExecutablePageOne.java:662)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne$12.modifyText(ImportExecutablePageOne.java:452)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:183)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1071)
at org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:3106)
at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:4895)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4747)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5039)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Text.callWindowProc(Text.java:295)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4845)
at org.eclipse.swt.widgets.Text.windowProc(Text.java:2687)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5039)
at org.eclipse.swt.internal.win32.OS.SetWindowText(Native Method)
at org.eclipse.swt.internal.win32.OS.SetWindowText(OS.java:2282)
at org.eclipse.swt.widgets.Text.setText(Text.java:2348)
at org.eclipse.cdt.debug.ui.importexecutable.ImportExecutablePageOne$13.widgetSelected(ImportExecutablePageOne.java:477)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4071)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3659)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(WizardHandler.java:153)
at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:283)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:99)
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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:298)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:232)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:165)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:389)
at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:142)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4071)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3659)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:648)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555)
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:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
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:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
!SESSION 2025-03-17 19:36:35.604 -----------------------------------------------
eclipse.buildId=Version 1.17.0
java.version=21.0.3
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2025-03-17 19:37:04.927
!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late.
!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2025-03-17 19:37:04.927
!MESSAGE Log4j2 initialized with config file C:\lene\fasttube\FT25\03_ams\ams-master\Software\.metadata\.log4j2.xml
!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2025-03-17 19:37:21.483
!MESSAGE Started RMI Server, listening on port 41337

View File

@ -0,0 +1,4 @@
*** SESSION März 17, 2025 15:57:30.884 -----------------------------------------
*** SESSION März 17, 2025 16:04:19.820 -----------------------------------------
*** SESSION März 17, 2025 17:58:51.780 -----------------------------------------
*** SESSION März 17, 2025 19:37:03.23 ------------------------------------------

View File

@ -0,0 +1,77 @@
20:36:52 **** Incremental Build of configuration Debug for project Master_FT25 ****
make -j8 all
arm-none-eabi-gcc "../Core/Src/can-halal.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/can-halal.d" -MT"Core/Src/can-halal.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/can-halal.o"
arm-none-eabi-gcc "../Core/Src/can.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/can.d" -MT"Core/Src/can.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/can.o"
arm-none-eabi-gcc "../Core/Src/imd_monitoring.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/imd_monitoring.d" -MT"Core/Src/imd_monitoring.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/imd_monitoring.o"
arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o"
arm-none-eabi-gcc "../Core/Src/shunt_monitoring.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/shunt_monitoring.d" -MT"Core/Src/shunt_monitoring.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/shunt_monitoring.o"
arm-none-eabi-gcc "../Core/Src/soc_estimation.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/soc_estimation.d" -MT"Core/Src/soc_estimation.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/soc_estimation.o"
arm-none-eabi-gcc "../Core/Src/status_led.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/status_led.d" -MT"Core/Src/status_led.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/status_led.o"
arm-none-eabi-gcc "../Core/Src/stm32h7xx_hal_msp.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/stm32h7xx_hal_msp.d" -MT"Core/Src/stm32h7xx_hal_msp.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/stm32h7xx_hal_msp.o"
In file included from ../Core/Src/can-halal.c:1:
../Core/Inc/can-halal.h:26:10: error: #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
26 | #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
| ^~~~~
In file included from ../Core/Src/can.c:9:
../Core/Inc/can-halal.h:26:10: error: #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
26 | #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
| ^~~~~
../Core/Src/can.c: In function 'can_send_status':
../Core/Src/can.c:27:36: error: 'min_voltage' undeclared (first use in this function)
27 | ftcan_marshal_unsigned(&data[2], min_voltage, 2);
| ^~~~~~~~~~~
../Core/Src/can.c:27:36: note: each undeclared identifier is reported only once for each function it appears in
../Core/Src/can.c:28:34: error: 'max_temp' undeclared (first use in this function)
28 | ftcan_marshal_signed(&data[4], max_temp, 2);
| ^~~~~~~~
../Core/Src/can-halal.c: In function 'ftcan_add_filter':
In file included from ../Core/Src/shunt_monitoring.c:9:
../Core/Inc/can-halal.h:26:10: error: #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
26 | #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
| ^~~~~
../Core/Src/can-halal.c:155:28: error: 'FTCAN_NUM_FILTERS' undeclared (first use in this function)
155 | if (filter.FilterIndex > FTCAN_NUM_FILTERS + 1) {
| ^~~~~~~~~~~~~~~~~
../Core/Src/can-halal.c:155:28: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Core/Src/subdir.mk:58: Core/Src/shunt_monitoring.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Core/Src/subdir.mk:58: Core/Src/can-halal.o] Error 1
../Core/Src/status_led.c:7:2: warning: #warning enable the second LED [-Wcpp]
7 | #warning enable the second LED
| ^~~~~~~
../Core/Src/soc_estimation.c: In function 'soc_update':
../Core/Src/soc_estimation.c:50:31: error: 'min_voltage' undeclared (first use in this function)
50 | current_soc = soc_for_ocv(min_voltage);
| ^~~~~~~~~~~
../Core/Src/soc_estimation.c:50:31: note: each undeclared identifier is reported only once for each function it appears in
../Core/Src/main.c: In function 'update_tsal_signals':
../Core/Src/main.c:124:39: error: 'PRECHARGE_CLOSED_GPIO_Port' undeclared (first use in this function); did you mean 'PRECHARGE_CTRL_GPIO_Port'?
124 | precharge_closed = HAL_GPIO_ReadPin(PRECHARGE_CLOSED_GPIO_Port,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| PRECHARGE_CTRL_GPIO_Port
../Core/Src/main.c:124:39: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Core/Src/subdir.mk:58: Core/Src/soc_estimation.o] Error 1
../Core/Src/can.c: In function 'ftcan_msg_received_cb':
../Core/Src/can.c:57:5: warning: implicit declaration of function 'slaves_handle_status' [-Wimplicit-function-declaration]
57 | slaves_handle_status(data);
| ^~~~~~~~~~~~~~~~~~~~
../Core/Src/main.c:125:39: error: 'PRECHARGE_CLOSED_Pin' undeclared (first use in this function); did you mean 'PRECHARGE_CTRL_Pin'?
125 | PRECHARGE_CLOSED_Pin) == GPIO_PIN_SET;
| ^~~~~~~~~~~~~~~~~~~~
| PRECHARGE_CTRL_Pin
../Core/Src/can.c:62:5: warning: implicit declaration of function 'slaves_handle_panic' [-Wimplicit-function-declaration]
62 | slaves_handle_panic(data);
| ^~~~~~~~~~~~~~~~~~~
../Core/Src/main.c: In function 'main':
../Core/Src/main.c:170:3: warning: implicit declaration of function 'slaves_init' [-Wimplicit-function-declaration]
170 | slaves_init();
| ^~~~~~~~~~~
make: *** [Core/Src/subdir.mk:58: Core/Src/main.o] Error 1
../Core/Src/can.c:65:5: warning: implicit declaration of function 'slaves_handle_log' [-Wimplicit-function-declaration]
65 | slaves_handle_log(data);
| ^~~~~~~~~~~~~~~~~
make: *** [Core/Src/subdir.mk:58: Core/Src/can.o] Error 1
"make -j8 all" terminated with exit code 2. Build might be incomplete.
20:36:53 Build Failed. 15 errors, 5 warnings. (took 1s.148ms)

View File

@ -0,0 +1,74 @@
20:36:52 **** Incremental Build of configuration Debug for project Master_FT25 ****
make -j8 all
arm-none-eabi-gcc "../Core/Src/can-halal.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/can-halal.d" -MT"Core/Src/can-halal.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/can-halal.o"
arm-none-eabi-gcc "../Core/Src/can.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/can.d" -MT"Core/Src/can.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/can.o"
arm-none-eabi-gcc "../Core/Src/imd_monitoring.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/imd_monitoring.d" -MT"Core/Src/imd_monitoring.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/imd_monitoring.o"
arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o"
arm-none-eabi-gcc "../Core/Src/shunt_monitoring.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/shunt_monitoring.d" -MT"Core/Src/shunt_monitoring.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/shunt_monitoring.o"
arm-none-eabi-gcc "../Core/Src/soc_estimation.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/soc_estimation.d" -MT"Core/Src/soc_estimation.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/soc_estimation.o"
arm-none-eabi-gcc "../Core/Src/status_led.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/status_led.d" -MT"Core/Src/status_led.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/status_led.o"
arm-none-eabi-gcc "../Core/Src/stm32h7xx_hal_msp.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H7A3xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/stm32h7xx_hal_msp.d" -MT"Core/Src/stm32h7xx_hal_msp.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Core/Src/stm32h7xx_hal_msp.o"
In file included from ../Core/Src/can-halal.c:1:
../Core/Inc/can-halal.h:26:10: error: #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
26 | #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
| ^~~~~
In file included from ../Core/Src/can.c:9:
../Core/Inc/can-halal.h:26:10: error: #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
26 | #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
| ^~~~~
../Core/Src/can.c: In function 'can_send_status':
../Core/Src/can.c:27:36: error: 'min_voltage' undeclared (first use in this function)
27 | ftcan_marshal_unsigned(&data[2], min_voltage, 2);
| ^~~~~~~~~~~
../Core/Src/can.c:27:36: note: each undeclared identifier is reported only once for each function it appears in
../Core/Src/can.c:28:34: error: 'max_temp' undeclared (first use in this function)
28 | ftcan_marshal_signed(&data[4], max_temp, 2);
| ^~~~~~~~
../Core/Src/can-halal.c: In function 'ftcan_add_filter':
In file included from ../Core/Src/shunt_monitoring.c:9:
../Core/Inc/can-halal.h:26:10: error: #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
26 | #error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
| ^~~~~
../Core/Src/can-halal.c:155:28: error: 'FTCAN_NUM_FILTERS' undeclared (first use in this function)
155 | if (filter.FilterIndex > FTCAN_NUM_FILTERS + 1) {
| ^~~~~~~~~~~~~~~~~
../Core/Src/can-halal.c:155:28: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Core/Src/subdir.mk:58: Core/Src/shunt_monitoring.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Core/Src/subdir.mk:58: Core/Src/can-halal.o] Error 1
../Core/Src/status_led.c:7:2: warning: #warning enable the second LED [-Wcpp]
7 | #warning enable the second LED
| ^~~~~~~
../Core/Src/soc_estimation.c: In function 'soc_update':
../Core/Src/soc_estimation.c:50:31: error: 'min_voltage' undeclared (first use in this function)
50 | current_soc = soc_for_ocv(min_voltage);
| ^~~~~~~~~~~
../Core/Src/soc_estimation.c:50:31: note: each undeclared identifier is reported only once for each function it appears in
../Core/Src/main.c: In function 'update_tsal_signals':
../Core/Src/main.c:124:39: error: 'PRECHARGE_CLOSED_GPIO_Port' undeclared (first use in this function); did you mean 'PRECHARGE_CTRL_GPIO_Port'?
124 | precharge_closed = HAL_GPIO_ReadPin(PRECHARGE_CLOSED_GPIO_Port,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| PRECHARGE_CTRL_GPIO_Port
../Core/Src/main.c:124:39: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Core/Src/subdir.mk:58: Core/Src/soc_estimation.o] Error 1
../Core/Src/can.c: In function 'ftcan_msg_received_cb':
../Core/Src/can.c:57:5: warning: implicit declaration of function 'slaves_handle_status' [-Wimplicit-function-declaration]
57 | slaves_handle_status(data);
| ^~~~~~~~~~~~~~~~~~~~
../Core/Src/main.c:125:39: error: 'PRECHARGE_CLOSED_Pin' undeclared (first use in this function); did you mean 'PRECHARGE_CTRL_Pin'?
125 | PRECHARGE_CLOSED_Pin) == GPIO_PIN_SET;
| ^~~~~~~~~~~~~~~~~~~~
| PRECHARGE_CTRL_Pin
../Core/Src/can.c:62:5: warning: implicit declaration of function 'slaves_handle_panic' [-Wimplicit-function-declaration]
62 | slaves_handle_panic(data);
| ^~~~~~~~~~~~~~~~~~~
../Core/Src/main.c: In function 'main':
../Core/Src/main.c:170:3: warning: implicit declaration of function 'slaves_init' [-Wimplicit-function-declaration]
170 | slaves_init();
| ^~~~~~~~~~~
make: *** [Core/Src/subdir.mk:58: Core/Src/main.o] Error 1
../Core/Src/can.c:65:5: warning: implicit declaration of function 'slaves_handle_log' [-Wimplicit-function-declaration]
65 | slaves_handle_log(data);
| ^~~~~~~~~~~~~~~~~
make: *** [Core/Src/subdir.mk:58: Core/Src/can.o] Error 1
"make -j8 all" terminated with exit code 2. Build might be incomplete.

View File

@ -0,0 +1,13 @@
/*
* can.h
*
* Created on: Mar 17, 2025
* Author: lenex
*/
#ifndef SRC_CAN_H_
#define SRC_CAN_H_
#endif /* SRC_CAN_H_ */

View File

@ -0,0 +1,2 @@
635E684B79701B039C64EA45C3F84D30=FDAE3FD014C9D9E4FBA73F9BD519AD99
eclipse.preferences.version=1

View File

@ -0,0 +1,36 @@
#ifndef INC_IMD_MONITORING_H
#define INC_IMD_MONITORING_H
#include <stdint.h>
#include "stm32f3xx_hal.h"
typedef enum {
IMD_STATE_UNKNOWN,
IMD_STATE_SHORTCIRCUIT_SUPPLY,
IMD_STATE_SHORTCIRCUIT_GND,
IMD_STATE_NORMAL,
IMD_STATE_UNDERVOLTAGE,
IMD_STATE_SST,
IMD_STATE_DEV_ERROR,
IMD_STATE_GND_FAULT,
} IMDState;
typedef struct {
int ok;
IMDState state;
uint32_t r_iso;
uint32_t freq;
uint32_t duty_cycle;
uint32_t last_high;
} IMDData;
extern IMDData imd_data;
void imd_init(TIM_HandleTypeDef *htim);
void imd_update(void);
#endif // INC_IMD_MONITORING_H

View File

@ -0,0 +1,729 @@
/* 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"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "can.h"
#include "imd_monitoring.h"
#include "shunt_monitoring.h"
#include "soc_estimation.h"
#include "ts_state_machine.h"
#include "status_led.h"
#include "stm32h7xx_hal.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
ADC_HandleTypeDef hadc1;
ADC_HandleTypeDef hadc2;
FDCAN_HandleTypeDef hfdcan1;
SPI_HandleTypeDef hspi1;
SPI_HandleTypeDef hspi2;
TIM_HandleTypeDef htim15;
/* USER CODE BEGIN PV */
int sdc_closed = 0;
int sdc_closed_nodelay = 0;
int ts_error;
int hv_active;
int neg_air_closed;
int pos_air_closed;
int precharge_closed;
int precharge_opened = 0;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_FDCAN1_Init(void);
static void MX_TIM15_Init(void);
static void MX_SPI1_Init(void);
static void MX_SPI2_Init(void);
static void MX_ADC1_Init(void);
static void MX_ADC2_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
#define MAIN_LOOP_PERIOD 50
static void loop_delay() {
static uint32_t last_loop = 0;
uint32_t dt = HAL_GetTick() - last_loop;
if (dt < MAIN_LOOP_PERIOD) {
HAL_Delay(MAIN_LOOP_PERIOD - dt);
//HAL_GPIO_WritePin(STATUS2_GPIO_Port, STATUS2_Pin, GPIO_PIN_RESET);
} else {
//HAL_GPIO_WritePin(STATUS2_GPIO_Port, STATUS2_Pin, GPIO_PIN_SET);
}
last_loop = HAL_GetTick();
}
static void update_sdc() {
static int last[2] = {0, 0};
sdc_closed_nodelay = HAL_GPIO_ReadPin(SDC_VOLTAGE_GPIO_Port, SDC_VOLTAGE_Pin) == GPIO_PIN_SET;
if (last[0] == last[1] && last[0] == sdc_closed_nodelay) {
sdc_closed = sdc_closed_nodelay;
}
last[0] = last[1];
last[1] = sdc_closed_nodelay;
}
static void update_tsal_signals() {
ts_error = HAL_GPIO_ReadPin(TS_ERROR_GPIO_Port, TS_ERROR_Pin) == GPIO_PIN_SET;
hv_active =
HAL_GPIO_ReadPin(HV_ACTIVE_GPIO_Port, HV_ACTIVE_Pin) == GPIO_PIN_SET;
neg_air_closed = HAL_GPIO_ReadPin(NEG_AIR_CLOSED_GPIO_Port,
NEG_AIR_CLOSED_Pin) == GPIO_PIN_SET;
pos_air_closed = HAL_GPIO_ReadPin(POS_AIR_CLOSED_GPIO_Port,
POS_AIR_CLOSED_Pin) == GPIO_PIN_SET;
precharge_closed = HAL_GPIO_ReadPin(PRECHARGE_CLOSED_GPIO_Port,
PRECHARGE_CLOSED_Pin) == GPIO_PIN_SET;
}
/* 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();
/* Configure the peripherals common clocks */
PeriphCommonClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_FDCAN1_Init();
MX_TIM15_Init();
MX_SPI1_Init();
MX_SPI2_Init();
MX_ADC1_Init();
MX_ADC2_Init();
/* USER CODE BEGIN 2 */
can_init(&hfdcan1);
slaves_init();
shunt_init();
ts_sm_init();
soc_init();
imd_init(&htim15);
HAL_GPIO_WritePin(AMS_NERROR_GPIO_Port, AMS_NERROR_Pin, GPIO_PIN_SET);
/* 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};
/*AXI clock gating */
RCC->CKGAENR = 0xFFFFFFFF;
/** Supply configuration update enable
*/
HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
/** Configure the main internal regulator output voltage
*/
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 1;
RCC_OscInitStruct.PLL.PLLN = 8;
RCC_OscInitStruct.PLL.PLLP = 2;
RCC_OscInitStruct.PLL.PLLQ = 2;
RCC_OscInitStruct.PLL.PLLR = 2;
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3;
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
RCC_OscInitStruct.PLL.PLLFRACN = 0;
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_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief Peripherals Common Clock Configuration
* @retval None
*/
void PeriphCommonClock_Config(void)
{
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_FDCAN;
PeriphClkInitStruct.PLL2.PLL2M = 1;
PeriphClkInitStruct.PLL2.PLL2N = 8;
PeriphClkInitStruct.PLL2.PLL2P = 3;
PeriphClkInitStruct.PLL2.PLL2Q = 3;
PeriphClkInitStruct.PLL2.PLL2R = 2;
PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
PeriphClkInitStruct.FdcanClockSelection = RCC_FDCANCLKSOURCE_PLL2;
PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief ADC1 Initialization Function
* @param None
* @retval None
*/
static void MX_ADC1_Init(void)
{
/* USER CODE BEGIN ADC1_Init 0 */
/* USER CODE END ADC1_Init 0 */
ADC_MultiModeTypeDef multimode = {0};
ADC_ChannelConfTypeDef sConfig = {0};
/* USER CODE BEGIN ADC1_Init 1 */
/* USER CODE END ADC1_Init 1 */
/** Common config
*/
hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc1.Init.Resolution = ADC_RESOLUTION_16B;
hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
hadc1.Init.LowPowerAutoWait = DISABLE;
hadc1.Init.ContinuousConvMode = DISABLE;
hadc1.Init.NbrOfConversion = 1;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
hadc1.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;
hadc1.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
hadc1.Init.OversamplingMode = DISABLE;
if (HAL_ADC_Init(&hadc1) != HAL_OK)
{
Error_Handler();
}
/** Configure the ADC multi-mode
*/
multimode.Mode = ADC_MODE_INDEPENDENT;
if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_10;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SingleDiff = ADC_SINGLE_ENDED;
sConfig.OffsetNumber = ADC_OFFSET_NONE;
sConfig.Offset = 0;
sConfig.OffsetSignedSaturation = DISABLE;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ADC1_Init 2 */
/* USER CODE END ADC1_Init 2 */
}
/**
* @brief ADC2 Initialization Function
* @param None
* @retval None
*/
static void MX_ADC2_Init(void)
{
/* USER CODE BEGIN ADC2_Init 0 */
/* USER CODE END ADC2_Init 0 */
ADC_ChannelConfTypeDef sConfig = {0};
/* USER CODE BEGIN ADC2_Init 1 */
/* USER CODE END ADC2_Init 1 */
/** Common config
*/
hadc2.Instance = ADC2;
hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc2.Init.Resolution = ADC_RESOLUTION_16B;
hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE;
hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
hadc2.Init.LowPowerAutoWait = DISABLE;
hadc2.Init.ContinuousConvMode = DISABLE;
hadc2.Init.NbrOfConversion = 1;
hadc2.Init.DiscontinuousConvMode = DISABLE;
hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
hadc2.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
hadc2.Init.Overrun = ADC_OVR_DATA_PRESERVED;
hadc2.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
hadc2.Init.OversamplingMode = DISABLE;
if (HAL_ADC_Init(&hadc2) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_10;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
sConfig.OffsetNumber = ADC_OFFSET_NONE;
sConfig.Offset = 0;
sConfig.OffsetSignedSaturation = DISABLE;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ADC2_Init 2 */
/* USER CODE END ADC2_Init 2 */
}
/**
* @brief FDCAN1 Initialization Function
* @param None
* @retval None
*/
static void MX_FDCAN1_Init(void)
{
/* USER CODE BEGIN FDCAN1_Init 0 */
/* USER CODE END FDCAN1_Init 0 */
/* USER CODE BEGIN FDCAN1_Init 1 */
/* USER CODE END FDCAN1_Init 1 */
hfdcan1.Instance = FDCAN1;
hfdcan1.Init.FrameFormat = FDCAN_FRAME_CLASSIC;
hfdcan1.Init.Mode = FDCAN_MODE_NORMAL;
hfdcan1.Init.AutoRetransmission = DISABLE;
hfdcan1.Init.TransmitPause = DISABLE;
hfdcan1.Init.ProtocolException = DISABLE;
hfdcan1.Init.NominalPrescaler = 2;
hfdcan1.Init.NominalSyncJumpWidth = 1;
hfdcan1.Init.NominalTimeSeg1 = 31;
hfdcan1.Init.NominalTimeSeg2 = 8;
hfdcan1.Init.DataPrescaler = 1;
hfdcan1.Init.DataSyncJumpWidth = 1;
hfdcan1.Init.DataTimeSeg1 = 1;
hfdcan1.Init.DataTimeSeg2 = 1;
hfdcan1.Init.MessageRAMOffset = 0;
hfdcan1.Init.StdFiltersNbr = 32;
hfdcan1.Init.ExtFiltersNbr = 0;
hfdcan1.Init.RxFifo0ElmtsNbr = 16;
hfdcan1.Init.RxFifo0ElmtSize = FDCAN_DATA_BYTES_8;
hfdcan1.Init.RxFifo1ElmtsNbr = 0;
hfdcan1.Init.RxFifo1ElmtSize = FDCAN_DATA_BYTES_8;
hfdcan1.Init.RxBuffersNbr = 0;
hfdcan1.Init.RxBufferSize = FDCAN_DATA_BYTES_8;
hfdcan1.Init.TxEventsNbr = 0;
hfdcan1.Init.TxBuffersNbr = 0;
hfdcan1.Init.TxFifoQueueElmtsNbr = 32;
hfdcan1.Init.TxFifoQueueMode = FDCAN_TX_FIFO_OPERATION;
hfdcan1.Init.TxElmtSize = FDCAN_DATA_BYTES_8;
if (HAL_FDCAN_Init(&hfdcan1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN FDCAN1_Init 2 */
/* USER CODE END FDCAN1_Init 2 */
}
/**
* @brief SPI1 Initialization Function
* @param None
* @retval None
*/
static void MX_SPI1_Init(void)
{
/* USER CODE BEGIN SPI1_Init 0 */
/* USER CODE END SPI1_Init 0 */
/* USER CODE BEGIN SPI1_Init 1 */
/* USER CODE END SPI1_Init 1 */
/* SPI1 parameter configuration*/
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
hspi1.Init.DataSize = SPI_DATASIZE_4BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi1.Init.NSS = SPI_NSS_HARD_OUTPUT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 0x0;
hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
hspi1.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;
hspi1.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
hspi1.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi1.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi1.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
hspi1.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE;
hspi1.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
hspi1.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE;
hspi1.Init.IOSwap = SPI_IO_SWAP_DISABLE;
if (HAL_SPI_Init(&hspi1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI1_Init 2 */
/* USER CODE END SPI1_Init 2 */
}
/**
* @brief SPI2 Initialization Function
* @param None
* @retval None
*/
static void MX_SPI2_Init(void)
{
/* USER CODE BEGIN SPI2_Init 0 */
/* USER CODE END SPI2_Init 0 */
/* USER CODE BEGIN SPI2_Init 1 */
/* USER CODE END SPI2_Init 1 */
/* SPI2 parameter configuration*/
hspi2.Instance = SPI2;
hspi2.Init.Mode = SPI_MODE_MASTER;
hspi2.Init.Direction = SPI_DIRECTION_2LINES;
hspi2.Init.DataSize = SPI_DATASIZE_4BIT;
hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi2.Init.NSS = SPI_NSS_HARD_INPUT;
hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi2.Init.CRCPolynomial = 0x0;
hspi2.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
hspi2.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;
hspi2.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
hspi2.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi2.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi2.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
hspi2.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE;
hspi2.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
hspi2.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE;
hspi2.Init.IOSwap = SPI_IO_SWAP_DISABLE;
if (HAL_SPI_Init(&hspi2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI2_Init 2 */
/* USER CODE END SPI2_Init 2 */
}
/**
* @brief TIM15 Initialization Function
* @param None
* @retval None
*/
static void MX_TIM15_Init(void)
{
/* USER CODE BEGIN TIM15_Init 0 */
/* USER CODE END TIM15_Init 0 */
TIM_SlaveConfigTypeDef sSlaveConfig = {0};
TIM_IC_InitTypeDef sConfigIC = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
/* USER CODE BEGIN TIM15_Init 1 */
/* USER CODE END TIM15_Init 1 */
htim15.Instance = TIM15;
htim15.Init.Prescaler = 16000-1;
htim15.Init.CounterMode = TIM_COUNTERMODE_UP;
htim15.Init.Period = 65535;
htim15.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim15.Init.RepetitionCounter = 0;
htim15.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
if (HAL_TIM_IC_Init(&htim15) != HAL_OK)
{
Error_Handler();
}
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_RESET;
sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
sSlaveConfig.TriggerPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
sSlaveConfig.TriggerPrescaler = TIM_ICPSC_DIV1;
sSlaveConfig.TriggerFilter = 0;
if (HAL_TIM_SlaveConfigSynchro(&htim15, &sSlaveConfig) != HAL_OK)
{
Error_Handler();
}
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
sConfigIC.ICFilter = 0;
if (HAL_TIM_IC_ConfigChannel(&htim15, &sConfigIC, TIM_CHANNEL_1) != HAL_OK)
{
Error_Handler();
}
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_FALLING;
sConfigIC.ICSelection = TIM_ICSELECTION_INDIRECTTI;
if (HAL_TIM_IC_ConfigChannel(&htim15, &sConfigIC, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim15, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM15_Init 2 */
/* USER CODE END TIM15_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_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, STATUS_LED_B_Pin|MSTR1_Pin|MSTR2_Pin|POS_AIR_CTRL_Pin
|NEG_AIR_CTRL_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, IMD_POWER_Pin|STATUS_LED_R_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, PRECHARGE_CTRL_Pin|AMS_NERROR_Pin|STATUS_LED_G_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : STATUS_LED_B_Pin MSTR1_Pin MSTR2_Pin POS_AIR_CTRL_Pin
NEG_AIR_CTRL_Pin */
GPIO_InitStruct.Pin = STATUS_LED_B_Pin|MSTR1_Pin|MSTR2_Pin|POS_AIR_CTRL_Pin
|NEG_AIR_CTRL_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 : TS_ERROR_Pin HV_ACTIVE_Pin IMD_OK_Pin NEG_AIR_CLOSED_Pin
POS_AIR_CLOSED_Pin INTR1_Pin WAKE1_Pin */
GPIO_InitStruct.Pin = TS_ERROR_Pin|HV_ACTIVE_Pin|IMD_OK_Pin|NEG_AIR_CLOSED_Pin
|POS_AIR_CLOSED_Pin|INTR1_Pin|WAKE1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : PRE_and_AIR__open_Pin SDC_VOLTAGE_Pin IMD_ERROR_LED_Pin AMS_ERROR_LED_Pin
INTR2_Pin WAKE2_Pin */
GPIO_InitStruct.Pin = PRE_and_AIR__open_Pin|SDC_VOLTAGE_Pin|IMD_ERROR_LED_Pin|AMS_ERROR_LED_Pin
|INTR2_Pin|WAKE2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : IMD_POWER_Pin STATUS_LED_R_Pin */
GPIO_InitStruct.Pin = IMD_POWER_Pin|STATUS_LED_R_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);
/*Configure GPIO pin : TSAL_GREEN_Pin */
GPIO_InitStruct.Pin = TSAL_GREEN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(TSAL_GREEN_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PRECHARGE_CTRL_Pin AMS_NERROR_Pin STATUS_LED_G_Pin */
GPIO_InitStruct.Pin = PRECHARGE_CTRL_Pin|AMS_NERROR_Pin|STATUS_LED_G_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* 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 */

View File

@ -0,0 +1,123 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.h
* @brief : Header for main.c file.
* This file contains the common defines of the application.
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32h7xx_hal.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
#define LV_I_measure_Pin GPIO_PIN_0
#define LV_I_measure_GPIO_Port GPIOC
#define TEMP_TSDCDC_Pin GPIO_PIN_1
#define TEMP_TSDCDC_GPIO_Port GPIOC
#define STATUS_LED_B_Pin GPIO_PIN_2
#define STATUS_LED_B_GPIO_Port GPIOC
#define TS_ERROR_Pin GPIO_PIN_0
#define TS_ERROR_GPIO_Port GPIOA
#define HV_ACTIVE_Pin GPIO_PIN_1
#define HV_ACTIVE_GPIO_Port GPIOA
#define IMD_M_Pin GPIO_PIN_2
#define IMD_M_GPIO_Port GPIOA
#define IMD_OK_Pin GPIO_PIN_3
#define IMD_OK_GPIO_Port GPIOA
#define NEG_AIR_CLOSED_Pin GPIO_PIN_6
#define NEG_AIR_CLOSED_GPIO_Port GPIOA
#define POS_AIR_CLOSED_Pin GPIO_PIN_7
#define POS_AIR_CLOSED_GPIO_Port GPIOA
#define MSTR1_Pin GPIO_PIN_4
#define MSTR1_GPIO_Port GPIOC
#define MSTR2_Pin GPIO_PIN_5
#define MSTR2_GPIO_Port GPIOC
#define PRE_and_AIR__open_Pin GPIO_PIN_0
#define PRE_and_AIR__open_GPIO_Port GPIOB
#define SDC_VOLTAGE_Pin GPIO_PIN_1
#define SDC_VOLTAGE_GPIO_Port GPIOB
#define IMD_POWER_Pin GPIO_PIN_2
#define IMD_POWER_GPIO_Port GPIOB
#define IMD_ERROR_LED_Pin GPIO_PIN_10
#define IMD_ERROR_LED_GPIO_Port GPIOB
#define AMS_ERROR_LED_Pin GPIO_PIN_13
#define AMS_ERROR_LED_GPIO_Port GPIOB
#define STATUS_LED_R_Pin GPIO_PIN_15
#define STATUS_LED_R_GPIO_Port GPIOB
#define POS_AIR_CTRL_Pin GPIO_PIN_6
#define POS_AIR_CTRL_GPIO_Port GPIOC
#define NEG_AIR_CTRL_Pin GPIO_PIN_7
#define NEG_AIR_CTRL_GPIO_Port GPIOC
#define TSAL_GREEN_Pin GPIO_PIN_9
#define TSAL_GREEN_GPIO_Port GPIOC
#define PRECHARGE_CTRL_Pin GPIO_PIN_8
#define PRECHARGE_CTRL_GPIO_Port GPIOA
#define INTR1_Pin GPIO_PIN_9
#define INTR1_GPIO_Port GPIOA
#define WAKE1_Pin GPIO_PIN_10
#define WAKE1_GPIO_Port GPIOA
#define AMS_NERROR_Pin GPIO_PIN_11
#define AMS_NERROR_GPIO_Port GPIOA
#define STATUS_LED_G_Pin GPIO_PIN_15
#define STATUS_LED_G_GPIO_Port GPIOA
#define INTR2_Pin GPIO_PIN_6
#define INTR2_GPIO_Port GPIOB
#define WAKE2_Pin GPIO_PIN_7
#define WAKE2_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H */

View File

@ -0,0 +1,13 @@
/*
* can.h
*
* Created on: Mar 17, 2025
* Author: lenex
*/
#ifndef INC_CAN_H_
#define INC_CAN_H_
#endif /* INC_CAN_H_ */

View File

@ -0,0 +1,3 @@
635E684B79701B039C64EA45C3F84D30=FDAE3FD014C9D9E4FBA73F9BD519AD99
DC22A860405A8BF2F2C095E5B6529F12=5901096735C5CCC02C94E3AD1AE19D42
eclipse.preferences.version=1

View File

@ -0,0 +1,721 @@
/* 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"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "can.h"
#include "imd_monitoring.h"
#include "shunt_monitoring.h"
#include "soc_estimation.h"
#include "ts_state_machine.h"
#include "status_led.h"
#include "stm32h7xx_hal.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
ADC_HandleTypeDef hadc1;
ADC_HandleTypeDef hadc2;
FDCAN_HandleTypeDef hfdcan1;
SPI_HandleTypeDef hspi1;
SPI_HandleTypeDef hspi2;
TIM_HandleTypeDef htim15;
/* USER CODE BEGIN PV */
int sdc_closed = 0;
int sdc_closed_nodelay = 0;
int ts_error;
int hv_active;
int neg_air_closed;
int pos_air_closed;
int precharge_closed;
int precharge_opened = 0;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
void PeriphCommonClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_FDCAN1_Init(void);
static void MX_TIM15_Init(void);
static void MX_SPI1_Init(void);
static void MX_SPI2_Init(void);
static void MX_ADC1_Init(void);
static void MX_ADC2_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
#define MAIN_LOOP_PERIOD 50
static void loop_delay() {
static uint32_t last_loop = 0;
uint32_t dt = HAL_GetTick() - last_loop;
if (dt < MAIN_LOOP_PERIOD) {
HAL_Delay(MAIN_LOOP_PERIOD - dt);
//HAL_GPIO_WritePin(STATUS2_GPIO_Port, STATUS2_Pin, GPIO_PIN_RESET);
} else {
//HAL_GPIO_WritePin(STATUS2_GPIO_Port, STATUS2_Pin, GPIO_PIN_SET);
}
last_loop = HAL_GetTick();
}
static void update_sdc() {
static int last[2] = {0, 0};
sdc_closed_nodelay = HAL_GPIO_ReadPin(SDC_VOLTAGE_GPIO_Port, SDC_VOLTAGE_Pin) == GPIO_PIN_SET;
if (last[0] == last[1] && last[0] == sdc_closed_nodelay) {
sdc_closed = sdc_closed_nodelay;
}
last[0] = last[1];
last[1] = sdc_closed_nodelay;
}
static void update_tsal_signals() {
ts_error = HAL_GPIO_ReadPin(TS_ERROR_GPIO_Port, TS_ERROR_Pin) == GPIO_PIN_SET;
hv_active =
HAL_GPIO_ReadPin(HV_ACTIVE_GPIO_Port, HV_ACTIVE_Pin) == GPIO_PIN_SET;
neg_air_closed = HAL_GPIO_ReadPin(NEG_AIR_CLOSED_GPIO_Port,
NEG_AIR_CLOSED_Pin) == GPIO_PIN_SET;
pos_air_closed = HAL_GPIO_ReadPin(POS_AIR_CLOSED_GPIO_Port,
POS_AIR_CLOSED_Pin) == GPIO_PIN_SET;
precharge_closed = HAL_GPIO_ReadPin(PRECHARGE_CLOSED_GPIO_Port,
PRECHARGE_CLOSED_Pin) == GPIO_PIN_SET;
}
/* 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();
/* Configure the peripherals common clocks */
PeriphCommonClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_FDCAN1_Init();
MX_TIM15_Init();
MX_SPI1_Init();
MX_SPI2_Init();
MX_ADC1_Init();
MX_ADC2_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};
/*AXI clock gating */
RCC->CKGAENR = 0xFFFFFFFF;
/** Supply configuration update enable
*/
HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
/** Configure the main internal regulator output voltage
*/
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 1;
RCC_OscInitStruct.PLL.PLLN = 8;
RCC_OscInitStruct.PLL.PLLP = 2;
RCC_OscInitStruct.PLL.PLLQ = 2;
RCC_OscInitStruct.PLL.PLLR = 2;
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3;
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
RCC_OscInitStruct.PLL.PLLFRACN = 0;
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_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief Peripherals Common Clock Configuration
* @retval None
*/
void PeriphCommonClock_Config(void)
{
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
/** Initializes the peripherals clock
*/
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_FDCAN;
PeriphClkInitStruct.PLL2.PLL2M = 1;
PeriphClkInitStruct.PLL2.PLL2N = 8;
PeriphClkInitStruct.PLL2.PLL2P = 3;
PeriphClkInitStruct.PLL2.PLL2Q = 3;
PeriphClkInitStruct.PLL2.PLL2R = 2;
PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
PeriphClkInitStruct.FdcanClockSelection = RCC_FDCANCLKSOURCE_PLL2;
PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief ADC1 Initialization Function
* @param None
* @retval None
*/
static void MX_ADC1_Init(void)
{
/* USER CODE BEGIN ADC1_Init 0 */
/* USER CODE END ADC1_Init 0 */
ADC_MultiModeTypeDef multimode = {0};
ADC_ChannelConfTypeDef sConfig = {0};
/* USER CODE BEGIN ADC1_Init 1 */
/* USER CODE END ADC1_Init 1 */
/** Common config
*/
hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc1.Init.Resolution = ADC_RESOLUTION_16B;
hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
hadc1.Init.LowPowerAutoWait = DISABLE;
hadc1.Init.ContinuousConvMode = DISABLE;
hadc1.Init.NbrOfConversion = 1;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
hadc1.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;
hadc1.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
hadc1.Init.OversamplingMode = DISABLE;
if (HAL_ADC_Init(&hadc1) != HAL_OK)
{
Error_Handler();
}
/** Configure the ADC multi-mode
*/
multimode.Mode = ADC_MODE_INDEPENDENT;
if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_10;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SingleDiff = ADC_SINGLE_ENDED;
sConfig.OffsetNumber = ADC_OFFSET_NONE;
sConfig.Offset = 0;
sConfig.OffsetSignedSaturation = DISABLE;
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ADC1_Init 2 */
/* USER CODE END ADC1_Init 2 */
}
/**
* @brief ADC2 Initialization Function
* @param None
* @retval None
*/
static void MX_ADC2_Init(void)
{
/* USER CODE BEGIN ADC2_Init 0 */
/* USER CODE END ADC2_Init 0 */
ADC_ChannelConfTypeDef sConfig = {0};
/* USER CODE BEGIN ADC2_Init 1 */
/* USER CODE END ADC2_Init 1 */
/** Common config
*/
hadc2.Instance = ADC2;
hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc2.Init.Resolution = ADC_RESOLUTION_16B;
hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE;
hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
hadc2.Init.LowPowerAutoWait = DISABLE;
hadc2.Init.ContinuousConvMode = DISABLE;
hadc2.Init.NbrOfConversion = 1;
hadc2.Init.DiscontinuousConvMode = DISABLE;
hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
hadc2.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
hadc2.Init.Overrun = ADC_OVR_DATA_PRESERVED;
hadc2.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
hadc2.Init.OversamplingMode = DISABLE;
if (HAL_ADC_Init(&hadc2) != HAL_OK)
{
Error_Handler();
}
/** Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_10;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
sConfig.OffsetNumber = ADC_OFFSET_NONE;
sConfig.Offset = 0;
sConfig.OffsetSignedSaturation = DISABLE;
if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN ADC2_Init 2 */
/* USER CODE END ADC2_Init 2 */
}
/**
* @brief FDCAN1 Initialization Function
* @param None
* @retval None
*/
static void MX_FDCAN1_Init(void)
{
/* USER CODE BEGIN FDCAN1_Init 0 */
/* USER CODE END FDCAN1_Init 0 */
/* USER CODE BEGIN FDCAN1_Init 1 */
/* USER CODE END FDCAN1_Init 1 */
hfdcan1.Instance = FDCAN1;
hfdcan1.Init.FrameFormat = FDCAN_FRAME_CLASSIC;
hfdcan1.Init.Mode = FDCAN_MODE_NORMAL;
hfdcan1.Init.AutoRetransmission = DISABLE;
hfdcan1.Init.TransmitPause = DISABLE;
hfdcan1.Init.ProtocolException = DISABLE;
hfdcan1.Init.NominalPrescaler = 2;
hfdcan1.Init.NominalSyncJumpWidth = 1;
hfdcan1.Init.NominalTimeSeg1 = 31;
hfdcan1.Init.NominalTimeSeg2 = 8;
hfdcan1.Init.DataPrescaler = 1;
hfdcan1.Init.DataSyncJumpWidth = 1;
hfdcan1.Init.DataTimeSeg1 = 1;
hfdcan1.Init.DataTimeSeg2 = 1;
hfdcan1.Init.MessageRAMOffset = 0;
hfdcan1.Init.StdFiltersNbr = 32;
hfdcan1.Init.ExtFiltersNbr = 0;
hfdcan1.Init.RxFifo0ElmtsNbr = 16;
hfdcan1.Init.RxFifo0ElmtSize = FDCAN_DATA_BYTES_8;
hfdcan1.Init.RxFifo1ElmtsNbr = 0;
hfdcan1.Init.RxFifo1ElmtSize = FDCAN_DATA_BYTES_8;
hfdcan1.Init.RxBuffersNbr = 0;
hfdcan1.Init.RxBufferSize = FDCAN_DATA_BYTES_8;
hfdcan1.Init.TxEventsNbr = 0;
hfdcan1.Init.TxBuffersNbr = 0;
hfdcan1.Init.TxFifoQueueElmtsNbr = 32;
hfdcan1.Init.TxFifoQueueMode = FDCAN_TX_FIFO_OPERATION;
hfdcan1.Init.TxElmtSize = FDCAN_DATA_BYTES_8;
if (HAL_FDCAN_Init(&hfdcan1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN FDCAN1_Init 2 */
/* USER CODE END FDCAN1_Init 2 */
}
/**
* @brief SPI1 Initialization Function
* @param None
* @retval None
*/
static void MX_SPI1_Init(void)
{
/* USER CODE BEGIN SPI1_Init 0 */
/* USER CODE END SPI1_Init 0 */
/* USER CODE BEGIN SPI1_Init 1 */
/* USER CODE END SPI1_Init 1 */
/* SPI1 parameter configuration*/
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
hspi1.Init.DataSize = SPI_DATASIZE_4BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi1.Init.NSS = SPI_NSS_HARD_OUTPUT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 0x0;
hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
hspi1.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;
hspi1.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
hspi1.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi1.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi1.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
hspi1.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE;
hspi1.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
hspi1.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE;
hspi1.Init.IOSwap = SPI_IO_SWAP_DISABLE;
if (HAL_SPI_Init(&hspi1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI1_Init 2 */
/* USER CODE END SPI1_Init 2 */
}
/**
* @brief SPI2 Initialization Function
* @param None
* @retval None
*/
static void MX_SPI2_Init(void)
{
/* USER CODE BEGIN SPI2_Init 0 */
/* USER CODE END SPI2_Init 0 */
/* USER CODE BEGIN SPI2_Init 1 */
/* USER CODE END SPI2_Init 1 */
/* SPI2 parameter configuration*/
hspi2.Instance = SPI2;
hspi2.Init.Mode = SPI_MODE_MASTER;
hspi2.Init.Direction = SPI_DIRECTION_2LINES;
hspi2.Init.DataSize = SPI_DATASIZE_4BIT;
hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi2.Init.NSS = SPI_NSS_HARD_INPUT;
hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi2.Init.CRCPolynomial = 0x0;
hspi2.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
hspi2.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;
hspi2.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
hspi2.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi2.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
hspi2.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
hspi2.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE;
hspi2.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
hspi2.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE;
hspi2.Init.IOSwap = SPI_IO_SWAP_DISABLE;
if (HAL_SPI_Init(&hspi2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI2_Init 2 */
/* USER CODE END SPI2_Init 2 */
}
/**
* @brief TIM15 Initialization Function
* @param None
* @retval None
*/
static void MX_TIM15_Init(void)
{
/* USER CODE BEGIN TIM15_Init 0 */
/* USER CODE END TIM15_Init 0 */
TIM_SlaveConfigTypeDef sSlaveConfig = {0};
TIM_IC_InitTypeDef sConfigIC = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
/* USER CODE BEGIN TIM15_Init 1 */
/* USER CODE END TIM15_Init 1 */
htim15.Instance = TIM15;
htim15.Init.Prescaler = 16000-1;
htim15.Init.CounterMode = TIM_COUNTERMODE_UP;
htim15.Init.Period = 65535;
htim15.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim15.Init.RepetitionCounter = 0;
htim15.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
if (HAL_TIM_IC_Init(&htim15) != HAL_OK)
{
Error_Handler();
}
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_RESET;
sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
sSlaveConfig.TriggerPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
sSlaveConfig.TriggerPrescaler = TIM_ICPSC_DIV1;
sSlaveConfig.TriggerFilter = 0;
if (HAL_TIM_SlaveConfigSynchro(&htim15, &sSlaveConfig) != HAL_OK)
{
Error_Handler();
}
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
sConfigIC.ICFilter = 0;
if (HAL_TIM_IC_ConfigChannel(&htim15, &sConfigIC, TIM_CHANNEL_1) != HAL_OK)
{
Error_Handler();
}
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_FALLING;
sConfigIC.ICSelection = TIM_ICSELECTION_INDIRECTTI;
if (HAL_TIM_IC_ConfigChannel(&htim15, &sConfigIC, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim15, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM15_Init 2 */
/* USER CODE END TIM15_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_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, STATUS_LED_B_Pin|MSTR1_Pin|MSTR2_Pin|POS_AIR_CTRL_Pin
|NEG_AIR_CTRL_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, IMD_POWER_Pin|STATUS_LED_R_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, PRECHARGE_CTRL_Pin|AMS_NERROR_Pin|STATUS_LED_G_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : STATUS_LED_B_Pin MSTR1_Pin MSTR2_Pin POS_AIR_CTRL_Pin
NEG_AIR_CTRL_Pin */
GPIO_InitStruct.Pin = STATUS_LED_B_Pin|MSTR1_Pin|MSTR2_Pin|POS_AIR_CTRL_Pin
|NEG_AIR_CTRL_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 : TS_ERROR_Pin HV_ACTIVE_Pin IMD_OK_Pin NEG_AIR_CLOSED_Pin
POS_AIR_CLOSED_Pin INTR1_Pin WAKE1_Pin */
GPIO_InitStruct.Pin = TS_ERROR_Pin|HV_ACTIVE_Pin|IMD_OK_Pin|NEG_AIR_CLOSED_Pin
|POS_AIR_CLOSED_Pin|INTR1_Pin|WAKE1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : PRE_and_AIR__open_Pin SDC_VOLTAGE_Pin IMD_ERROR_LED_Pin AMS_ERROR_LED_Pin
INTR2_Pin WAKE2_Pin */
GPIO_InitStruct.Pin = PRE_and_AIR__open_Pin|SDC_VOLTAGE_Pin|IMD_ERROR_LED_Pin|AMS_ERROR_LED_Pin
|INTR2_Pin|WAKE2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : IMD_POWER_Pin STATUS_LED_R_Pin */
GPIO_InitStruct.Pin = IMD_POWER_Pin|STATUS_LED_R_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);
/*Configure GPIO pin : TSAL_GREEN_Pin */
GPIO_InitStruct.Pin = TSAL_GREEN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(TSAL_GREEN_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PRECHARGE_CTRL_Pin AMS_NERROR_Pin STATUS_LED_G_Pin */
GPIO_InitStruct.Pin = PRECHARGE_CTRL_Pin|AMS_NERROR_Pin|STATUS_LED_G_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* 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 */

View File

@ -0,0 +1,8 @@
#ifndef INC_UTIL_H
#define INC_UTIL_H
#include <stdint.h>
void set_error_led();
#endif // INC_UTIL_H

View File

@ -0,0 +1,18 @@
#ifndef INC_SOC_ESTIMATION_H
#define INC_SOC_ESTIMATION_H
#include <stdint.h>
extern float current_soc;
void soc_init();
void soc_update();
typedef struct {
uint16_t ocv;
float soc;
} ocv_soc_pair_t;
extern ocv_soc_pair_t OCV_SOC_PAIRS[];
float soc_for_ocv(uint16_t ocv);
#endif // INC_SOC_ESTIMATION_H

View File

@ -0,0 +1,71 @@
#ifndef CAN_HALAL_H
#define CAN_HALAL_H
// Define family macros if none are defined and we recognize a chip macro
#if !defined(STM32F3) && !defined(STM32H7) && !defined(STM32F0)
#if defined(STM32F302x6) || defined(STM32F302x8) || defined(STM32F302xB) || \
defined(STM32F302xC)
#define STM32F3
#endif
#if defined(STM32H7A3xx) || defined(STM32H723xx)
#define STM32H7
#endif
#if defined(STM32F042x6)
#define STM32F0
#endif
#endif
#if defined(STM32F3)
#include "stm32f3xx_hal.h"
#define FTCAN_IS_BXCAN
#define FTCAN_NUM_FILTERS 13
#elif defined(STM32H7)
#include "stm32h7xx_hal.h"
#define FTCAN_IS_FDCAN
#ifndef FTCAN_NUM_FILTERS
#error "Please configure the number of filters in CubeMX, and then add a compiler define for FTCAN_NUM_FILTERS"
#endif
#elif defined(STM32F0)
#include "stm32f0xx_hal.h"
#define FTCAN_IS_BXCAN
#define FTCAN_NUM_FILTERS 13
#else
#error "Couldn't detect STM family"
#endif
#if defined(FTCAN_IS_BXCAN)
HAL_StatusTypeDef ftcan_init(CAN_HandleTypeDef *handle);
#elif defined(FTCAN_IS_FDCAN)
HAL_StatusTypeDef ftcan_init(FDCAN_HandleTypeDef *handle);
#else
#error "Unknown CAN peripheral"
#endif
HAL_StatusTypeDef ftcan_transmit(uint16_t id, const uint8_t *data,
size_t datalen);
HAL_StatusTypeDef ftcan_add_filter(uint16_t id, uint16_t mask);
/**
* Define this function to be notified of incoming CAN messages
*/
void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data);
/**
* Read num_bytes bytes from a message (unmarshalled network byte order). The
* msg pointer is advanced by the corresponding number of bytes.
*
* Both methods return a 64-bit integer, but you can safely cast it to a smaller
* integer type.
*/
uint64_t ftcan_unmarshal_unsigned(const uint8_t **data, size_t num_bytes);
int64_t ftcan_unmarshal_signed(const uint8_t **data, size_t num_bytes);
/**
* Write num_bytes to a message (marshalled in network byte order). The pointer
* is advanced by the corresponding number of bytes and returned.
*/
uint8_t *ftcan_marshal_unsigned(uint8_t *data, uint64_t val, size_t num_bytes);
uint8_t *ftcan_marshal_signed(uint8_t *data, int64_t val, size_t num_bytes);
#endif // CAN_HALAL_H

View File

@ -0,0 +1,32 @@
#ifndef INC_CAN_H
#define INC_CAN_H
#include "stm32f3xx_hal.h"
#include "stm32f3xx_hal_can.h"
#include "stm32f3xx_hal_def.h"
#include "ts_state_machine.h"
#define CAN_ID_SLAVE_PANIC 0x009
#define CAN_ID_AMS_STATUS 0x00A
#define CAN_ID_AMS_IN 0x00B
#define CAN_ID_AMS_ERROR 0x00C
#define CAN_ID_SLAVE_STATUS_BASE 0x080
#define CAN_ID_SLAVE_LOG 0x4F4
#define CAN_ID_SHUNT_BASE 0x520
#define CAN_ID_SHUNT_CURRENT 0x521
#define CAN_ID_SHUNT_VOLTAGE1 0x522
#define CAN_ID_SHUNT_VOLTAGE2 0x523
#define CAN_ID_SHUNT_VOLTAGE3 0x524
#define CAN_ID_SHUNT_TEMP 0x525
#define CAN_ID_SHUNT_POWER 0x526
#define CAN_ID_SHUNT_CURRENT_COUNTER 0x527
#define CAN_ID_SHUNT_ENERGY_COUNTER 0x528
void can_init(CAN_HandleTypeDef *handle);
HAL_StatusTypeDef can_send_status();
HAL_StatusTypeDef can_send_error(TSErrorKind kind, uint8_t arg);
void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data);
#endif // INC_CAN_H

View File

@ -0,0 +1,64 @@
#include "can.h"
#include "imd_monitoring.h"
#include "main.h"
#include "shunt_monitoring.h"
#include "soc_estimation.h"
#include "ts_state_machine.h"
#include "can-halal.h"
#include <math.h>
#include <stdint.h>
void can_init(CAN_HandleTypeDef *handle) {
ftcan_init(handle);
ftcan_add_filter(CAN_ID_SHUNT_BASE, 0xFF0);
ftcan_add_filter(CAN_ID_AMS_IN, 0xFFF);
ftcan_add_filter(CAN_ID_SLAVE_PANIC, 0xFFF);
ftcan_add_filter(CAN_ID_SLAVE_STATUS_BASE, 0xFF0);
ftcan_add_filter(CAN_ID_SLAVE_LOG, 0xFFF);
}
HAL_StatusTypeDef can_send_status() {
uint8_t data[8];
data[0] = ts_state.current_state | (sdc_closed << 7);
data[1] = roundf(current_soc);
ftcan_marshal_unsigned(&data[2], min_voltage, 2);
ftcan_marshal_signed(&data[4], max_temp, 2);
data[6] = imd_data.state | (imd_data.ok << 7);
if (imd_data.r_iso < 0xFFF) {
data[7] = imd_data.r_iso >> 4;
} else {
data[7] = 0xFF;
}
return ftcan_transmit(CAN_ID_AMS_STATUS, data, sizeof(data));
}
HAL_StatusTypeDef can_send_error(TSErrorKind kind, uint8_t arg) {
uint8_t data[2];
data[0] = kind;
data[1] = arg;
return ftcan_transmit(CAN_ID_AMS_ERROR, data, sizeof(data));
}
void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
if ((id & 0xFF0) == CAN_ID_SHUNT_BASE) {
shunt_handle_can_msg(id, data);
return;
} else if ((id & 0xFF0) == CAN_ID_SLAVE_STATUS_BASE) {
slaves_handle_status(data);
return;
}
switch (id) {
case CAN_ID_SLAVE_PANIC:
slaves_handle_panic(data);
break;
case CAN_ID_SLAVE_LOG:
slaves_handle_log(data);
break;
case CAN_ID_AMS_IN:
ts_sm_handle_ams_in(data);
break;
}
}

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