From c0e81d7cadf95f51f24cf1b73e80e1e2b170f10d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20=C5=BDaitl=C3=ADk?= Date: Tue, 8 Jun 2021 11:14:04 +0200 Subject: [PATCH] Switched RCC form HAL to LL. --- fw/.cproject | 52 +- fw/.mxproject | 18 +- fw/Core/Inc/main.h | 24 +- fw/Core/Inc/stm32l0xx_hal_conf.h | 330 - fw/Core/Src/main.c | 64 +- fw/Core/Src/stm32l0xx_hal_msp.c | 84 - fw/Core/Src/stm32l0xx_it.c | 2 +- fw/Debug/Core/Src/main.d | 79 +- fw/Debug/Core/Src/main.o | Bin 571364 -> 346036 bytes fw/Debug/Core/Src/main.su | 5 +- fw/Debug/Core/Src/stm32l0xx_hal_msp.o | Bin 548492 -> 0 bytes fw/Debug/Core/Src/stm32l0xx_it.d | 77 +- fw/Debug/Core/Src/stm32l0xx_it.o | Bin 549332 -> 324172 bytes fw/Debug/Core/Src/stm32l0xx_it.su | 2 +- fw/Debug/Core/Src/subdir.mk | 15 +- fw/Debug/Core/Src/syscalls.o | Bin 84252 -> 84588 bytes fw/Debug/Core/Src/sysmem.o | Bin 51608 -> 51944 bytes fw/Debug/Core/Src/system_stm32l0xx.d | 56 +- fw/Debug/Core/Src/system_stm32l0xx.o | Bin 512992 -> 287704 bytes .../STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.o | Bin 525992 -> 0 bytes .../Src/stm32l0xx_hal_cortex.o | Bin 521220 -> 0 bytes .../Src/stm32l0xx_hal_dma.o | Bin 525620 -> 0 bytes .../Src/stm32l0xx_hal_exti.o | Bin 518436 -> 0 bytes .../Src/stm32l0xx_hal_flash.o | Bin 521180 -> 0 bytes .../Src/stm32l0xx_hal_flash_ex.o | Bin 531640 -> 0 bytes .../Src/stm32l0xx_hal_flash_ramfunc.o | Bin 514632 -> 0 bytes .../Src/stm32l0xx_hal_gpio.o | Bin 519096 -> 0 bytes .../Src/stm32l0xx_hal_i2c.o | Bin 629780 -> 0 bytes .../Src/stm32l0xx_hal_i2c_ex.o | Bin 518488 -> 0 bytes .../Src/stm32l0xx_hal_pwr.o | Bin 519696 -> 0 bytes .../Src/stm32l0xx_hal_pwr_ex.o | Bin 512980 -> 0 bytes .../Src/stm32l0xx_hal_rcc.o | Bin 529252 -> 0 bytes .../Src/stm32l0xx_hal_rcc_ex.o | Bin 518916 -> 0 bytes .../Src/stm32l0xx_hal_tim.o | Bin 509144 -> 0 bytes .../Src/stm32l0xx_hal_tim_ex.o | Bin 509156 -> 0 bytes .../Src/stm32l0xx_ll_dma.d | 54 - .../Src/stm32l0xx_ll_dma.o | Bin 528588 -> 303396 bytes .../Src/stm32l0xx_ll_exti.d | 56 +- .../Src/stm32l0xx_ll_exti.o | Bin 516688 -> 291492 bytes .../Src/stm32l0xx_ll_gpio.d | 54 - .../Src/stm32l0xx_ll_gpio.o | Bin 522084 -> 296888 bytes .../Src/stm32l0xx_ll_i2c.d | 54 - .../Src/stm32l0xx_ll_i2c.o | Bin 523852 -> 298656 bytes .../Src/stm32l0xx_ll_lpuart.d | 54 - .../Src/stm32l0xx_ll_lpuart.o | Bin 531640 -> 306444 bytes .../Src/stm32l0xx_ll_pwr.o | Bin 0 -> 289828 bytes .../Src/stm32l0xx_ll_pwr.su | 4 +- .../Src/stm32l0xx_ll_rcc.d | 56 +- .../Src/stm32l0xx_ll_rcc.o | Bin 534556 -> 309360 bytes .../Src/stm32l0xx_ll_utils.d | 54 - .../Src/stm32l0xx_ll_utils.o | Bin 543296 -> 318156 bytes .../STM32L0xx_HAL_Driver/Src/subdir.mk | 99 +- fw/Debug/iaq_wired_sensor.bin | Bin 5696 -> 3172 bytes fw/Debug/iaq_wired_sensor.elf | Bin 695864 -> 469996 bytes fw/Debug/iaq_wired_sensor.list | 4387 ++++------- fw/Debug/iaq_wired_sensor.map | 3071 +------- fw/Debug/objects.list | 18 +- .../Inc/Legacy/stm32_hal_legacy.h | 3783 --------- .../STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h | 487 -- .../Inc/stm32l0xx_hal_cortex.h | 365 - .../Inc/stm32l0xx_hal_def.h | 204 - .../Inc/stm32l0xx_hal_dma.h | 675 -- .../Inc/stm32l0xx_hal_exti.h | 342 - .../Inc/stm32l0xx_hal_flash.h | 378 - .../Inc/stm32l0xx_hal_flash_ex.h | 811 -- .../Inc/stm32l0xx_hal_flash_ramfunc.h | 108 - .../Inc/stm32l0xx_hal_gpio.h | 326 - .../Inc/stm32l0xx_hal_gpio_ex.h | 2505 ------ .../Inc/stm32l0xx_hal_i2c.h | 809 -- .../Inc/stm32l0xx_hal_i2c_ex.h | 197 - .../Inc/stm32l0xx_hal_pwr.h | 460 -- .../Inc/stm32l0xx_hal_pwr_ex.h | 99 - .../Inc/stm32l0xx_hal_rcc.h | 1741 ---- .../Inc/stm32l0xx_hal_rcc_ex.h | 2021 ----- .../Inc/stm32l0xx_hal_tim.h | 1828 ----- .../Inc/stm32l0xx_hal_tim_ex.h | 247 - .../STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c | 674 -- .../Src/stm32l0xx_hal_cortex.c | 415 - .../Src/stm32l0xx_hal_dma.c | 885 --- .../Src/stm32l0xx_hal_exti.c | 559 -- .../Src/stm32l0xx_hal_flash.c | 769 -- .../Src/stm32l0xx_hal_flash_ex.c | 1274 --- .../Src/stm32l0xx_hal_flash_ramfunc.c | 521 -- .../Src/stm32l0xx_hal_gpio.c | 538 -- .../Src/stm32l0xx_hal_i2c.c | 6646 ---------------- .../Src/stm32l0xx_hal_i2c_ex.c | 337 - .../Src/stm32l0xx_hal_pwr.c | 733 -- .../Src/stm32l0xx_hal_pwr_ex.c | 184 - .../Src/stm32l0xx_hal_rcc.c | 1504 ---- .../Src/stm32l0xx_hal_rcc_ex.c | 1214 --- .../Src/stm32l0xx_hal_tim.c | 6992 ----------------- .../Src/stm32l0xx_hal_tim_ex.c | 427 - .../Src/stm32l0xx_ll_pwr.c | 85 + fw/iaq_wired_sensor.ioc | 2 +- 94 files changed, 2023 insertions(+), 47891 deletions(-) delete mode 100644 fw/Core/Inc/stm32l0xx_hal_conf.h delete mode 100644 fw/Core/Src/stm32l0xx_hal_msp.c delete mode 100644 fw/Debug/Core/Src/stm32l0xx_hal_msp.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_exti.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ramfunc.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim.o delete mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim_ex.o create mode 100644 fw/Debug/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.o delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_cortex.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_exti.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ramfunc.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio_ex.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c_ex.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr_ex.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc_ex.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_tim.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_tim_ex.h delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_exti.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ramfunc.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim.c delete mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim_ex.c create mode 100644 fw/Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c diff --git a/fw/.cproject b/fw/.cproject index a34ddb9..e5db677 100644 --- a/fw/.cproject +++ b/fw/.cproject @@ -47,7 +47,7 @@ @@ -88,8 +108,6 @@ - - @@ -201,7 +219,7 @@ @@ -240,8 +278,6 @@ - - diff --git a/fw/.mxproject b/fw/.mxproject index 95a213c..ad2456a 100644 --- a/fw/.mxproject +++ b/fw/.mxproject @@ -1,25 +1,23 @@ [PreviousLibFiles] -LibFiles=Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h;Drivers/STM32L0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ramfunc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_tim.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_tim_ex.h;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ramfunc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim_ex.c;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h;Drivers/STM32L0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ramfunc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr_ex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_tim.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_tim_ex.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l011xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_armv8mbl.h; +LibFiles=Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l011xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_armv8mbl.h; [PreviousUsedCubeIDEFiles] -SourceFiles=Core/Src/main.c;Core/Src/stm32l0xx_it.c;Core/Src/stm32l0xx_hal_msp.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ramfunc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim_ex.c;Core/Src/system_stm32l0xx.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ramfunc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_tim_ex.c;Core/Src/system_stm32l0xx.c;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;; -HeaderPath=Drivers/STM32L0xx_HAL_Driver/Inc;Drivers/STM32L0xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32L0xx/Include;Drivers/CMSIS/Include;Core/Inc; -CDefines=USE_FULL_LL_DRIVER;USE_HAL_DRIVER;STM32L011xx;USE_FULL_LL_DRIVER;USE_HAL_DRIVER;USE_HAL_DRIVER; +SourceFiles=Core/Src/main.c;Core/Src/stm32l0xx_it.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Core/Src/system_stm32l0xx.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Core/Src/system_stm32l0xx.c;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;; +HeaderPath=Drivers/STM32L0xx_HAL_Driver/Inc;Drivers/CMSIS/Device/ST/STM32L0xx/Include;Drivers/CMSIS/Include;Core/Inc; +CDefines=USE_FULL_LL_DRIVER;HSE_VALUE:8000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;MSI_VALUE:2097000;HSI_VALUE:16000000;LSI_VALUE:37000;VDD_VALUE:3300;PREFETCH_ENABLE:0;INSTRUCTION_CACHE_ENABLE:1;DATA_CACHE_ENABLE:1;STM32L011xx;USE_FULL_LL_DRIVER;HSE_VALUE:8000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;MSI_VALUE:2097000;HSI_VALUE:16000000;LSI_VALUE:37000;VDD_VALUE:3300;PREFETCH_ENABLE:0;INSTRUCTION_CACHE_ENABLE:1;DATA_CACHE_ENABLE:1; [PreviousGenFiles] AdvancedFolderStructure=true -HeaderFileListSize=4 +HeaderFileListSize=3 HeaderFiles#0=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Inc/stm32l0xx_it.h HeaderFiles#1=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Inc/stm32_assert.h -HeaderFiles#2=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Inc/stm32l0xx_hal_conf.h -HeaderFiles#3=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Inc/main.h +HeaderFiles#2=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Inc/main.h HeaderFolderListSize=1 HeaderPath#0=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Inc HeaderFiles=; -SourceFileListSize=3 +SourceFileListSize=2 SourceFiles#0=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Src/stm32l0xx_it.c -SourceFiles#1=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Src/stm32l0xx_hal_msp.c -SourceFiles#2=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Src/main.c +SourceFiles#1=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Src/main.c SourceFolderListSize=1 SourcePath#0=/home/david/Personal/Projects/HDIoT/Smart_Household/Wired_Sensors/iaq_wired_sensor/fw/Core/Src SourceFiles=; diff --git a/fw/Core/Inc/main.h b/fw/Core/Inc/main.h index 716c334..8468db1 100644 --- a/fw/Core/Inc/main.h +++ b/fw/Core/Inc/main.h @@ -28,19 +28,23 @@ extern "C" { #endif /* Includes ------------------------------------------------------------------*/ -#include "stm32l0xx_hal.h" #include "stm32l0xx_ll_dma.h" #include "stm32l0xx.h" #include "stm32l0xx_ll_i2c.h" #include "stm32l0xx_ll_lpuart.h" #include "stm32l0xx_ll_rcc.h" -#include "stm32l0xx_ll_system.h" -#include "stm32l0xx_ll_gpio.h" -#include "stm32l0xx_ll_exti.h" +#include "stm32l0xx_ll_crs.h" #include "stm32l0xx_ll_bus.h" +#include "stm32l0xx_ll_system.h" +#include "stm32l0xx_ll_exti.h" #include "stm32l0xx_ll_cortex.h" #include "stm32l0xx_ll_utils.h" #include "stm32l0xx_ll_pwr.h" +#include "stm32l0xx_ll_gpio.h" + +#if defined(USE_FULL_ASSERT) +#include "stm32_assert.h" +#endif /* USE_FULL_ASSERT */ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ @@ -75,6 +79,18 @@ void Error_Handler(void); #define LED_G_GPIO_Port GPIOA #define LED_R_Pin LL_GPIO_PIN_7 #define LED_R_GPIO_Port GPIOA +#ifndef NVIC_PRIORITYGROUP_0 +#define NVIC_PRIORITYGROUP_0 ((uint32_t)0x00000007) /*!< 0 bit for pre-emption priority, + 4 bits for subpriority */ +#define NVIC_PRIORITYGROUP_1 ((uint32_t)0x00000006) /*!< 1 bit for pre-emption priority, + 3 bits for subpriority */ +#define NVIC_PRIORITYGROUP_2 ((uint32_t)0x00000005) /*!< 2 bits for pre-emption priority, + 2 bits for subpriority */ +#define NVIC_PRIORITYGROUP_3 ((uint32_t)0x00000004) /*!< 3 bits for pre-emption priority, + 1 bit for subpriority */ +#define NVIC_PRIORITYGROUP_4 ((uint32_t)0x00000003) /*!< 4 bits for pre-emption priority, + 0 bit for subpriority */ +#endif /* USER CODE BEGIN Private defines */ /* USER CODE END Private defines */ diff --git a/fw/Core/Inc/stm32l0xx_hal_conf.h b/fw/Core/Inc/stm32l0xx_hal_conf.h deleted file mode 100644 index 30c4584..0000000 --- a/fw/Core/Inc/stm32l0xx_hal_conf.h +++ /dev/null @@ -1,330 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l0xx_hal_conf.h - * @author MCD Application Team - * @brief HAL configuration template file. - * This file should be copied to the application folder and renamed - * to stm32l0xx_hal_conf.h. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2016 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32L0xx_HAL_CONF_H -#define __STM32L0xx_HAL_CONF_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* ########################## Module Selection ############################## */ -/** - * @brief This is the list of modules to be used in the HAL driver - */ - -#define HAL_MODULE_ENABLED - /*#define HAL_ADC_MODULE_ENABLED */ -/*#define HAL_CRYP_MODULE_ENABLED */ -/*#define HAL_COMP_MODULE_ENABLED */ -/*#define HAL_CRC_MODULE_ENABLED */ -/*#define HAL_CRYP_MODULE_ENABLED */ -/*#define HAL_DAC_MODULE_ENABLED */ -/*#define HAL_FIREWALL_MODULE_ENABLED */ -/*#define HAL_I2S_MODULE_ENABLED */ -/*#define HAL_IWDG_MODULE_ENABLED */ -/*#define HAL_LCD_MODULE_ENABLED */ -/*#define HAL_LPTIM_MODULE_ENABLED */ -/*#define HAL_RNG_MODULE_ENABLED */ -/*#define HAL_RTC_MODULE_ENABLED */ -/*#define HAL_SPI_MODULE_ENABLED */ -/*#define HAL_TIM_MODULE_ENABLED */ -/*#define HAL_TSC_MODULE_ENABLED */ -/*#define HAL_UART_MODULE_ENABLED */ -/*#define HAL_USART_MODULE_ENABLED */ -/*#define HAL_IRDA_MODULE_ENABLED */ -/*#define HAL_SMARTCARD_MODULE_ENABLED */ -/*#define HAL_SMBUS_MODULE_ENABLED */ -/*#define HAL_WWDG_MODULE_ENABLED */ -/*#define HAL_PCD_MODULE_ENABLED */ -#define HAL_GPIO_MODULE_ENABLED -#define HAL_EXTI_MODULE_ENABLED -#define HAL_DMA_MODULE_ENABLED -#define HAL_I2C_MODULE_ENABLED -#define HAL_RCC_MODULE_ENABLED -#define HAL_FLASH_MODULE_ENABLED -#define HAL_PWR_MODULE_ENABLED -#define HAL_CORTEX_MODULE_ENABLED - -/* ########################## Oscillator Values adaptation ####################*/ -/** - * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSE is used as system clock source, directly or through the PLL). - */ -#if !defined (HSE_VALUE) - #define HSE_VALUE ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */ -#endif /* HSE_VALUE */ - -#if !defined (HSE_STARTUP_TIMEOUT) - #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ -#endif /* HSE_STARTUP_TIMEOUT */ - -/** - * @brief Internal Multiple Speed oscillator (MSI) default value. - * This value is the default MSI range value after Reset. - */ -#if !defined (MSI_VALUE) - #define MSI_VALUE ((uint32_t)2097000U) /*!< Value of the Internal oscillator in Hz*/ -#endif /* MSI_VALUE */ - -/** - * @brief Internal High Speed oscillator (HSI) value. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSI is used as system clock source, directly or through the PLL). - */ -#if !defined (HSI_VALUE) - #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/ -#endif /* HSI_VALUE */ - -/** - * @brief Internal High Speed oscillator for USB (HSI48) value. - */ -#if !defined (HSI48_VALUE) -#define HSI48_VALUE ((uint32_t)48000000U) /*!< Value of the Internal High Speed oscillator for USB in Hz. - The real value may vary depending on the variations - in voltage and temperature. */ -#endif /* HSI48_VALUE */ - -/** - * @brief Internal Low Speed oscillator (LSI) value. - */ -#if !defined (LSI_VALUE) - #define LSI_VALUE ((uint32_t)37000U) /*!< LSI Typical Value in Hz*/ -#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz - The real value may vary depending on the variations - in voltage and temperature.*/ -/** - * @brief External Low Speed oscillator (LSE) value. - * This value is used by the UART, RTC HAL module to compute the system frequency - */ -#if !defined (LSE_VALUE) - #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External oscillator in Hz*/ -#endif /* LSE_VALUE */ - -#if !defined (LSE_STARTUP_TIMEOUT) - #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ -#endif /* LSE_STARTUP_TIMEOUT */ - -/* Tip: To avoid modifying this file each time you need to use different HSE, - === you can define the HSE value in your toolchain compiler preprocessor. */ - -/* ########################### System Configuration ######################### */ -/** - * @brief This is the HAL system configuration section - */ -#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */ -#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */ -#define USE_RTOS 0U -#define PREFETCH_ENABLE 0U -#define PREREAD_ENABLE 1U -#define BUFFER_CACHE_DISABLE 0U - -/* ########################## Assert Selection ############################## */ -/** - * @brief Uncomment the line below to expanse the "assert_param" macro in the - * HAL drivers code - */ -/* #define USE_FULL_ASSERT 1U */ - -/* ################## Register callback feature configuration ############### */ -/** - * @brief Set below the peripheral configuration to "1U" to add the support - * of HAL callback registration/deregistration feature for the HAL - * driver(s). This allows user application to provide specific callback - * functions thanks to HAL_PPP_RegisterCallback() rather than overwriting - * the default weak callback functions (see each stm32l0xx_hal_ppp.h file - * for possible callback identifiers defined in HAL_PPP_CallbackIDTypeDef - * for each PPP peripheral). - */ -#define USE_HAL_ADC_REGISTER_CALLBACKS 0U -#define USE_HAL_COMP_REGISTER_CALLBACKS 0U -#define USE_HAL_DAC_REGISTER_CALLBACKS 0U -#define USE_HAL_I2C_REGISTER_CALLBACKS 0U -#define USE_HAL_I2S_REGISTER_CALLBACKS 0U -#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U -#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U -#define USE_HAL_PCD_REGISTER_CALLBACKS 0U -#define USE_HAL_RNG_REGISTER_CALLBACKS 0U -#define USE_HAL_RTC_REGISTER_CALLBACKS 0U -#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U -#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U -#define USE_HAL_SPI_REGISTER_CALLBACKS 0U -#define USE_HAL_TIM_REGISTER_CALLBACKS 0U -#define USE_HAL_TSC_REGISTER_CALLBACKS 0U -#define USE_HAL_UART_REGISTER_CALLBACKS 0U -#define USE_HAL_USART_REGISTER_CALLBACKS 0U -#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U - -/* Includes ------------------------------------------------------------------*/ -/** - * @brief Include module's header file - */ - -#ifdef HAL_RCC_MODULE_ENABLED - #include "stm32l0xx_hal_rcc.h" -#endif /* HAL_RCC_MODULE_ENABLED */ - -#ifdef HAL_EXTI_MODULE_ENABLED - #include "stm32l0xx_hal_exti.h" -#endif /* HAL_EXTI_MODULE_ENABLED */ - -#ifdef HAL_GPIO_MODULE_ENABLED - #include "stm32l0xx_hal_gpio.h" -#endif /* HAL_GPIO_MODULE_ENABLED */ - -#ifdef HAL_DMA_MODULE_ENABLED - #include "stm32l0xx_hal_dma.h" -#endif /* HAL_DMA_MODULE_ENABLED */ - -#ifdef HAL_CORTEX_MODULE_ENABLED - #include "stm32l0xx_hal_cortex.h" -#endif /* HAL_CORTEX_MODULE_ENABLED */ - -#ifdef HAL_ADC_MODULE_ENABLED - #include "stm32l0xx_hal_adc.h" -#endif /* HAL_ADC_MODULE_ENABLED */ - -#ifdef HAL_COMP_MODULE_ENABLED - #include "stm32l0xx_hal_comp.h" -#endif /* HAL_COMP_MODULE_ENABLED */ - -#ifdef HAL_CRC_MODULE_ENABLED - #include "stm32l0xx_hal_crc.h" -#endif /* HAL_CRC_MODULE_ENABLED */ - -#ifdef HAL_CRYP_MODULE_ENABLED - #include "stm32l0xx_hal_cryp.h" -#endif /* HAL_CRYP_MODULE_ENABLED */ - -#ifdef HAL_DAC_MODULE_ENABLED - #include "stm32l0xx_hal_dac.h" -#endif /* HAL_DAC_MODULE_ENABLED */ - -#ifdef HAL_FIREWALL_MODULE_ENABLED - #include "stm32l0xx_hal_firewall.h" -#endif /* HAL_FIREWALL_MODULE_ENABLED */ - -#ifdef HAL_FLASH_MODULE_ENABLED - #include "stm32l0xx_hal_flash.h" -#endif /* HAL_FLASH_MODULE_ENABLED */ - -#ifdef HAL_I2C_MODULE_ENABLED - #include "stm32l0xx_hal_i2c.h" -#endif /* HAL_I2C_MODULE_ENABLED */ - -#ifdef HAL_I2S_MODULE_ENABLED - #include "stm32l0xx_hal_i2s.h" -#endif /* HAL_I2S_MODULE_ENABLED */ - -#ifdef HAL_IWDG_MODULE_ENABLED - #include "stm32l0xx_hal_iwdg.h" -#endif /* HAL_IWDG_MODULE_ENABLED */ - -#ifdef HAL_LCD_MODULE_ENABLED - #include "stm32l0xx_hal_lcd.h" -#endif /* HAL_LCD_MODULE_ENABLED */ - -#ifdef HAL_LPTIM_MODULE_ENABLED -#include "stm32l0xx_hal_lptim.h" -#endif /* HAL_LPTIM_MODULE_ENABLED */ - -#ifdef HAL_PWR_MODULE_ENABLED - #include "stm32l0xx_hal_pwr.h" -#endif /* HAL_PWR_MODULE_ENABLED */ - -#ifdef HAL_RNG_MODULE_ENABLED - #include "stm32l0xx_hal_rng.h" -#endif /* HAL_RNG_MODULE_ENABLED */ - -#ifdef HAL_RTC_MODULE_ENABLED - #include "stm32l0xx_hal_rtc.h" - -#endif /* HAL_RTC_MODULE_ENABLED */ - -#ifdef HAL_SPI_MODULE_ENABLED - #include "stm32l0xx_hal_spi.h" -#endif /* HAL_SPI_MODULE_ENABLED */ - -#ifdef HAL_TIM_MODULE_ENABLED - #include "stm32l0xx_hal_tim.h" -#endif /* HAL_TIM_MODULE_ENABLED */ - -#ifdef HAL_TSC_MODULE_ENABLED - #include "stm32l0xx_hal_tsc.h" -#endif /* HAL_TSC_MODULE_ENABLED */ - -#ifdef HAL_UART_MODULE_ENABLED - #include "stm32l0xx_hal_uart.h" -#endif /* HAL_UART_MODULE_ENABLED */ - -#ifdef HAL_USART_MODULE_ENABLED - #include "stm32l0xx_hal_usart.h" -#endif /* HAL_USART_MODULE_ENABLED */ - -#ifdef HAL_IRDA_MODULE_ENABLED - #include "stm32l0xx_hal_irda.h" -#endif /* HAL_IRDA_MODULE_ENABLED */ - -#ifdef HAL_SMARTCARD_MODULE_ENABLED - #include "stm32l0xx_hal_smartcard.h" -#endif /* HAL_SMARTCARD_MODULE_ENABLED */ - -#ifdef HAL_SMBUS_MODULE_ENABLED - #include "stm32l0xx_hal_smbus.h" -#endif /* HAL_SMBUS_MODULE_ENABLED */ - -#ifdef HAL_WWDG_MODULE_ENABLED - #include "stm32l0xx_hal_wwdg.h" -#endif /* HAL_WWDG_MODULE_ENABLED */ - -#ifdef HAL_PCD_MODULE_ENABLED - #include "stm32l0xx_hal_pcd.h" -#endif /* HAL_PCD_MODULE_ENABLED */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0U) -#endif /* USE_FULL_ASSERT */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32L0xx_HAL_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/fw/Core/Src/main.c b/fw/Core/Src/main.c index da15cd1..b93ecbd 100644 --- a/fw/Core/Src/main.c +++ b/fw/Core/Src/main.c @@ -73,7 +73,11 @@ int main(void) /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); + + LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SYSCFG); + LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_PWR); + + /* System interrupt init*/ /* USER CODE BEGIN Init */ @@ -101,7 +105,6 @@ int main(void) while (1) { /* USER CODE END WHILE */ - /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ @@ -113,45 +116,36 @@ int main(void) */ void SystemClock_Config(void) { - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + LL_FLASH_SetLatency(LL_FLASH_LATENCY_0); + while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_0) + { + } + LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); + LL_RCC_MSI_Enable(); - /** Configure the main internal regulator output voltage - */ - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI; - RCC_OscInitStruct.MSIState = RCC_MSI_ON; - RCC_OscInitStruct.MSICalibrationValue = 0; - RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_5; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + /* Wait till MSI is ready */ + while(LL_RCC_MSI_IsReady() != 1) { - Error_Handler(); - } - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) - { - Error_Handler(); } - PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPUART1|RCC_PERIPHCLK_I2C1; - PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1; - PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1; - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + LL_RCC_MSI_SetRange(LL_RCC_MSIRANGE_5); + LL_RCC_MSI_SetCalibTrimming(0); + LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); + LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); + LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); + LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_MSI); + + /* Wait till System clock is ready */ + while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_MSI) { - Error_Handler(); + } + + LL_Init1msTick(2097000); + + LL_SetSystemCoreClock(2097000); + LL_RCC_SetLPUARTClockSource(LL_RCC_LPUART1_CLKSOURCE_PCLK1); + LL_RCC_SetI2CClockSource(LL_RCC_I2C1_CLKSOURCE_PCLK1); } /** diff --git a/fw/Core/Src/stm32l0xx_hal_msp.c b/fw/Core/Src/stm32l0xx_hal_msp.c deleted file mode 100644 index f614d4a..0000000 --- a/fw/Core/Src/stm32l0xx_hal_msp.c +++ /dev/null @@ -1,84 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file stm32l0xx_hal_msp.c - * @brief This file provides code for the MSP Initialization - * and de-Initialization codes. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2021 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN TD */ - -/* USER CODE END TD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN Define */ - -/* USER CODE END Define */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN Macro */ - -/* USER CODE END Macro */ - -/* Private variables ---------------------------------------------------------*/ -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* External functions --------------------------------------------------------*/ -/* USER CODE BEGIN ExternalFunctions */ - -/* USER CODE END ExternalFunctions */ - -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ -/** - * Initializes the Global MSP. - */ -void HAL_MspInit(void) -{ - /* USER CODE BEGIN MspInit 0 */ - - /* USER CODE END MspInit 0 */ - - __HAL_RCC_SYSCFG_CLK_ENABLE(); - __HAL_RCC_PWR_CLK_ENABLE(); - - /* System interrupt init*/ - - /* USER CODE BEGIN MspInit 1 */ - - /* USER CODE END MspInit 1 */ -} - -/* USER CODE BEGIN 1 */ - -/* USER CODE END 1 */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/fw/Core/Src/stm32l0xx_it.c b/fw/Core/Src/stm32l0xx_it.c index 28664a1..b44f078 100644 --- a/fw/Core/Src/stm32l0xx_it.c +++ b/fw/Core/Src/stm32l0xx_it.c @@ -128,7 +128,7 @@ void SysTick_Handler(void) /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ - HAL_IncTick(); + /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } diff --git a/fw/Debug/Core/Src/main.d b/fw/Debug/Core/Src/main.d index 29d4f24..a36c859 100644 --- a/fw/Debug/Core/Src/main.d +++ b/fw/Debug/Core/Src/main.d @@ -1,8 +1,5 @@ Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h \ - ../Core/Inc/stm32l0xx_hal_conf.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h \ + ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h \ ../Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h \ ../Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l011xx.h \ ../Drivers/CMSIS/Include/core_cm0plus.h \ @@ -10,41 +7,21 @@ Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \ ../Drivers/CMSIS/Include/cmsis_compiler.h \ ../Drivers/CMSIS/Include/cmsis_gcc.h \ ../Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc_ex.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_exti.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio_ex.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_cortex.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ramfunc.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c_ex.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr_ex.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h \ ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h \ ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h \ ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h \ + ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h \ ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h \ + ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h \ + ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h \ ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h \ ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h \ - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h + ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h \ + ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h ../Core/Inc/main.h: -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h: - -../Core/Inc/stm32l0xx_hal_conf.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h: +../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h: ../Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h: @@ -60,52 +37,24 @@ Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \ ../Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h: -../Drivers/STM32L0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc_ex.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_exti.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio_ex.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_cortex.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ramfunc.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c_ex.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_pwr_ex.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h: - ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h: ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h: ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h: -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h: - -../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h: +../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h: ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h: +../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h: + +../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h: + ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h: ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h: ../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h: + +../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h: diff --git a/fw/Debug/Core/Src/main.o b/fw/Debug/Core/Src/main.o index d8390c4d3be62f1182d2d6481f3a77292c04d5e4..7b3bce9807ee188258c071b0aec220e8a7c115e3 100644 GIT binary patch literal 346036 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