diff --git a/.vscode/iar-vsc.json b/.vscode/iar-vsc.json index 7464e12..aa45540 100644 --- a/.vscode/iar-vsc.json +++ b/.vscode/iar-vsc.json @@ -3,7 +3,13 @@ "${workspaceFolder}\\fft_az.eww": { "configs": { "${workspaceFolder}\\fft_az.ewp": "Debug" + }, + "selected": { + "path": "${workspaceFolder}\\fft_az.ewp" } } + }, + "workspace": { + "path": "${workspaceFolder}\\fft_az.eww" } } \ No newline at end of file diff --git a/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx b/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx index d5cde3c..eaf3bd6 100644 Binary files a/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx and b/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx differ diff --git a/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx b/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx index 8520dca..cd113c9 100644 Binary files a/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx and b/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx differ diff --git a/Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx b/Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx index 2063a0d..07d034b 100644 Binary files a/Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx and b/Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx differ diff --git a/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx b/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx index 8446108..b6aca87 100644 Binary files a/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx and b/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx differ diff --git a/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx b/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx index a4c0105..ee68084 100644 Binary files a/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx and b/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx differ diff --git a/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx b/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx index d78989c..d3e165c 100644 Binary files a/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx and b/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx differ diff --git a/Debug/.ninja_deps b/Debug/.ninja_deps index d36870c..f491bb1 100644 Binary files a/Debug/.ninja_deps and b/Debug/.ninja_deps differ diff --git a/Debug/.ninja_log b/Debug/.ninja_log index d46b757..d1f31f3 100644 --- a/Debug/.ninja_log +++ b/Debug/.ninja_log @@ -1,71 +1,75 @@ # ninja log v6 -8 157 7997660036630364 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o e08ff3badd7c40f5 -5 225 7997660036603857 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -3 42 7966528629542996 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/startup_stm32g431xx.o cede824c243c8d17 -2 153 7997660527439177 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -1 207 7997664329871799 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -207 247 7997664331930501 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -207 247 7997664331930501 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -6 158 7997660036614274 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o 42b442e6b374ce9e -2 194 7997667297158609 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -2 194 7997667297158609 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -194 238 7997667299076599 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -3 178 7997670542914271 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -3 178 7997670542914271 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -2 228 7997670542898592 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 228 7997670542898592 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -229 283 7997670545164883 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 218 7997674471293673 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 218 7997674471293673 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -219 286 7997674473461737 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 202 7997676169586229 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 202 7997676169586229 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -203 250 7997676171584129 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 200 7997678931376843 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 200 7997678931376843 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -200 238 7997678933360454 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 173 7997681071497379 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 173 7997681071497379 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -173 214 7997681073211368 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 142 7997686059648009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -2 142 7997686059648009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -142 181 7997686061047401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 172 7997688691950041 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -2 172 7997688691950041 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -172 217 7997688693653415 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -3 151 7997690235509095 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -3 151 7997690235509095 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -152 197 7997690236988656 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -2 196 7997704173948829 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -2 196 7997704173948829 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -196 240 7997704175891305 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +5 214 7998536262370001 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o e08ff3badd7c40f5 +2 167 7998644654627746 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o d024d0bb51dcd376 +14 30 7998536262464813 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/startup_stm32g431xx.o cede824c243c8d17 +2 158 7998644433371133 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 226 7998597409153980 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 168acc6e71127271 +167 210 7998644656273213 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +167 210 7998644656273213 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +4 180 7998536262360037 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o 42b442e6b374ce9e +3 155 7998656232758154 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +3 155 7998656232758154 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +156 196 7998656234296486 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +1 193 7998661385534747 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +1 193 7998661385534747 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +2 50 7998662032678893 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 206 7998665881157520 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 206 7998665881157520 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +207 247 7998665883208923 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 155 7998670159963859 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 155 7998670159963859 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +155 196 7998670161499419 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 162 7998672057760319 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 162 7998672057760319 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +162 206 7998672059351724 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +4 168 7998679954841238 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +4 168 7998679954841238 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +168 209 7998679956487159 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +3 167 7998680865908053 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +3 167 7998680865908053 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +167 208 7998680867539559 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 205 7998684445922840 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 205 7998684445922840 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +205 253 7998684447955278 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 160 7998686606064411 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 160 7998686606064411 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +160 202 7998686607648597 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 181 7998692553503127 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 181 7998692553503127 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +181 226 7998692555300969 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 236 7998696088867326 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +2 236 7998696088867326 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o a960e0ba258d7538 +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +236 283 7998696091209590 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc diff --git a/Debug/BrowseInfo/.ninja_log b/Debug/BrowseInfo/.ninja_log index 2862f71..c5ff195 100644 --- a/Debug/BrowseInfo/.ninja_log +++ b/Debug/BrowseInfo/.ninja_log @@ -55,3 +55,4 @@ 293 387 7997655194871884 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json 2ac33e42fc620caa 388 486 7997655195813518 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/system_stm32g4xx.c.json f789283cdd1928d8 487 509 7997655196817487 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 +0 26 7998536199727750 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 diff --git a/Debug/Exe/fft_az.out b/Debug/Exe/fft_az.out index ffd4caa..442f44d 100644 Binary files a/Debug/Exe/fft_az.out and b/Debug/Exe/fft_az.out differ diff --git a/Debug/Exe/fft_az.sim b/Debug/Exe/fft_az.sim index 1ed7788..fc0f079 100644 Binary files a/Debug/Exe/fft_az.sim and b/Debug/Exe/fft_az.sim differ diff --git a/Debug/List/fft_az.map b/Debug/List/fft_az.map index 82b6aad..af075c9 100644 --- a/Debug/List/fft_az.map +++ b/Debug/List/fft_az.map @@ -1,6 +1,6 @@ ############################################################################### # -# IAR ELF Linker V9.70.1.475/W64 for ARM 06/May/2026 14:33:37 +# IAR ELF Linker V9.70.1.475/W64 for ARM 07/May/2026 18:06:49 # Copyright 2007-2025 IAR Systems AB. # # Output file = @@ -79,7 +79,7 @@ No sections matched the following patterns: .intvec ro code 0x800'0000 4 0x1d8 startup_stm32g431xx.o [1] - 0x800'01d8 0x1d8 -"P1": 0x1'e868 +"P1": 0x1'fbd8 .rodata const 0x800'01d8 4 0x8000 arm_common_tables.o [3] .rodata const 0x800'81d8 4 0x4000 arm_common_tables.o [3] .rodata const 0x800'c1d8 4 0x4000 arm_common_tables.o [3] @@ -93,132 +93,139 @@ No sections matched the following patterns: .rodata const 0x801'ad28 4 0x804 arm_common_tables.o [3] .rodata const 0x801'b52c 4 0x800 arm_common_tables.o [3] .rodata const 0x801'bd2c 4 0x800 arm_common_tables.o [3] - .rodata const 0x801'c52c 4 0x400 arm_common_tables.o [3] - .rodata const 0x801'c92c 4 0x400 arm_common_tables.o [3] - .rodata const 0x801'cd2c 4 0x380 arm_common_tables.o [3] - .rodata const 0x801'd0ac 4 0x370 arm_common_tables.o [3] - .text ro code 0x801'd41c 4 0x304 imu.o [1] - .rodata const 0x801'd720 4 0x200 arm_common_tables.o [3] - .rodata const 0x801'd920 4 0x200 arm_common_tables.o [3] - .text ro code 0x801'db20 4 0x1bc arm_rfft_fast_init_f32.o [3] - .text ro code 0x801'dcdc 4 0x98 arm_cfft_init_f32.o [3] - .text ro code 0x801'dd74 4 0x1b0 main.o [1] - .text ro code 0x801'df24 4 0xc8 motors.o [1] - .text ro code 0x801'dfec 4 0x5c dsp_manager.o [1] - .text ro code 0x801'e048 4 0x9c system_stm32g4xx.o [1] - .text ro code 0x801'e0e4 4 0x90 arm_cos_f32.o [3] - .rodata const 0x801'e174 4 0x1a0 arm_common_tables.o [3] - .rodata const 0x801'e314 4 0x100 arm_common_tables.o [3] - .rodata const 0x801'e414 4 0x100 arm_common_tables.o [3] - .rodata const 0x801'e514 4 0x80 arm_common_tables.o [3] - .rodata const 0x801'e594 4 0x80 arm_common_tables.o [3] - .rodata const 0x801'e614 4 0x70 arm_common_tables.o [3] - .rodata const 0x801'e684 4 0x60 arm_common_tables.o [3] - .text ro code 0x801'e6e4 2 0x38 zero_init3.o [5] - .text ro code 0x801'e71c 2 0x2a copy_init3.o [5] - .rodata const 0x801'e748 4 0x28 arm_common_tables.o [3] - .text ro code 0x801'e770 4 0x28 data_init.o [5] - .text ro code 0x801'e798 4 0x22 fpinit_M.o [4] - .text ro code 0x801'e7bc 4 0x22 cmain.o [5] - .text ro code 0x801'e7de 2 0x4 low_level_init.o [2] - .text ro code 0x801'e7e2 2 0x4 exit.o [2] - .text ro code 0x801'e7e8 4 0x4 cexit.o [5] - .text ro code 0x801'e7ec 4 0xa cexit_2.o [5] - .text ro code 0x801'e7f8 4 0x14 exit.o [6] - .iar.init_table const 0x801'e80c 4 0x24 - Linker created - - .text ro code 0x801'e830 4 0x1e cstartup_M.o [5] - .rodata const 0x801'e850 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e860 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e870 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e880 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e890 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e8a0 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e8b0 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e8c0 4 0x10 arm_const_structs.o [3] - .rodata const 0x801'e8d0 4 0x10 arm_const_structs.o [3] - .text ro code 0x801'e8e0 4 0x10 startup_stm32g431xx.o [1] - .text ro code 0x801'e8f0 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e8f4 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e8f8 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e8fc 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e900 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e904 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e908 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e90c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e910 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e914 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e918 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e91c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e920 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e924 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e928 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e92c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e930 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e934 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e938 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e93c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e940 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e944 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e948 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e94c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e950 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e954 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e958 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e95c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e960 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e964 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e968 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e96c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e970 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e974 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e978 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e97c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e980 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e984 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e988 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e98c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e990 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e994 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e998 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e99c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9a0 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9a4 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9a8 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9ac 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9b0 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9b4 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9b8 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9bc 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9c0 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9c4 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9c8 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9cc 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9d0 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9d4 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9d8 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9dc 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9e0 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9e4 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9e8 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9ec 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9f0 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9f4 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9f8 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'e9fc 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea00 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea04 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea08 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea0c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea10 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea14 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea18 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea1c 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea20 2 0x4 startup_stm32g431xx.o [1] - .text ro code 0x801'ea24 2 0x4 startup_stm32g431xx.o [1] - .rodata const 0x801'ea28 0x0 zero_init3.o [5] - .rodata const 0x801'ea28 0x0 copy_init3.o [5] - Initializer bytes const 0x801'ea28 4 0x18 - - 0x801'ea40 0x1'e868 + .text ro code 0x801'c52c 4 0x704 arm_cfft_f32.o [3] + .text ro code 0x801'cc30 4 0x592 arm_cfft_radix8_f32.o [3] + .text ro code 0x801'd1c2 2 0x2a copy_init3.o [5] + .text ro code 0x801'd1ec 4 0x46 arm_bitreversal2.o [3] + .rodata const 0x801'd234 4 0x400 arm_common_tables.o [3] + .rodata const 0x801'd634 4 0x400 arm_common_tables.o [3] + .rodata const 0x801'da34 4 0x380 arm_common_tables.o [3] + .rodata const 0x801'ddb4 4 0x370 arm_common_tables.o [3] + .text ro code 0x801'e124 4 0x298 imu.o [1] + .text ro code 0x801'e3bc 4 0x284 dsp_manager.o [1] + .text ro code 0x801'e640 4 0x1bc arm_rfft_fast_init_f32.o [3] + .text ro code 0x801'e7fc 4 0x90 arm_cos_f32.o [3] + .text ro code 0x801'e88c 4 0x10e arm_mult_f32.o [3] + .text ro code 0x801'e99c 4 0x182 arm_rfft_fast_f32.o [3] + .text ro code 0x801'eb20 4 0x154 arm_cmplx_mag_f32.o [3] + .text ro code 0x801'ec74 4 0x8c arm_sin_f32.o [3] + .text ro code 0x801'ed00 4 0x98 arm_cfft_init_f32.o [3] + .text ro code 0x801'ed98 4 0x214 main.o [1] + .text ro code 0x801'efac 4 0xc8 motors.o [1] + .text ro code 0x801'f074 4 0x9c system_stm32g4xx.o [1] + .rodata const 0x801'f110 4 0x200 arm_common_tables.o [3] + .rodata const 0x801'f310 4 0x200 arm_common_tables.o [3] + .rodata const 0x801'f510 4 0x1a0 arm_common_tables.o [3] + .rodata const 0x801'f6b0 4 0x100 arm_common_tables.o [3] + .rodata const 0x801'f7b0 4 0x100 arm_common_tables.o [3] + .rodata const 0x801'f8b0 4 0x80 arm_common_tables.o [3] + .rodata const 0x801'f930 4 0x80 arm_common_tables.o [3] + .rodata const 0x801'f9b0 4 0x70 arm_common_tables.o [3] + .rodata const 0x801'fa20 4 0x60 arm_common_tables.o [3] + .text ro code 0x801'fa80 2 0x38 zero_init3.o [5] + .rodata const 0x801'fab8 4 0x28 arm_common_tables.o [3] + .text ro code 0x801'fae0 4 0x28 data_init.o [5] + .text ro code 0x801'fb08 4 0x22 fpinit_M.o [4] + .text ro code 0x801'fb2c 4 0x22 cmain.o [5] + .text ro code 0x801'fb4e 2 0x4 low_level_init.o [2] + .text ro code 0x801'fb52 2 0x4 exit.o [2] + .text ro code 0x801'fb58 4 0x4 cexit.o [5] + .text ro code 0x801'fb5c 4 0xa cexit_2.o [5] + .text ro code 0x801'fb68 4 0x14 exit.o [6] + .iar.init_table const 0x801'fb7c 4 0x24 - Linker created - + .text ro code 0x801'fba0 4 0x1e cstartup_M.o [5] + .rodata const 0x801'fbc0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fbd0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fbe0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fbf0 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc00 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc10 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc20 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc30 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'fc40 4 0x10 arm_const_structs.o [3] + .text ro code 0x801'fc50 4 0x10 startup_stm32g431xx.o [1] + .text ro code 0x801'fc60 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc64 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc68 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc6c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc70 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc74 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc78 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc7c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc80 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc84 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc88 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc8c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc90 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc94 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc98 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fc9c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fca0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fca4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fca8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcac 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcb0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcb4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcb8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcbc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcc0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcc4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcc8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fccc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcd0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcd4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcd8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcdc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fce0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fce4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fce8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcec 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcf0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcf4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcf8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fcfc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd00 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd04 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd08 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd0c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd10 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd14 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd18 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd1c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd20 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd24 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd28 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd2c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd30 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd34 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd38 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd3c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd40 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd44 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd48 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd4c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd50 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd54 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd58 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd5c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd60 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd64 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd68 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd6c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd70 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd74 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd78 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd7c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd80 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd84 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd88 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd8c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd90 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'fd94 2 0x4 startup_stm32g431xx.o [1] + .rodata const 0x801'fd98 0x0 zero_init3.o [5] + .rodata const 0x801'fd98 0x0 copy_init3.o [5] + Initializer bytes const 0x801'fd98 4 0x18 + - 0x801'fdb0 0x1'fbd8 "P3", part 1 of 3: 0x18 P3 s0 0x2000'0000 0x18 @@ -226,23 +233,25 @@ No sections matched the following patterns: .data inited 0x2000'0014 4 0x4 system_stm32g4xx.o [1] - 0x2000'0018 0x18 -"P3", part 2 of 3: 0x860 - .bss zero 0x2000'0018 4 0x81c dsp_manager.o [1] - .bss zero 0x2000'0834 4 0x38 imu.o [1] - .bss zero 0x2000'086c 4 0xc imu.o [1] - - 0x2000'0878 0x860 +"P3", part 2 of 3: 0x1c94 + .bss zero 0x2000'0018 4 0xc18 dsp_manager.o [1] + .bss zero 0x2000'0c30 4 0x81c dsp_manager.o [1] + .bss zero 0x2000'144c 4 0x800 dsp_manager.o [1] + .bss zero 0x2000'1c4c 4 0x60 imu.o [1] + - 0x2000'1cac 0x1c94 "P3", part 3 of 3: 0x800 - CSTACK 0x2000'0878 8 0x800 - CSTACK uninit 0x2000'0878 0x800 - - 0x2000'1078 0x800 + CSTACK 0x2000'1cb0 8 0x800 + CSTACK uninit 0x2000'1cb0 0x800 + - 0x2000'24b0 0x800 Unused ranges: From To Size ---- -- ---- - 0x801'ea40 0x801'ffff 0x15c0 - 0x2000'1078 0x2000'3fff 0x2f88 + 0x801'fdb0 0x801'ffff 0x250 + 0x2000'1cac 0x2000'1caf 0x4 + 0x2000'24b0 0x2000'3fff 0x1b50 0x2000'4000 0x2000'57ff 0x1800 @@ -253,14 +262,14 @@ Unused ranges: Address Size ------- ---- Zero (__iar_zero_init3) - 1 destination range, total size 0x860: - 0x2000'0018 0x860 + 1 destination range, total size 0x1c94: + 0x2000'0018 0x1c94 Copy (__iar_copy_init3) 1 source range, total size 0x18: - 0x801'ea28 0x18 + 0x801'fd98 0x18 1 destination range, total size 0x18: - 0x2000'0000 0x18 + 0x2000'0000 0x18 @@ -275,14 +284,14 @@ command line/config: Total: C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj: [1] - dsp_manager.o 92 2'076 - imu.o 772 68 - main.o 432 20 20 + dsp_manager.o 644 7'220 + imu.o 664 96 + main.o 532 20 20 motors.o 200 startup_stm32g431xx.o 800 system_stm32g4xx.o 156 4 4 --------------------------------------------------- - Total: 2'452 24 2'168 + Total: 2'996 24 7'340 dl7M_tln.a: [2] exit.o 4 @@ -291,13 +300,20 @@ dl7M_tln.a: [2] Total: 8 iar_cortexM4lf_math.a: [3] + arm_bitreversal2.o 70 + arm_cfft_f32.o 1'796 arm_cfft_init_f32.o 152 + arm_cfft_radix8_f32.o 1'426 + arm_cmplx_mag_f32.o 340 arm_common_tables.o 121'820 arm_const_structs.o 144 arm_cos_f32.o 144 + arm_mult_f32.o 270 + arm_rfft_fast_f32.o 386 arm_rfft_fast_init_f32.o 444 + arm_sin_f32.o 140 --------------------------------------------------- - Total: 740 121'964 + Total: 5'168 121'964 m7M_tls.a: [4] fpinit_M.o 34 @@ -320,10 +336,10 @@ shb_l.a: [6] --------------------------------------------------- Total: 20 - Gaps 6 4 + Gaps 10 4 Linker created 36 2'048 ------------------------------------------------------- - Grand Total: 3'476 122'028 4'216 + Grand Total: 8'452 122'028 9'388 ******************************************************************************* @@ -332,222 +348,240 @@ shb_l.a: [6] Entry Address Size Type Object ----- ------- ---- ---- ------ -.iar.init_table$$Base 0x801'e80c -- Gb - Linker created - -.iar.init_table$$Limit 0x801'e830 -- Gb - Linker created - -?main 0x801'e7bd Code Gb cmain.o [5] -ADC1_2_IRQHandler 0x801'e959 Code Wk startup_stm32g431xx.o [1] -AHBPrescTable 0x801'e0d4 0x10 Data Gb system_stm32g4xx.o [1] -BusFault_Handler 0x801'e8fd Code Wk startup_stm32g431xx.o [1] -COMP1_2_3_IRQHandler 0x801'e9f5 Code Wk startup_stm32g431xx.o [1] -COMP4_IRQHandler 0x801'e9f9 Code Wk startup_stm32g431xx.o [1] -CORDIC_IRQHandler 0x801'ea21 Code Wk startup_stm32g431xx.o [1] -CRS_IRQHandler 0x801'e9fd Code Wk startup_stm32g431xx.o [1] -CSTACK$$Base 0x2000'0878 -- Gb - Linker created - -CSTACK$$Limit 0x2000'1078 -- Gb - Linker created - +.iar.init_table$$Base 0x801'fb7c -- Gb - Linker created - +.iar.init_table$$Limit 0x801'fba0 -- Gb - Linker created - +?main 0x801'fb2d Code Gb cmain.o [5] +ADC1_2_IRQHandler 0x801'fcc9 Code Wk startup_stm32g431xx.o [1] +AHBPrescTable 0x801'f100 0x10 Data Gb system_stm32g4xx.o [1] +BusFault_Handler 0x801'fc6d Code Wk startup_stm32g431xx.o [1] +COMP1_2_3_IRQHandler 0x801'fd65 Code Wk startup_stm32g431xx.o [1] +COMP4_IRQHandler 0x801'fd69 Code Wk startup_stm32g431xx.o [1] +CORDIC_IRQHandler 0x801'fd91 Code Wk startup_stm32g431xx.o [1] +CRS_IRQHandler 0x801'fd6d Code Wk startup_stm32g431xx.o [1] +CSTACK$$Base 0x2000'1cb0 -- Gb - Linker created - +CSTACK$$Limit 0x2000'24b0 -- Gb - Linker created - DMA1_Channel1_IRQHandler - 0x801'e941 Code Wk startup_stm32g431xx.o [1] + 0x801'fcb1 Code Wk startup_stm32g431xx.o [1] DMA1_Channel2_IRQHandler - 0x801'e945 Code Wk startup_stm32g431xx.o [1] + 0x801'fcb5 Code Wk startup_stm32g431xx.o [1] DMA1_Channel3_IRQHandler - 0x801'e949 Code Wk startup_stm32g431xx.o [1] + 0x801'fcb9 Code Wk startup_stm32g431xx.o [1] DMA1_Channel4_IRQHandler - 0x801'e94d Code Wk startup_stm32g431xx.o [1] + 0x801'fcbd Code Wk startup_stm32g431xx.o [1] DMA1_Channel5_IRQHandler - 0x801'e951 Code Wk startup_stm32g431xx.o [1] + 0x801'fcc1 Code Wk startup_stm32g431xx.o [1] DMA1_Channel6_IRQHandler - 0x801'e955 Code Wk startup_stm32g431xx.o [1] + 0x801'fcc5 Code Wk startup_stm32g431xx.o [1] DMA2_Channel1_IRQHandler - 0x801'e9dd Code Wk startup_stm32g431xx.o [1] + 0x801'fd4d Code Wk startup_stm32g431xx.o [1] DMA2_Channel2_IRQHandler - 0x801'e9e1 Code Wk startup_stm32g431xx.o [1] + 0x801'fd51 Code Wk startup_stm32g431xx.o [1] DMA2_Channel3_IRQHandler - 0x801'e9e5 Code Wk startup_stm32g431xx.o [1] + 0x801'fd55 Code Wk startup_stm32g431xx.o [1] DMA2_Channel4_IRQHandler - 0x801'e9e9 Code Wk startup_stm32g431xx.o [1] + 0x801'fd59 Code Wk startup_stm32g431xx.o [1] DMA2_Channel5_IRQHandler - 0x801'e9ed Code Wk startup_stm32g431xx.o [1] + 0x801'fd5d Code Wk startup_stm32g431xx.o [1] DMA2_Channel6_IRQHandler - 0x801'ea1d Code Wk startup_stm32g431xx.o [1] -DMAMUX_OVR_IRQHandler 0x801'ea19 Code Wk startup_stm32g431xx.o [1] -DSP_Init 0x801'dfed 0x50 Code Gb dsp_manager.o [1] -DebugMon_Handler 0x801'e909 Code Wk startup_stm32g431xx.o [1] -EXTI0_IRQHandler 0x801'e92d Code Wk startup_stm32g431xx.o [1] -EXTI15_10_IRQHandler 0x801'e9b1 Code Wk startup_stm32g431xx.o [1] -EXTI1_IRQHandler 0x801'e931 Code Wk startup_stm32g431xx.o [1] -EXTI2_IRQHandler 0x801'e935 Code Wk startup_stm32g431xx.o [1] -EXTI3_IRQHandler 0x801'e939 Code Wk startup_stm32g431xx.o [1] -EXTI4_IRQHandler 0x801'e93d Code Wk startup_stm32g431xx.o [1] -EXTI9_5_IRQHandler 0x801'e96d Code Wk startup_stm32g431xx.o [1] -FDCAN1_IT0_IRQHandler 0x801'e965 Code Wk startup_stm32g431xx.o [1] -FDCAN1_IT1_IRQHandler 0x801'e969 Code Wk startup_stm32g431xx.o [1] -FLASH_IRQHandler 0x801'e925 Code Wk startup_stm32g431xx.o [1] -FMAC_IRQHandler 0x801'ea25 Code Wk startup_stm32g431xx.o [1] -FMAC_Init 0x801'd41d 0x4a Code Gb imu.o [1] -FMAC_Process_Sample 0x801'd6ad 0x3e Code Gb imu.o [1] -FMAC_Step 0x801'd61d 0x90 Code Lc imu.o [1] -FPU_IRQHandler 0x801'ea05 Code Wk startup_stm32g431xx.o [1] -HardFault_Handler 0x801'e8f5 Code Wk startup_stm32g431xx.o [1] -I2C1_ER_IRQHandler 0x801'e991 Code Wk startup_stm32g431xx.o [1] -I2C1_EV_IRQHandler 0x801'e98d Code Wk startup_stm32g431xx.o [1] -I2C1_Init 0x801'd467 0x4c Code Gb imu.o [1] -I2C2_ER_IRQHandler 0x801'e999 Code Wk startup_stm32g431xx.o [1] -I2C2_EV_IRQHandler 0x801'e995 Code Wk startup_stm32g431xx.o [1] -I2C3_ER_IRQHandler 0x801'ea15 Code Wk startup_stm32g431xx.o [1] -I2C3_EV_IRQHandler 0x801'ea11 Code Wk startup_stm32g431xx.o [1] -I2C_ReadMulti 0x801'd4b3 0x40 Code Gb imu.o [1] -IMU_Calibrate 0x801'd593 0x4c Code Gb imu.o [1] -IMU_Init 0x801'd525 0x6e Code Gb imu.o [1] -IMU_ReadRawData 0x801'd5df 0x3c Code Gb imu.o [1] -IMU_SetBank 0x801'd51b 0xa Code Gb imu.o [1] -IMU_WriteReg 0x801'd4f3 0x28 Code Lc imu.o [1] -LPTIM1_IRQHandler 0x801'e9cd Code Wk startup_stm32g431xx.o [1] -LPUART1_IRQHandler 0x801'ea0d Code Wk startup_stm32g431xx.o [1] -MemManage_Handler 0x801'e8f9 Code Wk startup_stm32g431xx.o [1] -Motors_Init 0x801'df25 0x9a Code Gb motors.o [1] -NMI_Handler 0x801'e8f1 Code Wk startup_stm32g431xx.o [1] -PVD_PVM_IRQHandler 0x801'e919 Code Wk startup_stm32g431xx.o [1] -PendSV_Handler 0x801'e90d Code Wk startup_stm32g431xx.o [1] -RCC_IRQHandler 0x801'e929 Code Wk startup_stm32g431xx.o [1] -RNG_IRQHandler 0x801'ea09 Code Wk startup_stm32g431xx.o [1] -RTC_Alarm_IRQHandler 0x801'e9b5 Code Wk startup_stm32g431xx.o [1] + 0x801'fd8d Code Wk startup_stm32g431xx.o [1] +DMAMUX_OVR_IRQHandler 0x801'fd89 Code Wk startup_stm32g431xx.o [1] +DSP_AddSample 0x801'e40d 0x2c Code Gb dsp_manager.o [1] +DSP_Init 0x801'e3bd 0x50 Code Gb dsp_manager.o [1] +DSP_Process 0x801'e439 0x1d2 Code Gb dsp_manager.o [1] +DebugMon_Handler 0x801'fc79 Code Wk startup_stm32g431xx.o [1] +EXTI0_IRQHandler 0x801'fc9d Code Wk startup_stm32g431xx.o [1] +EXTI15_10_IRQHandler 0x801'fd21 Code Wk startup_stm32g431xx.o [1] +EXTI1_IRQHandler 0x801'fca1 Code Wk startup_stm32g431xx.o [1] +EXTI2_IRQHandler 0x801'fca5 Code Wk startup_stm32g431xx.o [1] +EXTI3_IRQHandler 0x801'fca9 Code Wk startup_stm32g431xx.o [1] +EXTI4_IRQHandler 0x801'fcad Code Wk startup_stm32g431xx.o [1] +EXTI9_5_IRQHandler 0x801'fcdd Code Wk startup_stm32g431xx.o [1] +FDCAN1_IT0_IRQHandler 0x801'fcd5 Code Wk startup_stm32g431xx.o [1] +FDCAN1_IT1_IRQHandler 0x801'fcd9 Code Wk startup_stm32g431xx.o [1] +FLASH_IRQHandler 0x801'fc95 Code Wk startup_stm32g431xx.o [1] +FMAC_IRQHandler 0x801'fd95 Code Wk startup_stm32g431xx.o [1] +FMAC_Init 0x801'e125 0x4a Code Gb imu.o [1] +FPU_IRQHandler 0x801'fd75 Code Wk startup_stm32g431xx.o [1] +HardFault_Handler 0x801'fc65 Code Wk startup_stm32g431xx.o [1] +I2C1_ER_IRQHandler 0x801'fd01 Code Wk startup_stm32g431xx.o [1] +I2C1_EV_IRQHandler 0x801'fcfd Code Wk startup_stm32g431xx.o [1] +I2C1_Init 0x801'e16f 0x4c Code Gb imu.o [1] +I2C2_ER_IRQHandler 0x801'fd09 Code Wk startup_stm32g431xx.o [1] +I2C2_EV_IRQHandler 0x801'fd05 Code Wk startup_stm32g431xx.o [1] +I2C3_ER_IRQHandler 0x801'fd85 Code Wk startup_stm32g431xx.o [1] +I2C3_EV_IRQHandler 0x801'fd81 Code Wk startup_stm32g431xx.o [1] +I2C_ReadMulti 0x801'e1bb 0x40 Code Gb imu.o [1] +IMU_Calibrate 0x801'e2d1 0x4c Code Gb imu.o [1] +IMU_Init 0x801'e26b 0x66 Code Gb imu.o [1] +IMU_ReadRawData 0x801'e31d 0x54 Code Gb imu.o [1] +IMU_SetBank 0x801'e223 0xa Code Gb imu.o [1] +IMU_WriteReg 0x801'e1fb 0x28 Code Lc imu.o [1] +LPTIM1_IRQHandler 0x801'fd3d Code Wk startup_stm32g431xx.o [1] +LPUART1_IRQHandler 0x801'fd7d Code Wk startup_stm32g431xx.o [1] +MemManage_Handler 0x801'fc69 Code Wk startup_stm32g431xx.o [1] +Motors_Init 0x801'efad 0x9a Code Gb motors.o [1] +NMI_Handler 0x801'fc61 Code Wk startup_stm32g431xx.o [1] +PVD_PVM_IRQHandler 0x801'fc89 Code Wk startup_stm32g431xx.o [1] +PendSV_Handler 0x801'fc7d Code Wk startup_stm32g431xx.o [1] +RCC_IRQHandler 0x801'fc99 Code Wk startup_stm32g431xx.o [1] +RNG_IRQHandler 0x801'fd79 Code Wk startup_stm32g431xx.o [1] +RTC_Alarm_IRQHandler 0x801'fd25 Code Wk startup_stm32g431xx.o [1] RTC_TAMP_LSECSS_IRQHandler - 0x801'e91d Code Wk startup_stm32g431xx.o [1] -RTC_WKUP_IRQHandler 0x801'e921 Code Wk startup_stm32g431xx.o [1] -Region$$Table$$Base 0x801'e80c -- Gb - Linker created - -Region$$Table$$Limit 0x801'e830 -- Gb - Linker created - -Reset_Handler 0x801'e8e1 Code Wk startup_stm32g431xx.o [1] -SAI1_IRQHandler 0x801'ea01 Code Wk startup_stm32g431xx.o [1] -SPI1_IRQHandler 0x801'e99d Code Wk startup_stm32g431xx.o [1] -SPI2_IRQHandler 0x801'e9a1 Code Wk startup_stm32g431xx.o [1] -SPI3_IRQHandler 0x801'e9d1 Code Wk startup_stm32g431xx.o [1] -SVC_Handler 0x801'e905 Code Wk startup_stm32g431xx.o [1] -Set_Motor_Individual 0x801'dfcd 0x10 Code Gb motors.o [1] -Set_Motors 0x801'dfbf 0xe Code Gb motors.o [1] -SysTick_Handler 0x801'e911 Code Wk startup_stm32g431xx.o [1] + 0x801'fc8d Code Wk startup_stm32g431xx.o [1] +RTC_WKUP_IRQHandler 0x801'fc91 Code Wk startup_stm32g431xx.o [1] +Region$$Table$$Base 0x801'fb7c -- Gb - Linker created - +Region$$Table$$Limit 0x801'fba0 -- Gb - Linker created - +Reset_Handler 0x801'fc51 Code Wk startup_stm32g431xx.o [1] +SAI1_IRQHandler 0x801'fd71 Code Wk startup_stm32g431xx.o [1] +SPI1_IRQHandler 0x801'fd0d Code Wk startup_stm32g431xx.o [1] +SPI2_IRQHandler 0x801'fd11 Code Wk startup_stm32g431xx.o [1] +SPI3_IRQHandler 0x801'fd41 Code Wk startup_stm32g431xx.o [1] +SVC_Handler 0x801'fc75 Code Wk startup_stm32g431xx.o [1] +Set_Motor_Individual 0x801'f055 0x10 Code Gb motors.o [1] +Set_Motors 0x801'f047 0xe Code Gb motors.o [1] +SysTick_Handler 0x801'fc81 Code Wk startup_stm32g431xx.o [1] SystemClock_Config_160MHz - 0x801'ddf7 0x4c Code Gb main.o [1] + 0x801'ee79 0x4c Code Gb main.o [1] SystemCoreClock 0x2000'0014 0x4 Data Gb system_stm32g4xx.o [1] -SystemCoreClockUpdate 0x801'e055 0x6c Code Gb system_stm32g4xx.o [1] -SystemInit 0x801'e049 0xc Code Gb system_stm32g4xx.o [1] +SystemCoreClockUpdate 0x801'f081 0x6c Code Gb system_stm32g4xx.o [1] +SystemInit 0x801'f075 0xc Code Gb system_stm32g4xx.o [1] TIM1_BRK_TIM15_IRQHandler - 0x801'e971 Code Wk startup_stm32g431xx.o [1] -TIM1_CC_IRQHandler 0x801'e97d Code Wk startup_stm32g431xx.o [1] + 0x801'fce1 Code Wk startup_stm32g431xx.o [1] +TIM1_CC_IRQHandler 0x801'fced Code Wk startup_stm32g431xx.o [1] TIM1_TRG_COM_TIM17_IRQHandler - 0x801'e979 Code Wk startup_stm32g431xx.o [1] + 0x801'fce9 Code Wk startup_stm32g431xx.o [1] TIM1_UP_TIM16_IRQHandler - 0x801'e975 Code Wk startup_stm32g431xx.o [1] -TIM2_IRQHandler 0x801'e981 Code Wk startup_stm32g431xx.o [1] -TIM3_IRQHandler 0x801'e985 Code Wk startup_stm32g431xx.o [1] -TIM4_IRQHandler 0x801'e989 Code Wk startup_stm32g431xx.o [1] -TIM6_DAC_IRQHandler 0x801'ded9 0x14 Code Gb main.o [1] -TIM6_Init_1000Hz 0x801'dea9 0x30 Code Gb main.o [1] -TIM7_IRQHandler 0x801'e9d9 Code Wk startup_stm32g431xx.o [1] -TIM8_BRK_IRQHandler 0x801'e9bd Code Wk startup_stm32g431xx.o [1] -TIM8_CC_IRQHandler 0x801'e9c9 Code Wk startup_stm32g431xx.o [1] + 0x801'fce5 Code Wk startup_stm32g431xx.o [1] +TIM2_IRQHandler 0x801'fcf1 Code Wk startup_stm32g431xx.o [1] +TIM3_IRQHandler 0x801'fcf5 Code Wk startup_stm32g431xx.o [1] +TIM4_IRQHandler 0x801'fcf9 Code Wk startup_stm32g431xx.o [1] +TIM6_DAC_IRQHandler 0x801'ef59 0x14 Code Gb main.o [1] +TIM6_Init_1000Hz 0x801'ef29 0x30 Code Gb main.o [1] +TIM7_IRQHandler 0x801'fd49 Code Wk startup_stm32g431xx.o [1] +TIM8_BRK_IRQHandler 0x801'fd2d Code Wk startup_stm32g431xx.o [1] +TIM8_CC_IRQHandler 0x801'fd39 Code Wk startup_stm32g431xx.o [1] TIM8_TRG_COM_IRQHandler - 0x801'e9c5 Code Wk startup_stm32g431xx.o [1] -TIM8_UP_IRQHandler 0x801'e9c1 Code Wk startup_stm32g431xx.o [1] -UART2_Init_921600 0x801'de43 0x48 Code Gb main.o [1] -UART4_IRQHandler 0x801'e9d5 Code Wk startup_stm32g431xx.o [1] -UART_SendPacket 0x801'de8b 0x1c Code Gb main.o [1] -UCPD1_IRQHandler 0x801'e9f1 Code Wk startup_stm32g431xx.o [1] -USART1_IRQHandler 0x801'e9a5 Code Wk startup_stm32g431xx.o [1] -USART2_IRQHandler 0x801'e9a9 Code Wk startup_stm32g431xx.o [1] -USART3_IRQHandler 0x801'e9ad Code Wk startup_stm32g431xx.o [1] -USBWakeUp_IRQHandler 0x801'e9b9 Code Wk startup_stm32g431xx.o [1] -USB_HP_IRQHandler 0x801'e95d Code Wk startup_stm32g431xx.o [1] -USB_LP_IRQHandler 0x801'e961 Code Wk startup_stm32g431xx.o [1] -UsageFault_Handler 0x801'e901 Code Wk startup_stm32g431xx.o [1] -WWDG_IRQHandler 0x801'e915 Code Wk startup_stm32g431xx.o [1] -__cmain 0x801'e7bd Code Gb cmain.o [5] -__exit 0x801'e7f9 0x14 Code Gb exit.o [6] -__iar_copy_init3 0x801'e71d 0x2a Code Gb copy_init3.o [5] -__iar_data_init3 0x801'e771 0x28 Code Gb data_init.o [5] -__iar_init_vfp 0x801'e799 Code Gb fpinit_M.o [4] -__iar_program_start 0x801'e831 Code Gb cstartup_M.o [5] -__iar_zero_init3 0x801'e6e5 0x38 Code Gb zero_init3.o [5] -__low_level_init 0x801'e7df 0x4 Code Gb low_level_init.o [2] + 0x801'fd35 Code Wk startup_stm32g431xx.o [1] +TIM8_UP_IRQHandler 0x801'fd31 Code Wk startup_stm32g431xx.o [1] +UART2_Init_921600 0x801'eec5 0x48 Code Gb main.o [1] +UART4_IRQHandler 0x801'fd45 Code Wk startup_stm32g431xx.o [1] +UART_SendPacket 0x801'ef0d 0x1c Code Gb main.o [1] +UCPD1_IRQHandler 0x801'fd61 Code Wk startup_stm32g431xx.o [1] +USART1_IRQHandler 0x801'fd15 Code Wk startup_stm32g431xx.o [1] +USART2_IRQHandler 0x801'fd19 Code Wk startup_stm32g431xx.o [1] +USART3_IRQHandler 0x801'fd1d Code Wk startup_stm32g431xx.o [1] +USBWakeUp_IRQHandler 0x801'fd29 Code Wk startup_stm32g431xx.o [1] +USB_HP_IRQHandler 0x801'fccd Code Wk startup_stm32g431xx.o [1] +USB_LP_IRQHandler 0x801'fcd1 Code Wk startup_stm32g431xx.o [1] +Update_FMAC_Coeffs 0x801'e371 0x22 Code Gb imu.o [1] +UsageFault_Handler 0x801'fc71 Code Wk startup_stm32g431xx.o [1] +WWDG_IRQHandler 0x801'fc85 Code Wk startup_stm32g431xx.o [1] +__cmain 0x801'fb2d Code Gb cmain.o [5] +__exit 0x801'fb69 0x14 Code Gb exit.o [6] +__iar_copy_init3 0x801'd1c3 0x2a Code Gb copy_init3.o [5] +__iar_data_init3 0x801'fae1 0x28 Code Gb data_init.o [5] +__iar_init_vfp 0x801'fb09 Code Gb fpinit_M.o [4] +__iar_program_start 0x801'fba1 Code Gb cstartup_M.o [5] +__iar_zero_init3 0x801'fa81 0x38 Code Gb zero_init3.o [5] +__low_level_init 0x801'fb4f 0x4 Code Gb low_level_init.o [2] __vector_table 0x800'0000 Data Gb startup_stm32g431xx.o [1] -_call_main 0x801'e7c9 Code Gb cmain.o [5] -_exit 0x801'e7e9 Code Gb cexit.o [5] -_exit_2 0x801'e7ed Code Gb cexit_2.o [5] +_call_main 0x801'fb39 Code Gb cmain.o [5] +_exit 0x801'fb59 Code Gb cexit.o [5] +_exit_2 0x801'fb5d Code Gb cexit_2.o [5] +active_notch_freqs 0x2000'0418 0xc Data Gb dsp_manager.o [1] armBitRevIndexTable1024 0x801'9f18 0xe10 Data Gb arm_common_tables.o [3] -armBitRevIndexTable128 0x801'e174 0x1a0 Data Gb arm_common_tables.o [3] -armBitRevIndexTable16 0x801'e748 0x28 Data Gb arm_common_tables.o [3] +armBitRevIndexTable128 0x801'f510 0x1a0 Data Gb arm_common_tables.o [3] +armBitRevIndexTable16 0x801'fab8 0x28 Data Gb arm_common_tables.o [3] armBitRevIndexTable2048 0x801'6158 0x1dc0 Data Gb arm_common_tables.o [3] -armBitRevIndexTable256 0x801'd0ac 0x370 Data Gb arm_common_tables.o [3] -armBitRevIndexTable32 0x801'e684 0x60 Data Gb arm_common_tables.o [3] +armBitRevIndexTable256 0x801'ddb4 0x370 Data Gb arm_common_tables.o [3] +armBitRevIndexTable32 0x801'fa20 0x60 Data Gb arm_common_tables.o [3] armBitRevIndexTable4096 0x801'41d8 0x1f80 Data Gb arm_common_tables.o [3] -armBitRevIndexTable512 0x801'cd2c 0x380 Data Gb arm_common_tables.o [3] -armBitRevIndexTable64 0x801'e614 0x70 Data Gb arm_common_tables.o [3] -arm_cfft_init_f32 0x801'dcdd 0x98 Code Gb arm_cfft_init_f32.o [3] +armBitRevIndexTable512 0x801'da34 0x380 Data Gb arm_common_tables.o [3] +armBitRevIndexTable64 0x801'f9b0 0x70 Data Gb arm_common_tables.o [3] +arm_bitreversal_32 0x801'd1ed 0x46 Code Gb arm_bitreversal2.o [3] +arm_cfft_f32 0x801'caad 0x184 Code Gb arm_cfft_f32.o [3] +arm_cfft_init_f32 0x801'ed01 0x98 Code Gb arm_cfft_init_f32.o [3] +arm_cfft_radix8by2_f32 0x801'c52d 0x16a Code Gb arm_cfft_f32.o [3] +arm_cfft_radix8by4_f32 0x801'c699 0x412 Code Gb arm_cfft_f32.o [3] arm_cfft_sR_f32_len1024 - 0x801'e8b0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len128 0x801'e880 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len16 0x801'e850 0x10 Data Gb arm_const_structs.o [3] + 0x801'fc20 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len128 0x801'fbf0 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len16 0x801'fbc0 0x10 Data Gb arm_const_structs.o [3] arm_cfft_sR_f32_len2048 - 0x801'e8c0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len256 0x801'e890 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len32 0x801'e860 0x10 Data Gb arm_const_structs.o [3] + 0x801'fc30 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len256 0x801'fc00 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len32 0x801'fbd0 0x10 Data Gb arm_const_structs.o [3] arm_cfft_sR_f32_len4096 - 0x801'e8d0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len512 0x801'e8a0 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len64 0x801'e870 0x10 Data Gb arm_const_structs.o [3] -arm_cos_f32 0x801'e0e5 0x90 Code Gb arm_cos_f32.o [3] + 0x801'fc40 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len512 0x801'fc10 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len64 0x801'fbe0 0x10 Data Gb arm_const_structs.o [3] +arm_cmplx_mag_f32 0x801'eb21 0x154 Code Gb arm_cmplx_mag_f32.o [3] +arm_cos_f32 0x801'e7fd 0x90 Code Gb arm_cos_f32.o [3] +arm_mult_f32 0x801'e88d 0x10e Code Gb arm_mult_f32.o [3] +arm_radix8_butterfly_f32 + 0x801'cc31 0x592 Code Gb arm_cfft_radix8_f32.o [3] arm_rfft_1024_fast_init_f32 - 0x801'dbd1 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e6f1 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_128_fast_init_f32 - 0x801'db65 0x22 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e685 0x22 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_2048_fast_init_f32 - 0x801'dbf7 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e717 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_256_fast_init_f32 - 0x801'db87 0x24 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e6a7 0x24 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_32_fast_init_f32 - 0x801'db21 0x22 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e641 0x22 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_4096_fast_init_f32 - 0x801'dc1d 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e73d 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_512_fast_init_f32 - 0x801'dbab 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'e6cb 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_64_fast_init_f32 - 0x801'db43 0x22 Code Lc arm_rfft_fast_init_f32.o [3] -arm_rfft_fast_init_f32 0x801'dc43 0x5a Code Gb arm_rfft_fast_init_f32.o [3] -dsp_buffer_ready 0x2000'0018 0x1 Data Gb dsp_manager.o [1] -exit 0x801'e7e3 0x4 Code Gb exit.o [2] -fft_handler 0x2000'081c 0x18 Data Lc dsp_manager.o [1] -filt_gx 0x2000'0870 0x4 Data Gb imu.o [1] -gyro_bias_x 0x2000'0874 0x4 Data Gb imu.o [1] -hann_window 0x2000'001c 0x800 Data Lc dsp_manager.o [1] + 0x801'e663 0x22 Code Lc arm_rfft_fast_init_f32.o [3] +arm_rfft_fast_f32 0x801'eae5 0x3a Code Gb arm_rfft_fast_f32.o [3] +arm_rfft_fast_init_f32 0x801'e763 0x5a Code Gb arm_rfft_fast_init_f32.o [3] +arm_sin_f32 0x801'ec75 0x8c Code Gb arm_sin_f32.o [3] +biquad_apply 0x801'e22d 0x3e Code Gb imu.o [1] +dsp_buffer_ready 0x2000'0c30 0x1 Data Gb dsp_manager.o [1] +dyn_notch_filters 0x2000'1c50 0x54 Data Gb imu.o [1] +exit 0x801'fb53 0x4 Code Gb exit.o [2] +fft_handler 0x2000'1434 0x18 Data Lc dsp_manager.o [1] +fft_input 0x2000'144c 0x800 Data Lc dsp_manager.o [1] +fft_output 0x2000'0430 0x800 Data Lc dsp_manager.o [1] +filt_gx 0x2000'1ca4 0x4 Data Gb imu.o [1] +gyro_bias_x 0x2000'1ca8 0x4 Data Gb imu.o [1] +hann_window 0x2000'0c34 0x800 Data Lc dsp_manager.o [1] imu_flag 0x2000'0000 0x1 Data Gb main.o [1] m1_speed 0x2000'0004 0x4 Data Gb main.o [1] m2_speed 0x2000'0008 0x4 Data Gb main.o [1] m3_speed 0x2000'000c 0x4 Data Gb main.o [1] m4_speed 0x2000'0010 0x4 Data Gb main.o [1] -main 0x801'dd75 0x82 Code Gb main.o [1] -notch_fmac_coeffs 0x2000'0834 0x20 Data Gb imu.o [1] -notch_fmac_state 0x2000'0854 0x18 Data Gb imu.o [1] -raw_gx 0x2000'086c 0x2 Data Gb imu.o [1] -sample_count 0x2000'001a 0x2 Data Lc dsp_manager.o [1] +magnitudes 0x2000'0018 0x400 Data Lc dsp_manager.o [1] +main 0x801'ed99 0xe0 Code Gb main.o [1] +merge_rfft_f32 0x801'ea45 0xa0 Code Gb arm_rfft_fast_f32.o [3] +raw_gx 0x2000'1c4c 0x2 Data Gb imu.o [1] +sample_count 0x2000'0c32 0x2 Data Lc dsp_manager.o [1] sinTable_f32 0x801'ad28 0x804 Data Gb arm_common_tables.o [3] +smoothed_freqs 0x2000'0424 0xc Data Lc dsp_manager.o [1] +stage_rfft_f32 0x801'e99d 0xa8 Code Gb arm_rfft_fast_f32.o [3] twiddleCoef_1024 0x801'01d8 0x2000 Data Gb arm_common_tables.o [3] -twiddleCoef_128 0x801'c52c 0x400 Data Gb arm_common_tables.o [3] -twiddleCoef_16 0x801'e514 0x80 Data Gb arm_common_tables.o [3] +twiddleCoef_128 0x801'd234 0x400 Data Gb arm_common_tables.o [3] +twiddleCoef_16 0x801'f8b0 0x80 Data Gb arm_common_tables.o [3] twiddleCoef_2048 0x800'81d8 0x4000 Data Gb arm_common_tables.o [3] twiddleCoef_256 0x801'b52c 0x800 Data Gb arm_common_tables.o [3] -twiddleCoef_32 0x801'e314 0x100 Data Gb arm_common_tables.o [3] +twiddleCoef_32 0x801'f6b0 0x100 Data Gb arm_common_tables.o [3] twiddleCoef_4096 0x800'01d8 0x8000 Data Gb arm_common_tables.o [3] twiddleCoef_512 0x801'7f18 0x1000 Data Gb arm_common_tables.o [3] -twiddleCoef_64 0x801'd720 0x200 Data Gb arm_common_tables.o [3] +twiddleCoef_64 0x801'f110 0x200 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_1024 0x801'8f18 0x1000 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_128 0x801'd920 0x200 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_128 0x801'f310 0x200 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_2048 0x801'21d8 0x2000 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_256 0x801'c92c 0x400 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_32 0x801'e594 0x80 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_256 0x801'd634 0x400 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_32 0x801'f930 0x80 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_4096 0x800'c1d8 0x4000 Data Gb arm_common_tables.o [3] twiddleCoef_rfft_512 0x801'bd2c 0x800 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_64 0x801'e414 0x100 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_64 0x801'f7b0 0x100 Data Gb arm_common_tables.o [3] [1] = C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj @@ -557,9 +591,9 @@ twiddleCoef_rfft_64 0x801'e414 0x100 Data Gb arm_common_tables.o [3] [5] = rt7M_tl.a [6] = shb_l.a - 3'476 bytes of readonly code memory + 8'452 bytes of readonly code memory 122'028 bytes of readonly data memory - 4'216 bytes of readwrite data memory + 9'388 bytes of readwrite data memory Errors: none Warnings: none diff --git a/Debug/Obj/dsp_manager.o b/Debug/Obj/dsp_manager.o index e8d5890..2432d70 100644 Binary files a/Debug/Obj/dsp_manager.o and b/Debug/Obj/dsp_manager.o differ diff --git a/Debug/Obj/imu.o b/Debug/Obj/imu.o index 931d818..046bd9a 100644 Binary files a/Debug/Obj/imu.o and b/Debug/Obj/imu.o differ diff --git a/Debug/Obj/main.o b/Debug/Obj/main.o index d6a7cc7..32a4da8 100644 Binary files a/Debug/Obj/main.o and b/Debug/Obj/main.o differ diff --git a/Debug/Obj/startup_stm32g431xx.o b/Debug/Obj/startup_stm32g431xx.o index dc8f34c..515aa43 100644 Binary files a/Debug/Obj/startup_stm32g431xx.o and b/Debug/Obj/startup_stm32g431xx.o differ diff --git a/Debug/Obj/system_stm32g4xx.o b/Debug/Obj/system_stm32g4xx.o index 6ddc6c4..d342afb 100644 Binary files a/Debug/Obj/system_stm32g4xx.o and b/Debug/Obj/system_stm32g4xx.o differ diff --git a/drone_par_on_gx_up.py b/drone_par_on_gx_up.py new file mode 100644 index 0000000..6311bc1 --- /dev/null +++ b/drone_par_on_gx_up.py @@ -0,0 +1,133 @@ +import serial +import struct +import numpy as np +import matplotlib.pyplot as plt +from matplotlib.animation import FuncAnimation +from matplotlib.ticker import MultipleLocator + +# --- НАСТРОЙКИ --- +PORT = 'COM3' +BAUD = 921600 +FS = 1000 +SAMPLES = 512 +PACKET_SIZE = 12 # Изменено: 2(AA BB) + 2(gx) + 2(fgx) + 2(f1) + 2(f2) + 2(f3) + +try: + ser = serial.Serial(PORT, BAUD, timeout=0.01) + ser.set_buffer_size(rx_size=12800, tx_size=12800) + ser.reset_input_buffer() + print(f"Подключено к {PORT}. Ожидание данных (12-байтные пакеты)...") +except Exception as e: + print(f"Ошибка порта: {e}") + exit() + +# Буферы данных +raw_buffer = np.zeros(SAMPLES) +filt_buffer = np.zeros(SAMPLES) +peak_freqs = [0, 0, 0] # Для хранения частот из STM32 +data_packet = bytearray() + +fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 8)) + +# 1. Временной график +line_raw, = ax1.plot(raw_buffer, color='red', lw=2.5, alpha=0.3, label='Грязный (Raw)') +line_filt, = ax1.plot(filt_buffer, color='blue', lw=1.2, label='FMAC Фильтр') +ax1.set_title("Осциллограф: Гироскоп X") +ax1.set_ylim(-2000, 2000) +ax1.legend(loc='upper right') +ax1.grid(True, alpha=0.3) + +# Текст для отображения частот на графике +peak_text = ax1.text(0.02, 0.95, '', transform=ax1.transAxes, verticalalignment='top', + bbox=dict(boxstyle='round', facecolor='white', alpha=0.7), fontsize=12, color='darkgreen') + +# 2. Частотный график +freqs = np.fft.rfftfreq(SAMPLES, 1/FS) +line_spec_filt, = ax2.plot(freqs, np.zeros(len(freqs)), color='blue', lw=1.5, label='Спектр (После фильтров)', zorder=10) +fill_poly = None + +# Вертикальные линии для визуализации работы Notch-фильтров +peak_lines = [ax2.axvline(0, color='green', linestyle='--', alpha=0.0) for _ in range(3)] + +ax2.set_title("Частотный анализ (FFT)") +ax2.set_xlabel("Частота (Гц)") +ax2.set_xlim(0, 500) +ax2.set_ylim(0, 30000) +ax2.xaxis.set_major_locator(MultipleLocator(50)) +ax2.grid(True, alpha=0.3) + +def update(frame): + global raw_buffer, filt_buffer, data_packet, fill_poly, peak_freqs + + new_data = ser.read_all() + if new_data: + data_packet.extend(new_data) + + # Парсинг пакетов (длина 12) + while len(data_packet) >= PACKET_SIZE: + header_idx = data_packet.find(b'\xaa\xbb') + if header_idx == -1: + data_packet.clear() + break + + if header_idx + PACKET_SIZE <= len(data_packet): + # Читаем: 2(gx), 2(fgx), 2(f1), 2(f2), 2(f3) + chunk = data_packet[header_idx+2 : header_idx+PACKET_SIZE] + try: + # int16, int16, uint16, uint16, uint16 + r_val, f_val, f1, f2, f3 = struct.unpack(' 0: + peak_lines[i].set_xdata([peak_freqs[i], peak_freqs[i]]) + peak_lines[i].set_alpha(0.6) + else: + peak_lines[i].set_alpha(0.0) + + if fill_poly: + fill_poly.remove() + fill_poly = ax2.fill_between(freqs, 0, fft_r, color='red', alpha=0.15, zorder=1) + + # Автомасштаб спектра + #m = np.max(fft_r) if len(fft_r) > 0 else 5000 + #curr_limit = ax2.get_ylim()[1] + #if m > curr_limit: + # ax2.set_ylim(0, m * 1.2) + #elif m < curr_limit * 0.2 and curr_limit > 5000: + # ax2.set_ylim(0, 5000) + + return line_raw, line_filt, line_spec_filt, peak_text + +ani = FuncAnimation(fig, update, interval=30, cache_frame_data=False) +plt.tight_layout() +plt.show() +ser.close() \ No newline at end of file diff --git a/dsp_manager.c b/dsp_manager.c index 8355b92..f15d714 100644 --- a/dsp_manager.c +++ b/dsp_manager.c @@ -15,6 +15,13 @@ uint8_t dsp_buffer_ready = 0; // Структура БПФ из библиотеки static arm_rfft_fast_instance_f32 fft_handler; +// Частоты текущих 3 подавляющих фильтров +float active_notch_freqs[3] = {0.0f, 0.0f, 0.0f}; + +//альфа +static float32_t smoothed_freqs[3] = {0.0f, 0.0f, 0.0f}; +#define FREQ_ALPHA 0.05f // Чем МЕНЬШЕ значение, тем дольше фильтр "едет" к новой частоте + void DSP_Init(void) { // Инициализируем структуру БПФ arm_rfft_fast_init_f32(&fft_handler, FFT_SIZE); @@ -46,28 +53,74 @@ void DSP_Process(void) { // 3. Считаем амплитуды arm_cmplx_mag_f32(fft_output, magnitudes, FFT_SIZE / 2); - // 4. Поиск 3-х самых мощных пиков + // 4. Поиск 3-х независимых самых мощных пиков float32_t top_freq_indices[3] = {0}; float32_t top_mags[3] = {0}; - for (uint32_t i = 50; i < 450; i++) { - if (magnitudes[i] > top_mags[0]) { - top_mags[2] = top_mags[1]; top_freq_indices[2] = top_freq_indices[1]; - top_mags[1] = top_mags[0]; top_freq_indices[1] = top_freq_indices[0]; - top_mags[0] = magnitudes[i]; - top_freq_indices[0] = (float32_t)i; + // Индексы для поиска от 50 Гц до 450 Гц + // index = freq * FFT_SIZE / fs = freq * 512 / 1000 + uint32_t start_idx = 25; // ~50 Гц (50 * 512 / 1000 = 25) + uint32_t end_idx = 230; // ~450 Гц (450 * 512 / 1000 = 230) + + for (int k = 0; k < 3; k++) { + float32_t max_m = 0; + uint32_t max_i = 0; + + // Ищем глобальный максимум + for (uint32_t i = start_idx; i < end_idx; i++) { + if (magnitudes[i] > max_m) { + max_m = magnitudes[i]; + max_i = i; + } + } + + top_mags[k] = max_m; + top_freq_indices[k] = (float32_t)max_i; + + // "Зануляем" гору вокруг найденного пика (±10 бинов, ~±20 Гц) + // Чтобы следующий фильтр не прицепился к «склону» того же самого пика + if (max_i > 0) { + uint32_t clear_start = (max_i > 10) ? (max_i - 10) : 0; + uint32_t clear_end = (max_i + 10 < (FFT_SIZE / 2)) ? (max_i + 10) : ((FFT_SIZE / 2) - 1); + for (uint32_t j = clear_start; j <= clear_end; j++) { + magnitudes[j] = 0.0f; + } } } // --- 5. ПЕРЕНАСТРОЙКА ТРЕХ КАСКАДОВ FMAC --- const float fs = 1000.0f; // Частота дискретизации - const float Q = 1.5f; // Добротность (ширина выреза, 1.0 - 2.0 норм) + const float Q = 3.5f; // Добротность const float bin_to_hz = fs / (float)FFT_SIZE; for (int i = 0; i < 3; i++) { - // Если амплитуда выше порога, настраиваем фильтр - if (top_mags[i] > 3.0f) { - float real_freq = top_freq_indices[i] * bin_to_hz; + float mag = top_mags[i]; + float new_freq = top_freq_indices[i] * bin_to_hz; + + // Hysteresis (ГИСТЕРЕЗИС): + // Если фильтр сейчас ВЫКЛЮЧЕН (active_notch_freqs == 0) + if (active_notch_freqs[i] == 0) { + if (mag > 4000.0f) { + // Включаем фильтр! Чтобы не полз с нуля, присваиваем частоту сразу: + smoothed_freqs[i] = new_freq; + active_notch_freqs[i] = new_freq; + } + } + // Если фильтр сейчас ВКЛЮЧЕН + else { + if (mag < 2000.0f) { + // Выключаем фильтр, так как амплитуда сильно упала + active_notch_freqs[i] = 0; + } else { + // Продолжаем отслеживать с Альфой (EMA) + smoothed_freqs[i] = (smoothed_freqs[i] * (1.0f - FREQ_ALPHA)) + (new_freq * FREQ_ALPHA); + active_notch_freqs[i] = smoothed_freqs[i]; + } + } + + // Применяем настройки + if (active_notch_freqs[i] > 0) { + float real_freq = active_notch_freqs[i]; // Математика Notch-фильтра float w0 = 2.0f * 3.14159265f * real_freq / fs; @@ -75,8 +128,6 @@ void DSP_Process(void) { float cosw0 = arm_cos_f32(w0); float a0 = 1.0f + alpha; - // Коэффициенты для передачи в FMAC - // Мы делим на a0 сразу здесь float b0 = 1.0f / a0; float b1 = -2.0f * cosw0 / a0; float b2 = 1.0f / a0; @@ -84,13 +135,11 @@ void DSP_Process(void) { float a2 = (1.0f - alpha) / a0; Update_FMAC_Coeffs(i, b0, b1, b2, a1, a2); - } - else { - // Если пика нет, ставим фильтр в режим Bypass (пропускает сигнал без изменений) - // b0 = 1.0, остальные 0. Это даст y[n] = 1.0 * x[n] + } else { + // Bypass Update_FMAC_Coeffs(i, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f); } } dsp_buffer_ready = 0; // Разрешаем новый сбор данных -} \ No newline at end of file +} diff --git a/dsp_manager.h b/dsp_manager.h index eafa523..7c08e02 100644 --- a/dsp_manager.h +++ b/dsp_manager.h @@ -13,5 +13,7 @@ void DSP_Process(void); // Запустить расчет (ког // Флаг готовности данных (чтобы main знал, когда пора вызывать Process) extern uint8_t dsp_buffer_ready; +// Список частот, которые в данный момент подавляются фильтрами +extern float active_notch_freqs[3]; #endif \ No newline at end of file diff --git a/imu.c b/imu.c index f5896d7..dcaaef0 100644 --- a/imu.c +++ b/imu.c @@ -30,6 +30,22 @@ float gyro_bias_x = 0; // notch1, notch2, notch3 удалены (заменены на notch_fmac_coeffs[3]) // biquad_apply и biquad_init_notch удалены (больше не нужны с FMAC) +#define M_PI 3.14159265358979323846f + +void biquad_init_notch(biquad_t *f, float freq, float q, float fs) { + float omega = 2.0f * M_PI * freq / fs; + float alpha = sinf(omega) / (2.0f * q); + + float a0 = 1.0f + alpha; + f->b0 = 1.0f / a0; + f->b1 = -2.0f * cosf(omega) / a0; + f->b2 = 1.0f / a0; + f->a1 = -2.0f * cosf(omega) / a0; + f->a2 = (1.0f - alpha) / a0; + f->d1 = 0; + f->d2 = 0; +} + fmac_coeffs_t notch_fmac_coeffs[3]; fmac_state_t notch_fmac_state[3]; @@ -87,6 +103,18 @@ static void IMU_WriteReg(uint8_t reg, uint8_t val) { void IMU_SetBank(uint8_t bank) { IMU_WriteReg(0x7F, (bank & 0x03) << 4); } +float biquad_apply(biquad_t *f, float x) { + // Реализация Direct Form II (правильная математика для IIR) + float w = x - f->a1 * f->d1 - f->a2 * f->d2; + float y = f->b0 * w + f->b1 * f->d1 + f->b2 * f->d2; + f->d2 = f->d1; + f->d1 = w; + return y; +} + +// 3 динамических каскада +biquad_t dyn_notch_filters[3]; + void IMU_Init(void) { // Пробуждение... IMU_SetBank(0); @@ -95,22 +123,25 @@ void IMU_Init(void) { IMU_WriteReg(0x07, 0x00); IMU_SetBank(2); - IMU_WriteReg(0x01, 0x01); // Bypass (отключаем встроенный фильтр для анализа) + // ICM-20948: GYRO_CONFIG_1 находится в нулевом регистре второго банка. + // Значение GYRO_DLPFCFG = 7 для макс. ширины без полного байпаса: ~361.4 Hz LPF. + // (0 - это 196Hz, 1 - 151Hz, 2 - 119Hz, 3 - 51Hz, 7 - 361.4Hz) + // GYRO_FS_SEL = 3 (2000 dps) + // ВНИМАНИЕ: На ICM-20948 бит GYRO_FCHOICE (бит 0) включает LPF, если равен 1! (а 0 = Bypass) + IMU_WriteReg(0x01, (7 << 3) | (3 << 1) | 1); + IMU_SetBank(0); - // b0 = 1.0 (в Q14 это 16384), остальные 0 + // Инициализируем фильтры в режиме Bypass (пропускание) for (int i = 0; i < 3; i++) { - notch_fmac_coeffs[i].b0 = 0; - notch_fmac_coeffs[i].b1 = 0; - notch_fmac_coeffs[i].b2 = 0; - notch_fmac_coeffs[i].a1 = 0; - notch_fmac_coeffs[i].a2 = 0; - - notch_fmac_state[i].x1 = 0; - notch_fmac_state[i].x2 = 0; - notch_fmac_state[i].y1 = 0; - notch_fmac_state[i].y2 = 0; -} + dyn_notch_filters[i].b0 = 1.0f; + dyn_notch_filters[i].b1 = 0; + dyn_notch_filters[i].b2 = 0; + dyn_notch_filters[i].a1 = 0; + dyn_notch_filters[i].a2 = 0; + dyn_notch_filters[i].d1 = 0; + dyn_notch_filters[i].d2 = 0; + } } void IMU_Calibrate(void) { @@ -127,30 +158,34 @@ void IMU_ReadRawData(void) { uint8_t buf[14]; I2C_ReadMulti(IMU_ADDR, 0x2D, buf, 14); - raw_gx = (int16_t)(buf[6] << 8 | buf[7]); - float x = (float)raw_gx - gyro_bias_x; + // 1. Читаем сырое + int16_t gyro_x_raw = (int16_t)(buf[6] << 8 | buf[7]); + + // 2. Центрируем относительно нуля (убираем дрейф) + float x = (float)gyro_x_raw - gyro_bias_x; + + // 3. СОХРАНЯЕМ это в raw_gx (это будет красная линия в Python) + raw_gx = (int16_t)x; - // ВМЕСТО ЭТОГО: - // x = biquad_apply(¬ch1, x); - // x = biquad_apply(¬ch2, x); - // x = biquad_apply(¬ch3, x); + // 4. Прогоняем через 3 каскада программных фильтров (режекторные) + float x_filtered = x; + x_filtered = biquad_apply(&dyn_notch_filters[0], x_filtered); + x_filtered = biquad_apply(&dyn_notch_filters[1], x_filtered); + x_filtered = biquad_apply(&dyn_notch_filters[2], x_filtered); - // ТЕПЕРЬ: - x = FMAC_Process_Sample(x); - - filt_gx = x; + // 5. Сохраняем в filt_gx (это будет синяя линия) + filt_gx = x_filtered; } void Update_FMAC_Coeffs(int stage, float b0, float b1, float b2, float a1, float a2) { if (stage < 0 || stage > 2) return; - const float scale = 16384.0f; // Q14 - notch_fmac_coeffs[stage].b0 = (int16_t)(b0 * scale); - notch_fmac_coeffs[stage].b1 = (int16_t)(b1 * scale); - notch_fmac_coeffs[stage].b2 = (int16_t)(b2 * scale); - // Для FMAC знаки a1 и a2 инвертируем! - notch_fmac_coeffs[stage].a1 = (int16_t)(-a1 * scale); - notch_fmac_coeffs[stage].a2 = (int16_t)(-a2 * scale); + // Обновляем софтверные фильтры вместо FMAC + dyn_notch_filters[stage].b0 = b0; + dyn_notch_filters[stage].b1 = b1; + dyn_notch_filters[stage].b2 = b2; + dyn_notch_filters[stage].a1 = a1; + dyn_notch_filters[stage].a2 = a2; } // Внутренняя функция для обработки одного каскада через FMAC @@ -178,7 +213,7 @@ static int16_t FMAC_Step(fmac_coeffs_t *c, fmac_state_t *s, int16_t input) { FMAC->WDATA = input; uint32_t timeout = 1000; - while (!(FMAC->SR & 0x01) && --timeout); + while ((FMAC->SR & 0x01) && --timeout); if (timeout == 0) return input; diff --git a/imu.h b/imu.h index 13754ee..92a4356 100644 --- a/imu.h +++ b/imu.h @@ -10,8 +10,11 @@ typedef struct { float d1, d2; } biquad_t; -// Старые фильтры notch1,2,3 удалены (использовалась только FMAC с notch_fmac_coeffs[3]) -// extern biquad_t notch1, notch2, notch3; +// 3 динамических программных фильтра (вместо FMAC) +extern biquad_t dyn_notch_filters[3]; + +void biquad_init_notch(biquad_t *f, float freq, float q, float fs); +float biquad_apply(biquad_t *f, float x); // Прототипы void I2C1_Init(void); diff --git a/main.c b/main.c index 1a9f5a1..cf2eae6 100644 --- a/main.c +++ b/main.c @@ -11,11 +11,15 @@ volatile uint32_t m2_speed = 900; volatile uint32_t m3_speed = 900; volatile uint32_t m4_speed = 900; +// В main.c меняем структуру #pragma pack(push, 1) typedef struct { - uint8_t header[2]; - int16_t gx; - int16_t filt_gx; + uint8_t header[2]; // 0xAA, 0xBB + int16_t gx; // Сырой гиро + int16_t filt_gx; // Отфильтрованный гиро + uint16_t freq1; // Пик 1 (Гц) + uint16_t freq2; // Пик 2 (Гц) + uint16_t freq3; // Пик 3 (Гц) } Telemetry_t; #pragma pack(pop) @@ -49,22 +53,30 @@ int main(void) { pkt.header[0] = 0xAA; pkt.header[1] = 0xBB; - while (1) { - if (imu_flag) { - imu_flag = 0; + // В основном цикле while(1) внутри if (imu_flag) +while (1) { + if (imu_flag) { + imu_flag = 0; + IMU_ReadRawData(); + DSP_AddSample((float32_t)raw_gx); + + pkt.gx = raw_gx; + pkt.filt_gx = (int16_t)filt_gx; + + // Заполняем частоты из dsp_manager.c + // extern float active_notch_freqs[3]; // Если компилятор не видит, добавьте в заголовок + pkt.freq1 = (uint16_t)active_notch_freqs[0]; + pkt.freq2 = (uint16_t)active_notch_freqs[1]; + pkt.freq3 = (uint16_t)active_notch_freqs[2]; - IMU_ReadRawData(); // Теперь она внутри себя вызывает FMAC_Process_Sample - - - pkt.gx = raw_gx; - - pkt.filt_gx = (int16_t)filt_gx; // filt_gx обновится внутри IMU_ReadRawData - - - UART_SendPacket(&pkt); - Set_Motor_Individual(m1_speed, m2_speed, m3_speed, m4_speed); - } + UART_SendPacket(&pkt); + Set_Motor_Individual(m1_speed, m2_speed, m3_speed, m4_speed); } + + if (dsp_buffer_ready) { + DSP_Process(); + } +} } // 4. РЕАЛИЗАЦИЯ ФУНКЦИЙ (Тут был провал - их не хватало!) diff --git a/settings/fft_az.dnx b/settings/fft_az.dnx index 278f1c3..047b190 100644 --- a/settings/fft_az.dnx +++ b/settings/fft_az.dnx @@ -25,7 +25,7 @@ 1 - 757690107 + 919959831 1 diff --git a/settings/fft_az.reggroups b/settings/fft_az.reggroups new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/settings/fft_az.reggroups @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/settings/fft_az.wsdt b/settings/fft_az.wsdt index 9827abf..f55d50a 100644 --- a/settings/fft_az.wsdt +++ b/settings/fft_az.wsdt @@ -83,7 +83,7 @@ _I0 - 1062 + 1123 20 2 @@ -103,11 +103,11 @@ 1 1 1 - 74010000210024970000010000001397000017000000158100000400000010860000210000005F860000010000003A9700000200000001E10000010000000C810000BC000000159700001C000000568600000100000017810000070000001297000026000000128600001800000003840000010000001481000002000000319700000300000000810000050000001F810000080000000E8100009800000000E100000200000028970000010000000B8100001400000014970000190000000584000002000000148600000600000005810000020000000284000003000000118600001300000010840000030000003284000001000000549200000200000002E10000020000001697000001000000 + A70100002200139700001700000024970000010000003297000001000000108600002100000015810000040000005F860000010000000C810000D40000003A9700000200000001E1000001000000159700001C000000038400000100000012860000180000001297000026000000178100000700000056860000010000003197000003000000148100000200000000810000050000000E810000B20000001F810000080000000B81000015000000289700000100000000E100000200000014860000060000000584000002000000149700001900000011860000130000000284000003000000058100000200000032840000010000001084000003000000549200000200000002E10000020000001697000001000000 3B00FFFFFFFF2AE10000008200001C820000338200000182000077840000078400007F84000088840000878400008A840000868400000D8400000F84000008840000FE830000FF830000FD83000054840000328100001C810000098400005D9700006797000042970000439700003C8400003D840000408400004C8400003E8400004B8400004D8400003F8400003A8400003B8400005A8400005B8400005384000008800000098000000A8000000B8000000C800000158000000A81000001E800000C84000033840000788400003B85000077970000008800000188000002880000038800000488000005880000 - 6A002497000000170000469700003A0A00001397000074000000359700000D17000004840000590C000089840000040000003297000005170000158100007C0C00002CE10000C70D000051970000D41700000D970000111800004581000005000000409700009C1A000007E10000980C0000318400009F0000003D970000450A00001B970000810000002C970000881A000004E10000960C00000F8100006C00000020810000740000005C970000D7030000189700007C00000029970000841A00000D800000710C000001E10000930C000023E10000C40D000007970000BA0D00000C8100006900000037970000400A0000269700000217000059970000CE030000098100005B060000159700007500000019820000960D0000068400005B0C000045970000390A00001297000073000000239700007E1A00003497000007170000178100007E0C000016820000940D00000384000097000000008400009400000031970000041700005397000011000000148100007B0C00002BE10000C60D000044810000020000003F9700009B1A000000810000720C000030840000040400000E840000020400003C970000440A00001A9700007B0000002B970000921A000003E10000950C000025E10000C50D00002F820000970D00000E8100006B0000001F810000730000005D840000010000005B970000D5030000179700007600000028970000871A000039970000961A000000E10000920C000022E10000C30D000006970000B90D00000B81000093040000259700000117000058970000D3030000149700007700000036970000931A000041E100009F0C000018820000950D00000584000099000000D18400005B000000559700000E040000058100009706000066970000440100003397000006170000168100007D0C00000284000096000000419700009D1A000032840000A0000000108400009D00000043810000030000001C970000800000003E9700009A1A000051840000630C000005E10000970C000008970000321800003B970000430A000035E1000084060000199700007E0000002A970000911A000002E10000940C00000D810000950400000A8400009B00000038970000410A000027970000031700005C840000000000005A970000CF030000169700007A00000005970000B1060000 + 6E0004840000590C0000359700000D1700001397000074000000469700003A0A0000249700000017000054970000AD0000002CE10000C70D000032970000051700008984000004000000158100007C0C0000318400009F000000409700009C1A000045810000050000000D9700001118000051970000D417000007E10000980C000020810000740000000F8100006C0000002C970000881A00001B970000810000003D970000450A000004E10000960C00003A970000D70000000C8100006900000007970000BA0D000023E10000C40D000029970000841A0000189700007C0000005C970000D703000001E10000930C00000D800000710C0000068400005B0C000019820000960D00001597000075000000098100005B06000059970000CE030000269700000217000037970000400A0000038400009700000016820000940D00003497000007170000239700007E1A0000129700007300000045970000390A0000178100007E0C000042970000DE0000002BE10000C60D0000539700001100000031970000041700000084000094000000148100007B0C00000E840000BD0D000030840000BF0D00003F9700009B1A0000448100000200000000810000720C00001F810000730000000E8100006B0000002F820000970D000025E10000C50D00002B970000921A00001A9700007B0000003C970000440A000003E10000950C00000B810000890D000006970000B90D000022E10000C30D000039970000961A000028970000871A000017970000760000005B970000D50300005D8400000100000000E10000920C0000D18400005B000000058400009900000018820000950D000036970000931A0000149700007700000058970000D3030000259700000117000041E100009F0C00000284000096000000339700000617000066970000440100000581000097060000559700000E040000168100007D0C0000108400009D00000032840000A0000000419700009D1A00002D970000CB0000003E9700009A1A00001C97000080000000438100000300000005E10000970C000051840000630C00003B970000430A00000A8400009B0000000D8100008B0D00002A970000911A0000199700007E00000035E1000084060000089700003218000002E10000940C000005970000B1060000169700007A0000005A970000CF0300005C84000000000000279700000317000038970000410A0000 0 @@ -124,8 +124,8 @@ 4294967295 - 000000007D0200000006000027030000 - 00000000660200000006000010030000 + 000000009C0200000006000027030000 + 00000000850200000006000010030000 4096 0 0 @@ -137,8 +137,8 @@ 34050 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -156,9 +156,9 @@ _I0 - 453 + 447 40 - 1009 + 998 20 2 @@ -168,8 +168,8 @@ 34052 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -182,8 +182,8 @@ 34054 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -204,8 +204,8 @@ 34055 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -226,8 +226,8 @@ 34056 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -240,8 +240,8 @@ 34058 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -262,8 +262,8 @@ 34059 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -276,8 +276,8 @@ 34060 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -290,8 +290,8 @@ 34064 - 000000001700000022010000C8000000 - 040000007E020000FC050000F6020000 + CE00000000030000CE060000AA030000 + 040000009D020000FC050000F6020000 32768 0 0 @@ -384,7 +384,7 @@ 34061 00000000170000000601000078010000 - 00000000320000000601000062020000 + 00000000320000000601000081020000 4096 0 0 @@ -451,11 +451,11 @@ - 000000000E000000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000E85000000000000000000000000000000000000010000000E850000010000000E850000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000620200000100000002000010040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000000000000FFFFFFFFFFFFFFFF0000000096010000000600009A010000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000080000001000000FFFFFFFFFFFFFFFF00000000620200000006000066020000010000000100001004000000010000000CFEFFFF9F000000FFFFFFFF0900000002850000048500000685000007850000088500000A8500000B8500000C85000010850000FFFF02000B004354616262656450616E650080000001000000000000007D020000000600002703000000000000660200000006000010030000000000004080005609000000FFFEFF054200750069006C006400010000000285000001000000FFFFFFFFFFFFFFFFFFFEFF1343004D0061006B0065002F0043004D005300490053002D0054006F006F006C0062006F007800000000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000685000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF12260053006F0075007200630065002000420072006F0077007300650020004C006F006700000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000C85000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000001085000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFF0285000001000000FFFFFFFF02850000000000000000000000000000 + 000000000E000000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000E85000000000000000000000000000000000000010000000E850000010000000E850000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000810200000100000002000010040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000000000000FFFFFFFFFFFFFFFF0000000096010000000600009A010000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000080000001000000FFFFFFFFFFFFFFFF0000000081020000000600008502000001000000010000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF0900000002850000048500000685000007850000088500000A8500000B8500000C85000010850000FFFF02000B004354616262656450616E650080000001000000000000009C020000000600002703000000000000850200000006000010030000000000004080005609000000FFFEFF054200750069006C006400010000000285000001000000FFFFFFFFFFFFFFFFFFFEFF1343004D0061006B0065002F0043004D005300490053002D0054006F006F006C0062006F007800000000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000685000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF12260053006F0075007200630065002000420072006F0077007300650020004C006F006700000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000C85000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000001085000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF0285000001000000FFFFFFFF02850000000000000000000000000000 CMSIS-Pack - 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000065120000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 + 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000008160000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 34048 @@ -472,7 +472,7 @@ Main - 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E10000000000009A120000FFFEFF000000000000000000000000000100000001000000018001E10000000000009B120000FFFEFF000000000000000000000000000100000001000000018003E10000000004009D120000FFFEFF000000000000000000000000000100000001000000018000810000000000007A120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E1000000000400A0120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E1000000000400A2120000FFFEFF000000000000000000000000000100000001000000018022E1000000000400A1120000FFFEFF000000000000000000000000000100000001000000018025E1000000000400A3120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE1000000000400A4120000FFFEFF00000000000000000000000000010000000100000001802CE1000000000400A5120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000400FFFFFFFFFFFEFF000000000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004008B120000FFFEFF000000000000000000000000000100000001000000018024E100000000040093120000FFFEFF000000000000000000000000000100000001000000018028E100000000040092120000FFFEFF000000000000000000000000000100000001000000018029E100000000040094120000FFFEFF000000000000000000000000000100000001000000018002810000000004007B120000FFFEFF000000000000000000000000000100000001000000018029810000000004008F120000FFFEFF000000000000000000000000000100000001000000018027810000000004008D120000FFFEFF000000000000000000000000000100000001000000018028810000000004008E120000FFFEFF00000000000000000000000000010000000100000001801D8100000000040087120000FFFEFF00000000000000000000000000010000000100000001801E8100000000040088120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000020004007E120000FFFEFF00000000000000000000000000010000000100000001800D8100000200000080120000FFFEFF00000000000000000000000000010000000100000001805F8600000200040091120000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000200020081120000FFFEFF00000000000000000000000000010000000100000001800F8100000200000082120000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000 + 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E10000000000003D160000FFFEFF000000000000000000000000000100000001000000018001E10000000000003E160000FFFEFF000000000000000000000000000100000001000000018003E100000000040040160000FFFEFF000000000000000000000000000100000001000000018000810000000000001D160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000040043160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E100000000040045160000FFFEFF000000000000000000000000000100000001000000018022E100000000040044160000FFFEFF000000000000000000000000000100000001000000018025E100000000040046160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040047160000FFFEFF00000000000000000000000000010000000100000001802CE100000000040048160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000400FFFFFFFFFFFEFF000100000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004002E160000FFFEFF000000000000000000000000000100000001000000018024E100000000040036160000FFFEFF000000000000000000000000000100000001000000018028E100000000040035160000FFFEFF000000000000000000000000000100000001000000018029E100000000040037160000FFFEFF000000000000000000000000000100000001000000018002810000000004001E160000FFFEFF0000000000000000000000000001000000010000000180298100000000040032160000FFFEFF0000000000000000000000000001000000010000000180278100000000040030160000FFFEFF0000000000000000000000000001000000010000000180288100000000040031160000FFFEFF00000000000000000000000000010000000100000001801D810000000004002A160000FFFEFF00000000000000000000000000010000000100000001801E810000000004002B160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000200040021160000FFFEFF00000000000000000000000000010000000100000001800D8100000200000023160000FFFEFF00000000000000000000000000010000000100000001805F8600000200040034160000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000200020024160000FFFEFF00000000000000000000000000010000000100000001800F8100000200000025160000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000 34049 @@ -490,7 +490,7 @@ - 0100000003000000010000000000000000000000010000000100000002000000000000000100000001000000000000002800000028000000010000000C0000000700000001000000FFFEFF162400570053005F0044004900520024005C00730074006D00330032006700340033003100780078002E00680001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100340037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D730074006D00330032006700340033003100780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E006300010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00630000000000FFFFFFFFFFFFFFFFFFFEFF1E2400570053005F0044004900520024005C0073007400610072007400750070005F00730074006D00330032006700340033003100780078002E007300010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF1573007400610072007400750070005F00730074006D00330032006700340033003100780078002E00730000000000FFFFFFFFFFFFFFFFFFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF142400570053005F0044004900520024005C00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100320039003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00630000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00680000000000FFFFFFFFFFFFFFFFFFFEFF0F2400570053005F0044004900520024005C006D00610069006E002E006300010000000180FFFEFF00FFFEFFFF25013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00310033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003600390033003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003600390033003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0031003100320037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0031003100320037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006300010000000180FFFEFF00FFFEFFFF21013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00630000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00680000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A010000490000000006000079020000 + 0100000003000000010000000000000000000000010000000100000002000000000000000100000001000000000000002800000028000000010000000C0000000700000001000000FFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00630000000000FFFFFFFFFFFFFFFFFFFEFF1E2400570053005F0044004900520024005C0073007400610072007400750070005F00730074006D00330032006700340033003100780078002E007300010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF1573007400610072007400750070005F00730074006D00330032006700340033003100780078002E00730000000000FFFFFFFFFFFFFFFFFFFEFF1B2400570053005F0044004900520024005C00730079007300740065006D005F00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF12730079007300740065006D005F00730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF142400570053005F0044004900520024005C00730074006D003300320067003400780078002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B730074006D003300320067003400780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006300010000000180FFFEFF00FFFEFFFF21013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00350034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00630000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00680000000000FFFFFFFFFFFFFFFFFFFEFF0E2400570053005F0044004900520024005C0069006D0075002E006300010000000180FFFEFF00FFFEFFFF24013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003700390032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003700390032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0569006D0075002E00630000000000FFFFFFFFFFFFFFFFFFFEFF0F2400570053005F0044004900520024005C006D00610069006E002E006300010000000180FFFEFF00FFFEFFFF25013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00310034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003900360030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003900360030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0031003100320037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0031003100320037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C002E002E005C007700770077005C006D006F0074006F00720073002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF086D006F0074006F00720073002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C00730074006D00330032006700340033003100780078002E006800010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100340037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D730074006D00330032006700340033003100780078002E00680000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C006400730070005F006D0061006E0061006700650072002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D6400730070005F006D0061006E0061006700650072002E00680000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A010000490000000006000098020000 diff --git a/top_mags[1]) b/top_mags[1]) new file mode 100644 index 0000000..e69de29 diff --git a/top_mags[2]) b/top_mags[2]) new file mode 100644 index 0000000..e69de29