diff --git a/.cproject b/.cproject
index 9727f44..1798d45 100644
--- a/.cproject
+++ b/.cproject
@@ -14,7 +14,7 @@
-
+
@@ -25,13 +25,16 @@
+
+
-
+
+
@@ -44,6 +47,21 @@
-
+
+
+
+
+
+
+
+
@@ -87,6 +127,7 @@
+
@@ -122,6 +163,9 @@
+
@@ -130,6 +174,7 @@
-
+
+
+
+
+
+
+
+
@@ -204,4 +257,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..765ff2e
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,14 @@
+name: Build
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: xanderhendriks/action-build-stm32cubeide@v10.0
+ with:
+ project-path: '.'
+ project-target: './Debug'
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a049b91
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,19 @@
+# MacOS
+
+.DS_Store
+
+# CMake
+
+cmake-build-debug/
+
+# CubeMX
+
+Debug/
+
+# CubeIDE
+
+.settings/
+
+# IDEA
+
+.idea/
\ No newline at end of file
diff --git a/.mxproject b/.mxproject
index cac5c59..a4074a1 100644
--- a/.mxproject
+++ b/.mxproject
@@ -1,24 +1,34 @@
[PreviousLibFiles]
-LibFiles=Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h;Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_bus.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_crs.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_system.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_utils.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dmamux.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_usart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_lpuart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h;Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_bus.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_crs.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_system.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_utils.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dmamux.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_usart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_lpuart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;
+LibFiles=Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h;Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_bus.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_crs.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_system.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_utils.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dmamux.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_tim.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_usart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_lpuart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h;Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_bus.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_crs.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_system.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_utils.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_dmamux.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_cortex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_exti.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_tim.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_usart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_lpuart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;
[PreviousUsedCubeIDEFiles]
-SourceFiles=Core/Src/main.c;Core/Src/stm32l4xx_it.c;Core/Src/stm32l4xx_hal_msp.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;Core/Src/system_stm32l4xx.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;Core/Src/system_stm32l4xx.c;;;
+SourceFiles=Core/Src/main.c;Core/Src/gpio.c;Core/Src/dma.c;Core/Src/i2c.c;Core/Src/tim.c;Core/Src/usart.c;Core/Src/stm32l4xx_it.c;Core/Src/stm32l4xx_hal_msp.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;Core/Src/system_stm32l4xx.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;Core/Src/system_stm32l4xx.c;;;
HeaderPath=Drivers/STM32L4xx_HAL_Driver/Inc;Drivers/STM32L4xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32L4xx/Include;Drivers/CMSIS/Include;Core/Inc;
CDefines=USE_HAL_DRIVER;STM32L476xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
[PreviousGenFiles]
AdvancedFolderStructure=true
-HeaderFileListSize=3
-HeaderFiles#0=../Core/Inc/stm32l4xx_it.h
-HeaderFiles#1=../Core/Inc/stm32l4xx_hal_conf.h
-HeaderFiles#2=../Core/Inc/main.h
+HeaderFileListSize=8
+HeaderFiles#0=../Core/Inc/gpio.h
+HeaderFiles#1=../Core/Inc/dma.h
+HeaderFiles#2=../Core/Inc/i2c.h
+HeaderFiles#3=../Core/Inc/tim.h
+HeaderFiles#4=../Core/Inc/usart.h
+HeaderFiles#5=../Core/Inc/stm32l4xx_it.h
+HeaderFiles#6=../Core/Inc/stm32l4xx_hal_conf.h
+HeaderFiles#7=../Core/Inc/main.h
HeaderFolderListSize=1
HeaderPath#0=../Core/Inc
HeaderFiles=;
-SourceFileListSize=3
-SourceFiles#0=../Core/Src/stm32l4xx_it.c
-SourceFiles#1=../Core/Src/stm32l4xx_hal_msp.c
-SourceFiles#2=../Core/Src/main.c
+SourceFileListSize=8
+SourceFiles#0=../Core/Src/gpio.c
+SourceFiles#1=../Core/Src/dma.c
+SourceFiles#2=../Core/Src/i2c.c
+SourceFiles#3=../Core/Src/tim.c
+SourceFiles#4=../Core/Src/usart.c
+SourceFiles#5=../Core/Src/stm32l4xx_it.c
+SourceFiles#6=../Core/Src/stm32l4xx_hal_msp.c
+SourceFiles#7=../Core/Src/main.c
SourceFolderListSize=1
SourcePath#0=../Core/Src
SourceFiles=;
diff --git a/.project b/.project
index b0ddc02..0c72ee2 100644
--- a/.project
+++ b/.project
@@ -22,12 +22,12 @@
com.st.stm32cube.ide.mcu.MCUProjectNature
com.st.stm32cube.ide.mcu.MCUCubeProjectNature
org.eclipse.cdt.core.cnature
- org.eclipse.cdt.core.ccnature
com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature
com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature
com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature
com.st.stm32cube.ide.mcu.MCURootProjectNature
org.eclipse.cdt.managedbuilder.core.managedBuildNature
org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+ org.eclipse.cdt.core.ccnature
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index dd30742..1335f8d 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..3c5257d
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,73 @@
+#THIS FILE IS AUTO GENERATED FROM THE TEMPLATE! DO NOT CHANGE!
+set(CMAKE_SYSTEM_NAME Generic)
+set(CMAKE_SYSTEM_VERSION 1)
+cmake_minimum_required(VERSION 3.27)
+
+# specify cross-compilers and tools
+set(CMAKE_C_COMPILER arm-none-eabi-gcc)
+set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
+set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
+set(CMAKE_AR arm-none-eabi-ar)
+set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
+set(CMAKE_OBJDUMP arm-none-eabi-objdump)
+set(SIZE arm-none-eabi-size)
+set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+
+# project settings
+project(light_detector C CXX ASM)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_C_STANDARD 11)
+
+#Uncomment for hardware floating point
+#add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
+#add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
+#add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
+
+#Uncomment for software floating point
+#add_compile_options(-mfloat-abi=soft)
+
+add_compile_options(-mcpu=cortex-m4 -mthumb -mthumb-interwork)
+add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0)
+
+# uncomment to mitigate c++17 absolute addresses warnings
+#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-register")
+
+# Enable assembler files preprocessing
+add_compile_options($<$:-x$assembler-with-cpp>)
+
+if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
+ message(STATUS "Maximum optimization for speed")
+ add_compile_options(-Ofast)
+elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")
+ message(STATUS "Maximum optimization for speed, debug info included")
+ add_compile_options(-Ofast -g)
+elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel")
+ message(STATUS "Maximum optimization for size")
+ add_compile_options(-Os)
+else ()
+ message(STATUS "Minimal optimization, debug info included")
+ add_compile_options(-Og -g)
+endif ()
+
+include_directories(Core/Inc Core/External/Proto/Buffer Core/External/Proto/Buffer/Request Core/External/Proto/Buffer/Response Core/External/Sensor Core/External/Proto/Helper Core/External/Proto/Codec Core/External/Proto/Generated Core/External/Proto/Generated/Content Core/External/Scheduler Core/External/Scheduler/Handler Core/External/State Core/External/Tools/Indicator Core/External/Tools/Mutex Core/External/Tools/Sequence ThirdParty/Inc Drivers/STM32L4xx_HAL_Driver/Inc Drivers/STM32L4xx_HAL_Driver/Inc/Legacy Drivers/CMSIS/Device/ST/STM32L4xx/Include Drivers/CMSIS/Include)
+
+add_definitions(-DDEBUG -DUSE_HAL_DRIVER -DSTM32L476xx)
+
+file(GLOB_RECURSE SOURCES "ThirdParty/*.*" "Core/*.*" "Drivers/*.*")
+
+set(LINKER_SCRIPT ${CMAKE_SOURCE_DIR}/STM32L476RGTX_FLASH.ld)
+
+add_link_options(-Wl,-gc-sections,--print-memory-usage,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map)
+add_link_options(-mcpu=cortex-m4 -mthumb -mthumb-interwork)
+add_link_options(-T ${LINKER_SCRIPT})
+
+add_executable(${PROJECT_NAME}.elf ${SOURCES} ${LINKER_SCRIPT})
+
+set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex)
+set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin)
+
+add_custom_command(TARGET ${PROJECT_NAME}.elf POST_BUILD
+ COMMAND ${CMAKE_OBJCOPY} -Oihex $ ${HEX_FILE}
+ COMMAND ${CMAKE_OBJCOPY} -Obinary $ ${BIN_FILE}
+ COMMENT "Building ${HEX_FILE}
+Building ${BIN_FILE}")
diff --git a/CMakeLists_template.txt b/CMakeLists_template.txt
new file mode 100644
index 0000000..3b7fc44
--- /dev/null
+++ b/CMakeLists_template.txt
@@ -0,0 +1,72 @@
+#${templateWarning}
+set(CMAKE_SYSTEM_NAME Generic)
+set(CMAKE_SYSTEM_VERSION 1)
+${cmakeRequiredVersion}
+# specify cross-compilers and tools
+set(CMAKE_C_COMPILER arm-none-eabi-gcc)
+set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
+set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
+set(CMAKE_AR arm-none-eabi-ar)
+set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
+set(CMAKE_OBJDUMP arm-none-eabi-objdump)
+set(SIZE arm-none-eabi-size)
+set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+
+# project settings
+project(${projectName} C CXX ASM)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_C_STANDARD 11)
+
+#Uncomment for hardware floating point
+#add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
+#add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
+#add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
+
+#Uncomment for software floating point
+#add_compile_options(-mfloat-abi=soft)
+
+add_compile_options(-mcpu=${mcpu} -mthumb -mthumb-interwork)
+add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0)
+
+# uncomment to mitigate c++17 absolute addresses warnings
+#set(CMAKE_CXX_FLAGS "$${CMAKE_CXX_FLAGS} -Wno-register")
+
+# Enable assembler files preprocessing
+add_compile_options($<$:-x$assembler-with-cpp>)
+
+if ("$${CMAKE_BUILD_TYPE}" STREQUAL "Release")
+ message(STATUS "Maximum optimization for speed")
+ add_compile_options(-Ofast)
+elseif ("$${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")
+ message(STATUS "Maximum optimization for speed, debug info included")
+ add_compile_options(-Ofast -g)
+elseif ("$${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel")
+ message(STATUS "Maximum optimization for size")
+ add_compile_options(-Os)
+else ()
+ message(STATUS "Minimal optimization, debug info included")
+ add_compile_options(-Og -g)
+endif ()
+
+include_directories(${includes})
+
+add_definitions(${defines})
+
+file(GLOB_RECURSE SOURCES ${sources})
+
+set(LINKER_SCRIPT $${CMAKE_SOURCE_DIR}/${linkerScript})
+
+add_link_options(-Wl,-gc-sections,--print-memory-usage,-Map=$${PROJECT_BINARY_DIR}/$${PROJECT_NAME}.map)
+add_link_options(-mcpu=${mcpu} -mthumb -mthumb-interwork)
+add_link_options(-T $${LINKER_SCRIPT})
+
+add_executable($${PROJECT_NAME}.elf $${SOURCES} $${LINKER_SCRIPT})
+
+set(HEX_FILE $${PROJECT_BINARY_DIR}/$${PROJECT_NAME}.hex)
+set(BIN_FILE $${PROJECT_BINARY_DIR}/$${PROJECT_NAME}.bin)
+
+add_custom_command(TARGET $${PROJECT_NAME}.elf POST_BUILD
+ COMMAND $${CMAKE_OBJCOPY} -Oihex $ $${HEX_FILE}
+ COMMAND $${CMAKE_OBJCOPY} -Obinary $ $${BIN_FILE}
+ COMMENT "Building $${HEX_FILE}
+Building $${BIN_FILE}")
diff --git a/Core/External/Proto/Buffer/Request/request_buffer.cpp b/Core/External/Proto/Buffer/Request/request_buffer.cpp
new file mode 100644
index 0000000..ee5ae67
--- /dev/null
+++ b/Core/External/Proto/Buffer/Request/request_buffer.cpp
@@ -0,0 +1,63 @@
+#include "request_buffer.h"
+
+template
+RequestBuffer::RequestBuffer() : index(0), size(0), bytes{0} {
+}
+
+template
+uint8_t * RequestBuffer::get_raw_buffer() {
+ return this->bytes[0];
+}
+
+template
+uint32_t RequestBuffer::get_size() const {
+ return index;
+}
+
+template
+uint32_t RequestBuffer::get_max_size() const {
+ return size;
+}
+
+template
+bool RequestBuffer::peek(uint8_t &byte) const {
+ bool result = this->index < this->size;
+ if (result) {
+ byte = *this->bytes[this->index];
+ }
+
+ return result;
+}
+
+template
+bool RequestBuffer::advance() {
+ const bool result = this->index < this->size;
+ if (result) {
+ ++this->index;
+ }
+ return result;
+}
+
+template
+bool RequestBuffer::advance(const uint32_t src) {
+ this->index += src;
+ const bool result = this->index < this->size;
+ if (result) {
+ this->index = this->size;
+ }
+
+ return result;
+}
+
+template
+bool RequestBuffer::pop(uint8_t &byte) {
+ bool result = this->index < this->size;
+ if (result) {
+ byte = *this->bytes[this->index];
+ ++this->index;
+ }
+
+ return result;
+}
+
+template class RequestBuffer;
\ No newline at end of file
diff --git a/Core/External/Proto/Buffer/Request/request_buffer.h b/Core/External/Proto/Buffer/Request/request_buffer.h
new file mode 100644
index 0000000..30aa4ea
--- /dev/null
+++ b/Core/External/Proto/Buffer/Request/request_buffer.h
@@ -0,0 +1,76 @@
+#ifndef LIGHT_DETECTOR_REQUEST_BUFFER_H
+#define LIGHT_DETECTOR_REQUEST_BUFFER_H
+
+#include "ReadBufferInterface.h"
+
+#include
+
+#define DEFAULT_REQUEST_BUFFER_SIZE 100
+
+/**
+ * Represents request buffer implementation for protocol buffers serialization.
+ *
+ * @tparam BUFFER_SIZE - given size of the internal request buffer.
+ */
+template
+class RequestBuffer : public EmbeddedProto::ReadBufferInterface {
+public:
+ RequestBuffer();
+
+ ~RequestBuffer() override = default;
+
+ /**
+ * Retrieves raw buffer used for direct data injection.
+ *
+ * @return raw buffer reference.
+ */
+ uint8_t *get_raw_buffer();
+
+ /**
+ * @see EmbeddedProto::ReadBufferInterface
+ */
+ [[nodiscard]] uint32_t get_size() const override;
+
+ /**
+ * @see EmbeddedProto::ReadBufferInterface
+ */
+ [[nodiscard]] uint32_t get_max_size() const override;
+
+ /**
+ * @see EmbeddedProto::ReadBufferInterface
+ */
+ bool peek(uint8_t &byte) const override;
+
+ /**
+ * @see EmbeddedProto::ReadBufferInterface
+ */
+ bool advance() override;
+
+ /**
+ * @see EmbeddedProto::ReadBufferInterface
+ */
+ bool advance(const uint32_t N) override;
+
+ /**
+ * @see EmbeddedProto::ReadBufferInterface
+ */
+ bool pop(uint8_t &byte) override;
+
+private:
+ /**
+ * Represents current buffer cursor position.
+ */
+ uint32_t index;
+
+ /**
+ * Represents max size of the buffer.
+ */
+ uint32_t size = BUFFER_SIZE;
+
+ /**
+ * Represents current buffer data.
+ */
+ uint8_t *bytes[BUFFER_SIZE];
+};
+
+#endif //LIGHT_DETECTOR_REQUEST_BUFFER_H
diff --git a/Core/External/Proto/Buffer/Response/response_buffer.cpp b/Core/External/Proto/Buffer/Response/response_buffer.cpp
new file mode 100644
index 0000000..d7c6145
--- /dev/null
+++ b/Core/External/Proto/Buffer/Response/response_buffer.cpp
@@ -0,0 +1,52 @@
+#include "response_buffer.h"
+
+template
+ResponseBuffer::ResponseBuffer() : bytes_used(0), bytes{0} {
+}
+
+template
+uint8_t *ResponseBuffer::get_raw_buffer() {
+ return bytes[0];
+}
+
+template
+void ResponseBuffer::clear() {
+ bytes_used = 0;
+}
+
+template
+uint32_t ResponseBuffer::get_size() const {
+ return bytes_used;
+}
+
+template
+uint32_t ResponseBuffer::get_max_size() const {
+ return BUFFER_SIZE;
+}
+
+template
+uint32_t ResponseBuffer::get_available_size() const {
+ return -bytes_used;
+}
+
+template
+bool ResponseBuffer::push(const uint8_t byte) {
+ bool result = BUFFER_SIZE > bytes_used;
+ if (result) {
+ (*bytes[bytes_used]) = byte;
+ ++bytes_used;
+ }
+ return result;
+}
+
+template
+bool ResponseBuffer::push(const uint8_t *src, const uint32_t length) {
+ bool result = BUFFER_SIZE >= (bytes_used + length);
+ if (result) {
+ memcpy(bytes + bytes_used, src, length);
+ bytes_used += length;
+ }
+ return result;
+}
+
+template class ResponseBuffer;
\ No newline at end of file
diff --git a/Core/External/Proto/Buffer/Response/response_buffer.h b/Core/External/Proto/Buffer/Response/response_buffer.h
new file mode 100644
index 0000000..4043202
--- /dev/null
+++ b/Core/External/Proto/Buffer/Response/response_buffer.h
@@ -0,0 +1,72 @@
+#ifndef LIGHT_DETECTOR_RESPONSE_BUFFER_H
+#define LIGHT_DETECTOR_RESPONSE_BUFFER_H
+
+#include "WriteBufferInterface.h"
+
+#include
+#include
+
+#define DEFAULT_RESPONSE_BUFFER_SIZE 100
+
+/**
+ * Represents response buffer implementation for protocol buffers serialization.
+ *
+ * @tparam BUFFER_SIZE - given size of the internal response buffer.
+ */
+template
+class ResponseBuffer : public EmbeddedProto::WriteBufferInterface {
+public:
+ ResponseBuffer();
+
+ ~ResponseBuffer() override = default;
+
+ /**
+ * Retrieves raw buffer used for direct data injection.
+ *
+ * @return raw buffer reference.
+ */
+ uint8_t *get_raw_buffer();
+
+ /**
+ * @see EmbeddedProto::WriteBufferInterface
+ */
+ void clear() override;
+
+ /**
+ * @see EmbeddedProto::WriteBufferInterface
+ */
+ [[nodiscard]] uint32_t get_size() const override;
+
+ /**
+ * @see EmbeddedProto::WriteBufferInterface
+ */
+ [[nodiscard]] uint32_t get_max_size() const override;
+
+ /**
+ * @see EmbeddedProto::WriteBufferInterface
+ */
+ [[nodiscard]] uint32_t get_available_size() const override;
+
+ /**
+ * @see EmbeddedProto::WriteBufferInterface
+ */
+ bool push(const uint8_t byte) override;
+
+ /**
+ * @see EmbeddedProto::WriteBufferInterface
+ */
+ bool push(const uint8_t *src, const uint32_t length) override;
+
+private:
+ /**
+ * Represents amount of currently used bytes by buffer.
+ */
+ uint32_t bytes_used;
+
+ /**
+ * Represents current buffer data.
+ */
+ uint8_t *bytes[BUFFER_SIZE];
+};
+
+#endif //LIGHT_DETECTOR_RESPONSE_BUFFER_H
diff --git a/Core/External/Proto/Codec/proto_codec.cpp b/Core/External/Proto/Codec/proto_codec.cpp
new file mode 100644
index 0000000..6580eeb
--- /dev/null
+++ b/Core/External/Proto/Codec/proto_codec.cpp
@@ -0,0 +1,39 @@
+#include "proto_codec.h"
+
+RequestBuffer ProtoCodec::request_buffer =
+ RequestBuffer();
+
+ResponseBuffer ProtoCodec::response_buffer =
+ ResponseBuffer();
+
+light_detector::RequestContainer ProtoCodec::request_container =
+ light_detector::RequestContainer();
+
+RequestBuffer& ProtoCodec::get_request_buffer() {
+ return request_buffer;
+}
+
+ResponseBuffer& ProtoCodec::get_response_buffer() {
+ return response_buffer;
+}
+
+int ProtoCodec::decode_request_container() {
+ request_container.clear();
+
+ if (request_container.deserialize(request_buffer) == ::EmbeddedProto::Error::NO_ERRORS) {
+ State::get_request_container_sequence().add(request_container);
+
+ return EXIT_SUCCESS;
+ }
+
+
+ return EXIT_FAILURE;
+}
+
+int ProtoCodec::encode_response_container(const light_detector::ResponseContainer& content) {
+ if (content.serialize(response_buffer) == ::EmbeddedProto::Error::NO_ERRORS) {
+ return EXIT_SUCCESS;
+ }
+
+ return EXIT_FAILURE;
+};
\ No newline at end of file
diff --git a/Core/External/Proto/Codec/proto_codec.h b/Core/External/Proto/Codec/proto_codec.h
new file mode 100644
index 0000000..6f168bb
--- /dev/null
+++ b/Core/External/Proto/Codec/proto_codec.h
@@ -0,0 +1,67 @@
+#ifndef LIGHT_DETECTOR_PROTO_CODEC_H
+#define LIGHT_DETECTOR_PROTO_CODEC_H
+
+#include "data.h"
+#include "info.h"
+#include "settings.h"
+#include "request.h"
+#include "response.h"
+
+#include "request_buffer.h"
+#include "response_buffer.h"
+
+#include "state.h"
+
+/**
+ * Represents codec used to decompose and composite request and response.
+ */
+class ProtoCodec {
+public:
+ /**
+ * Retrieves common request buffer instance.
+ *
+ * @return common instance of request buffer.
+ */
+ static RequestBuffer<100>& get_request_buffer();
+
+ /**
+ * Retrieves common response buffer instance.
+ *
+ * @return common instance of response buffer.
+ */
+ static ResponseBuffer<100>& get_response_buffer();
+
+ /**
+ * Attempts to decode request container, looking for raw data from request buffer. If the decoding is
+ * successful, then the result is pushed to the request container sequence.
+ *
+ * @return status of the decode operation.
+ */
+ static int decode_request_container();
+
+ /**
+ * Attempts to decode request container, looking for raw data from request buffer. If the decoding is
+ * successful, then the result is pushed to the request container sequence.
+ *
+ * @param content - given response container.
+ * @return status of the decode operation.
+ */
+ static int encode_response_container(const light_detector::ResponseContainer& content);
+private:
+ /**
+ * Represents common instance of request buffer.
+ */
+ static RequestBuffer<100> request_buffer;
+
+ /**
+ * Represents common instance of response buffer.
+ */
+ static ResponseBuffer<100> response_buffer;
+
+ /**
+ * Represents common request container instance.
+ */
+ static light_detector::RequestContainer request_container;
+};
+
+#endif //LIGHT_DETECTOR_PROTO_CODEC_H
diff --git a/Core/External/Proto/Generated/Content/data.h b/Core/External/Proto/Generated/Content/data.h
new file mode 100644
index 0000000..d3f0d08
--- /dev/null
+++ b/Core/External/Proto/Generated/Content/data.h
@@ -0,0 +1,521 @@
+/*
+ * This file is generated with Embedded Proto, PLEASE DO NOT EDIT!
+ * source: Content/data.proto
+ */
+
+// This file is generated. Please do not edit!
+#ifndef CONTENT_DATA_H
+#define CONTENT_DATA_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// Include external proto definitions
+
+namespace light_detector {
+
+enum class DataType : uint32_t
+{
+ Raw = 0,
+ Full = 1,
+ Infrared = 2,
+ Visible = 3
+};
+
+class DataBusRequestContent final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ DataBusRequestContent() = default;
+ DataBusRequestContent(const DataBusRequestContent& rhs )
+ {
+ set_dataType(rhs.get_dataType());
+ }
+
+ DataBusRequestContent(const DataBusRequestContent&& rhs ) noexcept
+ {
+ set_dataType(rhs.get_dataType());
+ }
+
+ ~DataBusRequestContent() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ DATATYPE = 1
+ };
+
+ DataBusRequestContent& operator=(const DataBusRequestContent& rhs)
+ {
+ set_dataType(rhs.get_dataType());
+ return *this;
+ }
+
+ DataBusRequestContent& operator=(const DataBusRequestContent&& rhs) noexcept
+ {
+ set_dataType(rhs.get_dataType());
+ return *this;
+ }
+
+ static constexpr char const* DATATYPE_NAME = "dataType";
+ inline void clear_dataType() { dataType_.clear(); }
+ inline void set_dataType(const DataType& value) { dataType_ = value; }
+ inline void set_dataType(const DataType&& value) { dataType_ = value; }
+ inline const DataType& get_dataType() const { return dataType_.get(); }
+ inline DataType dataType() const { return dataType_.get(); }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((static_cast(0) != dataType_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = dataType_.serialize_with_id(static_cast(FieldNumber::DATATYPE), buffer, false);
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::DATATYPE:
+ return_value = dataType_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_dataType();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::DATATYPE:
+ name = DATATYPE_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = dataType_.to_string(left_chars, indent_level + 2, DATATYPE_NAME, true);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+
+ EmbeddedProto::enumeration dataType_ = static_cast(0);
+
+};
+
+class DataBusResponseContent final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ DataBusResponseContent() = default;
+ DataBusResponseContent(const DataBusResponseContent& rhs )
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_dataType(rhs.get_dataType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ }
+
+ DataBusResponseContent(const DataBusResponseContent&& rhs ) noexcept
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_dataType(rhs.get_dataType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ }
+
+ ~DataBusResponseContent() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ DEVICEID = 1,
+ DATATYPE = 2,
+ VALUE = 3,
+ NONCE = 4
+ };
+
+ DataBusResponseContent& operator=(const DataBusResponseContent& rhs)
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_dataType(rhs.get_dataType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ return *this;
+ }
+
+ DataBusResponseContent& operator=(const DataBusResponseContent&& rhs) noexcept
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_dataType(rhs.get_dataType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ return *this;
+ }
+
+ static constexpr char const* DEVICEID_NAME = "deviceId";
+ inline void clear_deviceId() { deviceId_.clear(); }
+ inline void set_deviceId(const uint32_t& value) { deviceId_ = value; }
+ inline void set_deviceId(const uint32_t&& value) { deviceId_ = value; }
+ inline uint32_t& mutable_deviceId() { return deviceId_.get(); }
+ inline const uint32_t& get_deviceId() const { return deviceId_.get(); }
+ inline uint32_t deviceId() const { return deviceId_.get(); }
+
+ static constexpr char const* DATATYPE_NAME = "dataType";
+ inline void clear_dataType() { dataType_.clear(); }
+ inline void set_dataType(const DataType& value) { dataType_ = value; }
+ inline void set_dataType(const DataType&& value) { dataType_ = value; }
+ inline const DataType& get_dataType() const { return dataType_.get(); }
+ inline DataType dataType() const { return dataType_.get(); }
+
+ static constexpr char const* VALUE_NAME = "value";
+ inline void clear_value() { value_.clear(); }
+ inline void set_value(const uint32_t& value) { value_ = value; }
+ inline void set_value(const uint32_t&& value) { value_ = value; }
+ inline uint32_t& mutable_value() { return value_.get(); }
+ inline const uint32_t& get_value() const { return value_.get(); }
+ inline uint32_t value() const { return value_.get(); }
+
+ static constexpr char const* NONCE_NAME = "nonce";
+ inline void clear_nonce() { nonce_.clear(); }
+ inline void set_nonce(const uint32_t& value) { nonce_ = value; }
+ inline void set_nonce(const uint32_t&& value) { nonce_ = value; }
+ inline uint32_t& mutable_nonce() { return nonce_.get(); }
+ inline const uint32_t& get_nonce() const { return nonce_.get(); }
+ inline uint32_t nonce() const { return nonce_.get(); }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((0U != deviceId_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = deviceId_.serialize_with_id(static_cast(FieldNumber::DEVICEID), buffer, false);
+ }
+
+ if((static_cast(0) != dataType_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = dataType_.serialize_with_id(static_cast(FieldNumber::DATATYPE), buffer, false);
+ }
+
+ if((0U != value_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = value_.serialize_with_id(static_cast(FieldNumber::VALUE), buffer, false);
+ }
+
+ if((0U != nonce_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = nonce_.serialize_with_id(static_cast(FieldNumber::NONCE), buffer, false);
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::DEVICEID:
+ return_value = deviceId_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::DATATYPE:
+ return_value = dataType_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::VALUE:
+ return_value = value_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NONCE:
+ return_value = nonce_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_deviceId();
+ clear_dataType();
+ clear_value();
+ clear_nonce();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::DEVICEID:
+ name = DEVICEID_NAME;
+ break;
+ case FieldNumber::DATATYPE:
+ name = DATATYPE_NAME;
+ break;
+ case FieldNumber::VALUE:
+ name = VALUE_NAME;
+ break;
+ case FieldNumber::NONCE:
+ name = NONCE_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = deviceId_.to_string(left_chars, indent_level + 2, DEVICEID_NAME, true);
+ left_chars = dataType_.to_string(left_chars, indent_level + 2, DATATYPE_NAME, false);
+ left_chars = value_.to_string(left_chars, indent_level + 2, VALUE_NAME, false);
+ left_chars = nonce_.to_string(left_chars, indent_level + 2, NONCE_NAME, false);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+
+ EmbeddedProto::uint32 deviceId_ = 0U;
+ EmbeddedProto::enumeration dataType_ = static_cast(0);
+ EmbeddedProto::uint32 value_ = 0U;
+ EmbeddedProto::uint32 nonce_ = 0U;
+
+};
+
+} // End of namespace light_detector
+#endif // CONTENT_DATA_H
\ No newline at end of file
diff --git a/Core/External/Proto/Generated/Content/info.h b/Core/External/Proto/Generated/Content/info.h
new file mode 100644
index 0000000..3e6d1e4
--- /dev/null
+++ b/Core/External/Proto/Generated/Content/info.h
@@ -0,0 +1,519 @@
+/*
+ * This file is generated with Embedded Proto, PLEASE DO NOT EDIT!
+ * source: Content/info.proto
+ */
+
+// This file is generated. Please do not edit!
+#ifndef CONTENT_INFO_H
+#define CONTENT_INFO_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// Include external proto definitions
+
+namespace light_detector {
+
+enum class InfoType : uint32_t
+{
+ Gain = 0,
+ IntegralTime = 1
+};
+
+class InfoBusRequestContent final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ InfoBusRequestContent() = default;
+ InfoBusRequestContent(const InfoBusRequestContent& rhs )
+ {
+ set_infoType(rhs.get_infoType());
+ }
+
+ InfoBusRequestContent(const InfoBusRequestContent&& rhs ) noexcept
+ {
+ set_infoType(rhs.get_infoType());
+ }
+
+ ~InfoBusRequestContent() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ INFOTYPE = 1
+ };
+
+ InfoBusRequestContent& operator=(const InfoBusRequestContent& rhs)
+ {
+ set_infoType(rhs.get_infoType());
+ return *this;
+ }
+
+ InfoBusRequestContent& operator=(const InfoBusRequestContent&& rhs) noexcept
+ {
+ set_infoType(rhs.get_infoType());
+ return *this;
+ }
+
+ static constexpr char const* INFOTYPE_NAME = "infoType";
+ inline void clear_infoType() { infoType_.clear(); }
+ inline void set_infoType(const InfoType& value) { infoType_ = value; }
+ inline void set_infoType(const InfoType&& value) { infoType_ = value; }
+ inline const InfoType& get_infoType() const { return infoType_.get(); }
+ inline InfoType infoType() const { return infoType_.get(); }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((static_cast(0) != infoType_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = infoType_.serialize_with_id(static_cast(FieldNumber::INFOTYPE), buffer, false);
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::INFOTYPE:
+ return_value = infoType_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_infoType();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::INFOTYPE:
+ name = INFOTYPE_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = infoType_.to_string(left_chars, indent_level + 2, INFOTYPE_NAME, true);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+
+ EmbeddedProto::enumeration infoType_ = static_cast(0);
+
+};
+
+class InfoBusResponseContent final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ InfoBusResponseContent() = default;
+ InfoBusResponseContent(const InfoBusResponseContent& rhs )
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_infoType(rhs.get_infoType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ }
+
+ InfoBusResponseContent(const InfoBusResponseContent&& rhs ) noexcept
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_infoType(rhs.get_infoType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ }
+
+ ~InfoBusResponseContent() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ DEVICEID = 1,
+ INFOTYPE = 2,
+ VALUE = 3,
+ NONCE = 4
+ };
+
+ InfoBusResponseContent& operator=(const InfoBusResponseContent& rhs)
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_infoType(rhs.get_infoType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ return *this;
+ }
+
+ InfoBusResponseContent& operator=(const InfoBusResponseContent&& rhs) noexcept
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_infoType(rhs.get_infoType());
+ set_value(rhs.get_value());
+ set_nonce(rhs.get_nonce());
+ return *this;
+ }
+
+ static constexpr char const* DEVICEID_NAME = "deviceId";
+ inline void clear_deviceId() { deviceId_.clear(); }
+ inline void set_deviceId(const uint32_t& value) { deviceId_ = value; }
+ inline void set_deviceId(const uint32_t&& value) { deviceId_ = value; }
+ inline uint32_t& mutable_deviceId() { return deviceId_.get(); }
+ inline const uint32_t& get_deviceId() const { return deviceId_.get(); }
+ inline uint32_t deviceId() const { return deviceId_.get(); }
+
+ static constexpr char const* INFOTYPE_NAME = "infoType";
+ inline void clear_infoType() { infoType_.clear(); }
+ inline void set_infoType(const InfoType& value) { infoType_ = value; }
+ inline void set_infoType(const InfoType&& value) { infoType_ = value; }
+ inline const InfoType& get_infoType() const { return infoType_.get(); }
+ inline InfoType infoType() const { return infoType_.get(); }
+
+ static constexpr char const* VALUE_NAME = "value";
+ inline void clear_value() { value_.clear(); }
+ inline void set_value(const uint32_t& value) { value_ = value; }
+ inline void set_value(const uint32_t&& value) { value_ = value; }
+ inline uint32_t& mutable_value() { return value_.get(); }
+ inline const uint32_t& get_value() const { return value_.get(); }
+ inline uint32_t value() const { return value_.get(); }
+
+ static constexpr char const* NONCE_NAME = "nonce";
+ inline void clear_nonce() { nonce_.clear(); }
+ inline void set_nonce(const uint32_t& value) { nonce_ = value; }
+ inline void set_nonce(const uint32_t&& value) { nonce_ = value; }
+ inline uint32_t& mutable_nonce() { return nonce_.get(); }
+ inline const uint32_t& get_nonce() const { return nonce_.get(); }
+ inline uint32_t nonce() const { return nonce_.get(); }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((0U != deviceId_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = deviceId_.serialize_with_id(static_cast(FieldNumber::DEVICEID), buffer, false);
+ }
+
+ if((static_cast(0) != infoType_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = infoType_.serialize_with_id(static_cast(FieldNumber::INFOTYPE), buffer, false);
+ }
+
+ if((0U != value_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = value_.serialize_with_id(static_cast(FieldNumber::VALUE), buffer, false);
+ }
+
+ if((0U != nonce_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = nonce_.serialize_with_id(static_cast(FieldNumber::NONCE), buffer, false);
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::DEVICEID:
+ return_value = deviceId_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::INFOTYPE:
+ return_value = infoType_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::VALUE:
+ return_value = value_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NONCE:
+ return_value = nonce_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_deviceId();
+ clear_infoType();
+ clear_value();
+ clear_nonce();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::DEVICEID:
+ name = DEVICEID_NAME;
+ break;
+ case FieldNumber::INFOTYPE:
+ name = INFOTYPE_NAME;
+ break;
+ case FieldNumber::VALUE:
+ name = VALUE_NAME;
+ break;
+ case FieldNumber::NONCE:
+ name = NONCE_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = deviceId_.to_string(left_chars, indent_level + 2, DEVICEID_NAME, true);
+ left_chars = infoType_.to_string(left_chars, indent_level + 2, INFOTYPE_NAME, false);
+ left_chars = value_.to_string(left_chars, indent_level + 2, VALUE_NAME, false);
+ left_chars = nonce_.to_string(left_chars, indent_level + 2, NONCE_NAME, false);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+
+ EmbeddedProto::uint32 deviceId_ = 0U;
+ EmbeddedProto::enumeration infoType_ = static_cast(0);
+ EmbeddedProto::uint32 value_ = 0U;
+ EmbeddedProto::uint32 nonce_ = 0U;
+
+};
+
+} // End of namespace light_detector
+#endif // CONTENT_INFO_H
\ No newline at end of file
diff --git a/Core/External/Proto/Generated/Content/settings.h b/Core/External/Proto/Generated/Content/settings.h
new file mode 100644
index 0000000..a356898
--- /dev/null
+++ b/Core/External/Proto/Generated/Content/settings.h
@@ -0,0 +1,637 @@
+/*
+ * This file is generated with Embedded Proto, PLEASE DO NOT EDIT!
+ * source: Content/settings.proto
+ */
+
+// This file is generated. Please do not edit!
+#ifndef CONTENT_SETTINGS_H
+#define CONTENT_SETTINGS_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// Include external proto definitions
+
+namespace light_detector {
+
+enum class SettingsType : uint32_t
+{
+ Enable = 0,
+ Disable = 1,
+ Reset = 2,
+ SetGain = 3,
+ SetIntegralTime = 4
+};
+
+class SettingsBusRequestContent final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ SettingsBusRequestContent() = default;
+ SettingsBusRequestContent(const SettingsBusRequestContent& rhs )
+ {
+ set_settingsType(rhs.get_settingsType());
+ if(rhs.has_value())
+ {
+ set_value(rhs.get_value());
+ }
+ else
+ {
+ clear_value();
+ }
+
+ }
+
+ SettingsBusRequestContent(const SettingsBusRequestContent&& rhs ) noexcept
+ {
+ set_settingsType(rhs.get_settingsType());
+ if(rhs.has_value())
+ {
+ set_value(rhs.get_value());
+ }
+ else
+ {
+ clear_value();
+ }
+
+ }
+
+ ~SettingsBusRequestContent() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ SETTINGSTYPE = 1,
+ VALUE = 2
+ };
+
+ SettingsBusRequestContent& operator=(const SettingsBusRequestContent& rhs)
+ {
+ set_settingsType(rhs.get_settingsType());
+ if(rhs.has_value())
+ {
+ set_value(rhs.get_value());
+ }
+ else
+ {
+ clear_value();
+ }
+
+ return *this;
+ }
+
+ SettingsBusRequestContent& operator=(const SettingsBusRequestContent&& rhs) noexcept
+ {
+ set_settingsType(rhs.get_settingsType());
+ if(rhs.has_value())
+ {
+ set_value(rhs.get_value());
+ }
+ else
+ {
+ clear_value();
+ }
+
+ return *this;
+ }
+
+ static constexpr char const* SETTINGSTYPE_NAME = "settingsType";
+ inline void clear_settingsType() { settingsType_.clear(); }
+ inline void set_settingsType(const SettingsType& value) { settingsType_ = value; }
+ inline void set_settingsType(const SettingsType&& value) { settingsType_ = value; }
+ inline const SettingsType& get_settingsType() const { return settingsType_.get(); }
+ inline SettingsType settingsType() const { return settingsType_.get(); }
+
+ static constexpr char const* VALUE_NAME = "value";
+ inline bool has_value() const
+ {
+ return 0 != (presence::mask(presence::fields::VALUE) & presence_[presence::index(presence::fields::VALUE)]);
+ }
+ inline void clear_value()
+ {
+ presence_[presence::index(presence::fields::VALUE)] &= ~(presence::mask(presence::fields::VALUE));
+ value_.clear();
+ }
+ inline void set_value(const int32_t& value)
+ {
+ presence_[presence::index(presence::fields::VALUE)] |= presence::mask(presence::fields::VALUE);
+ value_ = value;
+ }
+ inline void set_value(const int32_t&& value)
+ {
+ presence_[presence::index(presence::fields::VALUE)] |= presence::mask(presence::fields::VALUE);
+ value_ = value;
+ }
+ inline int32_t& mutable_value()
+ {
+ presence_[presence::index(presence::fields::VALUE)] |= presence::mask(presence::fields::VALUE);
+ return value_.get();
+ }
+ inline const int32_t& get_value() const { return value_.get(); }
+ inline int32_t value() const { return value_.get(); }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((static_cast(0) != settingsType_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = settingsType_.serialize_with_id(static_cast(FieldNumber::SETTINGSTYPE), buffer, false);
+ }
+
+ if(has_value() && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = value_.serialize_with_id(static_cast(FieldNumber::VALUE), buffer, true);
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::SETTINGSTYPE:
+ return_value = settingsType_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::VALUE:
+ presence_[presence::index(presence::fields::VALUE)] |= presence::mask(presence::fields::VALUE);
+ return_value = value_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_settingsType();
+ clear_value();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::SETTINGSTYPE:
+ name = SETTINGSTYPE_NAME;
+ break;
+ case FieldNumber::VALUE:
+ name = VALUE_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = settingsType_.to_string(left_chars, indent_level + 2, SETTINGSTYPE_NAME, true);
+ left_chars = value_.to_string(left_chars, indent_level + 2, VALUE_NAME, false);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+ // Define constants for tracking the presence of fields.
+ // Use a struct to scope the variables from user fields as namespaces are not allowed within classes.
+ struct presence
+ {
+ // An enumeration with all the fields for which presence has to be tracked.
+ enum class fields : uint32_t
+ {
+ VALUE
+ };
+
+ // The number of fields for which presence has to be tracked.
+ static constexpr uint32_t N_FIELDS = 1;
+
+ // Which type are we using to track presence.
+ using TYPE = uint32_t;
+
+ // How many bits are there in the presence type.
+ static constexpr uint32_t N_BITS = std::numeric_limits::digits;
+
+ // How many variables of TYPE do we need to bit mask all presence fields.
+ static constexpr uint32_t SIZE = (N_FIELDS / N_BITS) + ((N_FIELDS % N_BITS) > 0 ? 1 : 0);
+
+ // Obtain the index of a given field in the presence array.
+ static constexpr uint32_t index(const fields& field) { return static_cast(field) / N_BITS; }
+
+ // Obtain the bit mask for the given field assuming we are at the correct index in the presence array.
+ static constexpr TYPE mask(const fields& field)
+ {
+ return static_cast(0x01) << (static_cast(field) % N_BITS);
+ }
+ };
+
+ // Create an array in which the presence flags are stored.
+ typename presence::TYPE presence_[presence::SIZE] = {0};
+
+ EmbeddedProto::enumeration settingsType_ = static_cast(0);
+ EmbeddedProto::int32 value_ = 0;
+
+};
+
+class SettingsBusResponseContent final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ SettingsBusResponseContent() = default;
+ SettingsBusResponseContent(const SettingsBusResponseContent& rhs )
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_settingsType(rhs.get_settingsType());
+ set_result(rhs.get_result());
+ set_nonce(rhs.get_nonce());
+ }
+
+ SettingsBusResponseContent(const SettingsBusResponseContent&& rhs ) noexcept
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_settingsType(rhs.get_settingsType());
+ set_result(rhs.get_result());
+ set_nonce(rhs.get_nonce());
+ }
+
+ ~SettingsBusResponseContent() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ DEVICEID = 1,
+ SETTINGSTYPE = 2,
+ RESULT = 3,
+ NONCE = 4
+ };
+
+ SettingsBusResponseContent& operator=(const SettingsBusResponseContent& rhs)
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_settingsType(rhs.get_settingsType());
+ set_result(rhs.get_result());
+ set_nonce(rhs.get_nonce());
+ return *this;
+ }
+
+ SettingsBusResponseContent& operator=(const SettingsBusResponseContent&& rhs) noexcept
+ {
+ set_deviceId(rhs.get_deviceId());
+ set_settingsType(rhs.get_settingsType());
+ set_result(rhs.get_result());
+ set_nonce(rhs.get_nonce());
+ return *this;
+ }
+
+ static constexpr char const* DEVICEID_NAME = "deviceId";
+ inline void clear_deviceId() { deviceId_.clear(); }
+ inline void set_deviceId(const uint32_t& value) { deviceId_ = value; }
+ inline void set_deviceId(const uint32_t&& value) { deviceId_ = value; }
+ inline uint32_t& mutable_deviceId() { return deviceId_.get(); }
+ inline const uint32_t& get_deviceId() const { return deviceId_.get(); }
+ inline uint32_t deviceId() const { return deviceId_.get(); }
+
+ static constexpr char const* SETTINGSTYPE_NAME = "settingsType";
+ inline void clear_settingsType() { settingsType_.clear(); }
+ inline void set_settingsType(const SettingsType& value) { settingsType_ = value; }
+ inline void set_settingsType(const SettingsType&& value) { settingsType_ = value; }
+ inline const SettingsType& get_settingsType() const { return settingsType_.get(); }
+ inline SettingsType settingsType() const { return settingsType_.get(); }
+
+ static constexpr char const* RESULT_NAME = "result";
+ inline void clear_result() { result_.clear(); }
+ inline void set_result(const bool& value) { result_ = value; }
+ inline void set_result(const bool&& value) { result_ = value; }
+ inline bool& mutable_result() { return result_.get(); }
+ inline const bool& get_result() const { return result_.get(); }
+ inline bool result() const { return result_.get(); }
+
+ static constexpr char const* NONCE_NAME = "nonce";
+ inline void clear_nonce() { nonce_.clear(); }
+ inline void set_nonce(const uint32_t& value) { nonce_ = value; }
+ inline void set_nonce(const uint32_t&& value) { nonce_ = value; }
+ inline uint32_t& mutable_nonce() { return nonce_.get(); }
+ inline const uint32_t& get_nonce() const { return nonce_.get(); }
+ inline uint32_t nonce() const { return nonce_.get(); }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((0U != deviceId_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = deviceId_.serialize_with_id(static_cast(FieldNumber::DEVICEID), buffer, false);
+ }
+
+ if((static_cast(0) != settingsType_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = settingsType_.serialize_with_id(static_cast(FieldNumber::SETTINGSTYPE), buffer, false);
+ }
+
+ if((false != result_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = result_.serialize_with_id(static_cast(FieldNumber::RESULT), buffer, false);
+ }
+
+ if((0U != nonce_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = nonce_.serialize_with_id(static_cast(FieldNumber::NONCE), buffer, false);
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::DEVICEID:
+ return_value = deviceId_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::SETTINGSTYPE:
+ return_value = settingsType_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::RESULT:
+ return_value = result_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NONCE:
+ return_value = nonce_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_deviceId();
+ clear_settingsType();
+ clear_result();
+ clear_nonce();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::DEVICEID:
+ name = DEVICEID_NAME;
+ break;
+ case FieldNumber::SETTINGSTYPE:
+ name = SETTINGSTYPE_NAME;
+ break;
+ case FieldNumber::RESULT:
+ name = RESULT_NAME;
+ break;
+ case FieldNumber::NONCE:
+ name = NONCE_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = deviceId_.to_string(left_chars, indent_level + 2, DEVICEID_NAME, true);
+ left_chars = settingsType_.to_string(left_chars, indent_level + 2, SETTINGSTYPE_NAME, false);
+ left_chars = result_.to_string(left_chars, indent_level + 2, RESULT_NAME, false);
+ left_chars = nonce_.to_string(left_chars, indent_level + 2, NONCE_NAME, false);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+
+ EmbeddedProto::uint32 deviceId_ = 0U;
+ EmbeddedProto::enumeration settingsType_ = static_cast(0);
+ EmbeddedProto::boolean result_ = false;
+ EmbeddedProto::uint32 nonce_ = 0U;
+
+};
+
+} // End of namespace light_detector
+#endif // CONTENT_SETTINGS_H
\ No newline at end of file
diff --git a/Core/External/Proto/Generated/request.h b/Core/External/Proto/Generated/request.h
new file mode 100644
index 0000000..197897b
--- /dev/null
+++ b/Core/External/Proto/Generated/request.h
@@ -0,0 +1,614 @@
+/*
+ * This file is generated with Embedded Proto, PLEASE DO NOT EDIT!
+ * source: request.proto
+ */
+
+// This file is generated. Please do not edit!
+#ifndef REQUEST_H
+#define REQUEST_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// Include external proto definitions
+#include "Content/data.h"
+#include "Content/info.h"
+#include "Content/settings.h"
+
+namespace light_detector {
+
+class RequestContainer final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ RequestContainer() = default;
+ RequestContainer(const RequestContainer& rhs )
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ }
+
+ RequestContainer(const RequestContainer&& rhs ) noexcept
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ }
+
+ ~RequestContainer() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ MSGID = 1,
+ DATABUS = 2,
+ INFOBUS = 3,
+ SETTINGSBUS = 4
+ };
+
+ RequestContainer& operator=(const RequestContainer& rhs)
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ return *this;
+ }
+
+ RequestContainer& operator=(const RequestContainer&& rhs) noexcept
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ return *this;
+ }
+
+ static constexpr char const* MSGID_NAME = "msgId";
+ inline void clear_msgId() { msgId_.clear(); }
+ inline void set_msgId(const uint32_t& value) { msgId_ = value; }
+ inline void set_msgId(const uint32_t&& value) { msgId_ = value; }
+ inline uint32_t& mutable_msgId() { return msgId_.get(); }
+ inline const uint32_t& get_msgId() const { return msgId_.get(); }
+ inline uint32_t msgId() const { return msgId_.get(); }
+
+ FieldNumber get_which_content() const { return which_content_; }
+
+ static constexpr char const* DATABUS_NAME = "dataBus";
+ inline bool has_dataBus() const
+ {
+ return FieldNumber::DATABUS == which_content_;
+ }
+ inline void clear_dataBus()
+ {
+ if(FieldNumber::DATABUS == which_content_)
+ {
+ which_content_ = FieldNumber::NOT_SET;
+ content_.dataBus_.~DataBusRequestContent();
+ }
+ }
+ inline void set_dataBus(const DataBusRequestContent& value)
+ {
+ if(FieldNumber::DATABUS != which_content_)
+ {
+ init_content(FieldNumber::DATABUS);
+ }
+ content_.dataBus_ = value;
+ }
+ inline void set_dataBus(const DataBusRequestContent&& value)
+ {
+ if(FieldNumber::DATABUS != which_content_)
+ {
+ init_content(FieldNumber::DATABUS);
+ }
+ content_.dataBus_ = value;
+ }
+ inline DataBusRequestContent& mutable_dataBus()
+ {
+ if(FieldNumber::DATABUS != which_content_)
+ {
+ init_content(FieldNumber::DATABUS);
+ }
+ return content_.dataBus_;
+ }
+ inline const DataBusRequestContent& get_dataBus() const { return content_.dataBus_; }
+ inline const DataBusRequestContent& dataBus() const { return content_.dataBus_; }
+
+ static constexpr char const* INFOBUS_NAME = "infoBus";
+ inline bool has_infoBus() const
+ {
+ return FieldNumber::INFOBUS == which_content_;
+ }
+ inline void clear_infoBus()
+ {
+ if(FieldNumber::INFOBUS == which_content_)
+ {
+ which_content_ = FieldNumber::NOT_SET;
+ content_.infoBus_.~InfoBusRequestContent();
+ }
+ }
+ inline void set_infoBus(const InfoBusRequestContent& value)
+ {
+ if(FieldNumber::INFOBUS != which_content_)
+ {
+ init_content(FieldNumber::INFOBUS);
+ }
+ content_.infoBus_ = value;
+ }
+ inline void set_infoBus(const InfoBusRequestContent&& value)
+ {
+ if(FieldNumber::INFOBUS != which_content_)
+ {
+ init_content(FieldNumber::INFOBUS);
+ }
+ content_.infoBus_ = value;
+ }
+ inline InfoBusRequestContent& mutable_infoBus()
+ {
+ if(FieldNumber::INFOBUS != which_content_)
+ {
+ init_content(FieldNumber::INFOBUS);
+ }
+ return content_.infoBus_;
+ }
+ inline const InfoBusRequestContent& get_infoBus() const { return content_.infoBus_; }
+ inline const InfoBusRequestContent& infoBus() const { return content_.infoBus_; }
+
+ static constexpr char const* SETTINGSBUS_NAME = "settingsBus";
+ inline bool has_settingsBus() const
+ {
+ return FieldNumber::SETTINGSBUS == which_content_;
+ }
+ inline void clear_settingsBus()
+ {
+ if(FieldNumber::SETTINGSBUS == which_content_)
+ {
+ which_content_ = FieldNumber::NOT_SET;
+ content_.settingsBus_.~SettingsBusRequestContent();
+ }
+ }
+ inline void set_settingsBus(const SettingsBusRequestContent& value)
+ {
+ if(FieldNumber::SETTINGSBUS != which_content_)
+ {
+ init_content(FieldNumber::SETTINGSBUS);
+ }
+ content_.settingsBus_ = value;
+ }
+ inline void set_settingsBus(const SettingsBusRequestContent&& value)
+ {
+ if(FieldNumber::SETTINGSBUS != which_content_)
+ {
+ init_content(FieldNumber::SETTINGSBUS);
+ }
+ content_.settingsBus_ = value;
+ }
+ inline SettingsBusRequestContent& mutable_settingsBus()
+ {
+ if(FieldNumber::SETTINGSBUS != which_content_)
+ {
+ init_content(FieldNumber::SETTINGSBUS);
+ }
+ return content_.settingsBus_;
+ }
+ inline const SettingsBusRequestContent& get_settingsBus() const { return content_.settingsBus_; }
+ inline const SettingsBusRequestContent& settingsBus() const { return content_.settingsBus_; }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((0U != msgId_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = msgId_.serialize_with_id(static_cast(FieldNumber::MSGID), buffer, false);
+ }
+
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ if(has_dataBus() && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = content_.dataBus_.serialize_with_id(static_cast(FieldNumber::DATABUS), buffer, true);
+ }
+ break;
+
+ case FieldNumber::INFOBUS:
+ if(has_infoBus() && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = content_.infoBus_.serialize_with_id(static_cast(FieldNumber::INFOBUS), buffer, true);
+ }
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ if(has_settingsBus() && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = content_.settingsBus_.serialize_with_id(static_cast(FieldNumber::SETTINGSBUS), buffer, true);
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::MSGID:
+ return_value = msgId_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::DATABUS:
+ case FieldNumber::INFOBUS:
+ case FieldNumber::SETTINGSBUS:
+ return_value = deserialize_content(id_tag, buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_msgId();
+ clear_content();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::MSGID:
+ name = MSGID_NAME;
+ break;
+ case FieldNumber::DATABUS:
+ name = DATABUS_NAME;
+ break;
+ case FieldNumber::INFOBUS:
+ name = INFOBUS_NAME;
+ break;
+ case FieldNumber::SETTINGSBUS:
+ name = SETTINGSBUS_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = msgId_.to_string(left_chars, indent_level + 2, MSGID_NAME, true);
+ left_chars = to_string_content(left_chars, indent_level + 2, false);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+
+ EmbeddedProto::uint32 msgId_ = 0U;
+
+ FieldNumber which_content_ = FieldNumber::NOT_SET;
+ union content
+ {
+ content() {}
+ ~content() {}
+ DataBusRequestContent dataBus_;
+ InfoBusRequestContent infoBus_;
+ SettingsBusRequestContent settingsBus_;
+ };
+ content content_;
+
+ void init_content(const FieldNumber field_id)
+ {
+ if(FieldNumber::NOT_SET != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ // C++11 unions only support nontrivial members when you explicitly call the placement new statement.
+ switch(field_id)
+ {
+ case FieldNumber::DATABUS:
+ new(&content_.dataBus_) DataBusRequestContent;
+ break;
+
+ case FieldNumber::INFOBUS:
+ new(&content_.infoBus_) InfoBusRequestContent;
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ new(&content_.settingsBus_) SettingsBusRequestContent;
+ break;
+
+ default:
+ break;
+ }
+
+ which_content_ = field_id;
+ }
+
+ void clear_content()
+ {
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ ::EmbeddedProto::destroy_at(&content_.dataBus_);
+ break;
+ case FieldNumber::INFOBUS:
+ ::EmbeddedProto::destroy_at(&content_.infoBus_);
+ break;
+ case FieldNumber::SETTINGSBUS:
+ ::EmbeddedProto::destroy_at(&content_.settingsBus_);
+ break;
+ default:
+ break;
+ }
+ which_content_ = FieldNumber::NOT_SET;
+ }
+
+ ::EmbeddedProto::Error deserialize_content(const FieldNumber field_id,
+ ::EmbeddedProto::ReadBufferInterface& buffer,
+ const ::EmbeddedProto::WireFormatter::WireType wire_type)
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if(field_id != which_content_)
+ {
+ init_content(field_id);
+ }
+
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ return_value = content_.dataBus_.deserialize_check_type(buffer, wire_type);
+ break;
+ case FieldNumber::INFOBUS:
+ return_value = content_.infoBus_.deserialize_check_type(buffer, wire_type);
+ break;
+ case FieldNumber::SETTINGSBUS:
+ return_value = content_.settingsBus_.deserialize_check_type(buffer, wire_type);
+ break;
+ default:
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS != return_value)
+ {
+ clear_content();
+ }
+ return return_value;
+ }
+
+#ifdef MSG_TO_STRING
+ ::EmbeddedProto::string_view to_string_content(::EmbeddedProto::string_view& str, const uint32_t indent_level, const bool first_field) const
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ left_chars = content_.dataBus_.to_string(left_chars, indent_level, DATABUS_NAME, first_field);
+ break;
+ case FieldNumber::INFOBUS:
+ left_chars = content_.infoBus_.to_string(left_chars, indent_level, INFOBUS_NAME, first_field);
+ break;
+ case FieldNumber::SETTINGSBUS:
+ left_chars = content_.settingsBus_.to_string(left_chars, indent_level, SETTINGSBUS_NAME, first_field);
+ break;
+ default:
+ break;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+};
+
+} // End of namespace light_detector
+#endif // REQUEST_H
\ No newline at end of file
diff --git a/Core/External/Proto/Generated/response.h b/Core/External/Proto/Generated/response.h
new file mode 100644
index 0000000..2d62751
--- /dev/null
+++ b/Core/External/Proto/Generated/response.h
@@ -0,0 +1,614 @@
+/*
+ * This file is generated with Embedded Proto, PLEASE DO NOT EDIT!
+ * source: response.proto
+ */
+
+// This file is generated. Please do not edit!
+#ifndef RESPONSE_H
+#define RESPONSE_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// Include external proto definitions
+#include "Content/data.h"
+#include "Content/info.h"
+#include "Content/settings.h"
+
+namespace light_detector {
+
+class ResponseContainer final: public ::EmbeddedProto::MessageInterface
+{
+ public:
+ ResponseContainer() = default;
+ ResponseContainer(const ResponseContainer& rhs )
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ }
+
+ ResponseContainer(const ResponseContainer&& rhs ) noexcept
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ }
+
+ ~ResponseContainer() override = default;
+
+ enum class FieldNumber : uint32_t
+ {
+ NOT_SET = 0,
+ MSGID = 1,
+ DATABUS = 2,
+ INFOBUS = 3,
+ SETTINGSBUS = 4
+ };
+
+ ResponseContainer& operator=(const ResponseContainer& rhs)
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ return *this;
+ }
+
+ ResponseContainer& operator=(const ResponseContainer&& rhs) noexcept
+ {
+ set_msgId(rhs.get_msgId());
+ if(rhs.get_which_content() != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ switch(rhs.get_which_content())
+ {
+ case FieldNumber::DATABUS:
+ set_dataBus(rhs.get_dataBus());
+ break;
+
+ case FieldNumber::INFOBUS:
+ set_infoBus(rhs.get_infoBus());
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ set_settingsBus(rhs.get_settingsBus());
+ break;
+
+ default:
+ break;
+ }
+
+ return *this;
+ }
+
+ static constexpr char const* MSGID_NAME = "msgId";
+ inline void clear_msgId() { msgId_.clear(); }
+ inline void set_msgId(const uint32_t& value) { msgId_ = value; }
+ inline void set_msgId(const uint32_t&& value) { msgId_ = value; }
+ inline uint32_t& mutable_msgId() { return msgId_.get(); }
+ inline const uint32_t& get_msgId() const { return msgId_.get(); }
+ inline uint32_t msgId() const { return msgId_.get(); }
+
+ FieldNumber get_which_content() const { return which_content_; }
+
+ static constexpr char const* DATABUS_NAME = "dataBus";
+ inline bool has_dataBus() const
+ {
+ return FieldNumber::DATABUS == which_content_;
+ }
+ inline void clear_dataBus()
+ {
+ if(FieldNumber::DATABUS == which_content_)
+ {
+ which_content_ = FieldNumber::NOT_SET;
+ content_.dataBus_.~DataBusResponseContent();
+ }
+ }
+ inline void set_dataBus(const DataBusResponseContent& value)
+ {
+ if(FieldNumber::DATABUS != which_content_)
+ {
+ init_content(FieldNumber::DATABUS);
+ }
+ content_.dataBus_ = value;
+ }
+ inline void set_dataBus(const DataBusResponseContent&& value)
+ {
+ if(FieldNumber::DATABUS != which_content_)
+ {
+ init_content(FieldNumber::DATABUS);
+ }
+ content_.dataBus_ = value;
+ }
+ inline DataBusResponseContent& mutable_dataBus()
+ {
+ if(FieldNumber::DATABUS != which_content_)
+ {
+ init_content(FieldNumber::DATABUS);
+ }
+ return content_.dataBus_;
+ }
+ inline const DataBusResponseContent& get_dataBus() const { return content_.dataBus_; }
+ inline const DataBusResponseContent& dataBus() const { return content_.dataBus_; }
+
+ static constexpr char const* INFOBUS_NAME = "infoBus";
+ inline bool has_infoBus() const
+ {
+ return FieldNumber::INFOBUS == which_content_;
+ }
+ inline void clear_infoBus()
+ {
+ if(FieldNumber::INFOBUS == which_content_)
+ {
+ which_content_ = FieldNumber::NOT_SET;
+ content_.infoBus_.~InfoBusResponseContent();
+ }
+ }
+ inline void set_infoBus(const InfoBusResponseContent& value)
+ {
+ if(FieldNumber::INFOBUS != which_content_)
+ {
+ init_content(FieldNumber::INFOBUS);
+ }
+ content_.infoBus_ = value;
+ }
+ inline void set_infoBus(const InfoBusResponseContent&& value)
+ {
+ if(FieldNumber::INFOBUS != which_content_)
+ {
+ init_content(FieldNumber::INFOBUS);
+ }
+ content_.infoBus_ = value;
+ }
+ inline InfoBusResponseContent& mutable_infoBus()
+ {
+ if(FieldNumber::INFOBUS != which_content_)
+ {
+ init_content(FieldNumber::INFOBUS);
+ }
+ return content_.infoBus_;
+ }
+ inline const InfoBusResponseContent& get_infoBus() const { return content_.infoBus_; }
+ inline const InfoBusResponseContent& infoBus() const { return content_.infoBus_; }
+
+ static constexpr char const* SETTINGSBUS_NAME = "settingsBus";
+ inline bool has_settingsBus() const
+ {
+ return FieldNumber::SETTINGSBUS == which_content_;
+ }
+ inline void clear_settingsBus()
+ {
+ if(FieldNumber::SETTINGSBUS == which_content_)
+ {
+ which_content_ = FieldNumber::NOT_SET;
+ content_.settingsBus_.~SettingsBusResponseContent();
+ }
+ }
+ inline void set_settingsBus(const SettingsBusResponseContent& value)
+ {
+ if(FieldNumber::SETTINGSBUS != which_content_)
+ {
+ init_content(FieldNumber::SETTINGSBUS);
+ }
+ content_.settingsBus_ = value;
+ }
+ inline void set_settingsBus(const SettingsBusResponseContent&& value)
+ {
+ if(FieldNumber::SETTINGSBUS != which_content_)
+ {
+ init_content(FieldNumber::SETTINGSBUS);
+ }
+ content_.settingsBus_ = value;
+ }
+ inline SettingsBusResponseContent& mutable_settingsBus()
+ {
+ if(FieldNumber::SETTINGSBUS != which_content_)
+ {
+ init_content(FieldNumber::SETTINGSBUS);
+ }
+ return content_.settingsBus_;
+ }
+ inline const SettingsBusResponseContent& get_settingsBus() const { return content_.settingsBus_; }
+ inline const SettingsBusResponseContent& settingsBus() const { return content_.settingsBus_; }
+
+
+ ::EmbeddedProto::Error serialize(::EmbeddedProto::WriteBufferInterface& buffer) const override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if((0U != msgId_.get()) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = msgId_.serialize_with_id(static_cast(FieldNumber::MSGID), buffer, false);
+ }
+
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ if(has_dataBus() && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = content_.dataBus_.serialize_with_id(static_cast(FieldNumber::DATABUS), buffer, true);
+ }
+ break;
+
+ case FieldNumber::INFOBUS:
+ if(has_infoBus() && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = content_.infoBus_.serialize_with_id(static_cast(FieldNumber::INFOBUS), buffer, true);
+ }
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ if(has_settingsBus() && (::EmbeddedProto::Error::NO_ERRORS == return_value))
+ {
+ return_value = content_.settingsBus_.serialize_with_id(static_cast(FieldNumber::SETTINGSBUS), buffer, true);
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return return_value;
+ };
+
+ ::EmbeddedProto::Error deserialize(::EmbeddedProto::ReadBufferInterface& buffer) override
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+ ::EmbeddedProto::WireFormatter::WireType wire_type = ::EmbeddedProto::WireFormatter::WireType::VARINT;
+ uint32_t id_number = 0;
+ FieldNumber id_tag = FieldNumber::NOT_SET;
+
+ ::EmbeddedProto::Error tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ while((::EmbeddedProto::Error::NO_ERRORS == return_value) && (::EmbeddedProto::Error::NO_ERRORS == tag_value))
+ {
+ id_tag = static_cast(id_number);
+ switch(id_tag)
+ {
+ case FieldNumber::MSGID:
+ return_value = msgId_.deserialize_check_type(buffer, wire_type);
+ break;
+
+ case FieldNumber::DATABUS:
+ case FieldNumber::INFOBUS:
+ case FieldNumber::SETTINGSBUS:
+ return_value = deserialize_content(id_tag, buffer, wire_type);
+ break;
+
+ case FieldNumber::NOT_SET:
+ return_value = ::EmbeddedProto::Error::INVALID_FIELD_ID;
+ break;
+
+ default:
+ return_value = skip_unknown_field(buffer, wire_type);
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS == return_value)
+ {
+ // Read the next tag.
+ tag_value = ::EmbeddedProto::WireFormatter::DeserializeTag(buffer, wire_type, id_number);
+ }
+ }
+
+ // When an error was detect while reading the tag but no other errors where found, set it in the return value.
+ if((::EmbeddedProto::Error::NO_ERRORS == return_value)
+ && (::EmbeddedProto::Error::NO_ERRORS != tag_value)
+ && (::EmbeddedProto::Error::END_OF_BUFFER != tag_value)) // The end of the buffer is not an array in this case.
+ {
+ return_value = tag_value;
+ }
+
+ return return_value;
+ };
+
+ void clear() override
+ {
+ clear_msgId();
+ clear_content();
+
+ }
+
+ static char const* field_number_to_name(const FieldNumber fieldNumber)
+ {
+ char const* name = nullptr;
+ switch(fieldNumber)
+ {
+ case FieldNumber::MSGID:
+ name = MSGID_NAME;
+ break;
+ case FieldNumber::DATABUS:
+ name = DATABUS_NAME;
+ break;
+ case FieldNumber::INFOBUS:
+ name = INFOBUS_NAME;
+ break;
+ case FieldNumber::SETTINGSBUS:
+ name = SETTINGSBUS_NAME;
+ break;
+ default:
+ name = "Invalid FieldNumber";
+ break;
+ }
+ return name;
+ }
+
+#ifdef MSG_TO_STRING
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str) const
+ {
+ return this->to_string(str, 0, nullptr, true);
+ }
+
+ ::EmbeddedProto::string_view to_string(::EmbeddedProto::string_view& str, const uint32_t indent_level, char const* name, const bool first_field) const override
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+ int32_t n_chars_used = 0;
+
+ if(!first_field)
+ {
+ // Add a comma behind the previous field.
+ n_chars_used = snprintf(left_chars.data, left_chars.size, ",\n");
+ if(0 < n_chars_used)
+ {
+ // Update the character pointer and characters left in the array.
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+ }
+
+ if(nullptr != name)
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\"%s\": {\n", name);
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s\"%s\": {\n", indent_level, " ", name);
+ }
+ }
+ else
+ {
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "{\n");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "%*s{\n", indent_level, " ");
+ }
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ left_chars = msgId_.to_string(left_chars, indent_level + 2, MSGID_NAME, true);
+ left_chars = to_string_content(left_chars, indent_level + 2, false);
+
+ if( 0 == indent_level)
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n}");
+ }
+ else
+ {
+ n_chars_used = snprintf(left_chars.data, left_chars.size, "\n%*s}", indent_level, " ");
+ }
+
+ if(0 < n_chars_used)
+ {
+ left_chars.data += n_chars_used;
+ left_chars.size -= n_chars_used;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+
+ private:
+
+
+ EmbeddedProto::uint32 msgId_ = 0U;
+
+ FieldNumber which_content_ = FieldNumber::NOT_SET;
+ union content
+ {
+ content() {}
+ ~content() {}
+ DataBusResponseContent dataBus_;
+ InfoBusResponseContent infoBus_;
+ SettingsBusResponseContent settingsBus_;
+ };
+ content content_;
+
+ void init_content(const FieldNumber field_id)
+ {
+ if(FieldNumber::NOT_SET != which_content_)
+ {
+ // First delete the old object in the oneof.
+ clear_content();
+ }
+
+ // C++11 unions only support nontrivial members when you explicitly call the placement new statement.
+ switch(field_id)
+ {
+ case FieldNumber::DATABUS:
+ new(&content_.dataBus_) DataBusResponseContent;
+ break;
+
+ case FieldNumber::INFOBUS:
+ new(&content_.infoBus_) InfoBusResponseContent;
+ break;
+
+ case FieldNumber::SETTINGSBUS:
+ new(&content_.settingsBus_) SettingsBusResponseContent;
+ break;
+
+ default:
+ break;
+ }
+
+ which_content_ = field_id;
+ }
+
+ void clear_content()
+ {
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ ::EmbeddedProto::destroy_at(&content_.dataBus_);
+ break;
+ case FieldNumber::INFOBUS:
+ ::EmbeddedProto::destroy_at(&content_.infoBus_);
+ break;
+ case FieldNumber::SETTINGSBUS:
+ ::EmbeddedProto::destroy_at(&content_.settingsBus_);
+ break;
+ default:
+ break;
+ }
+ which_content_ = FieldNumber::NOT_SET;
+ }
+
+ ::EmbeddedProto::Error deserialize_content(const FieldNumber field_id,
+ ::EmbeddedProto::ReadBufferInterface& buffer,
+ const ::EmbeddedProto::WireFormatter::WireType wire_type)
+ {
+ ::EmbeddedProto::Error return_value = ::EmbeddedProto::Error::NO_ERRORS;
+
+ if(field_id != which_content_)
+ {
+ init_content(field_id);
+ }
+
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ return_value = content_.dataBus_.deserialize_check_type(buffer, wire_type);
+ break;
+ case FieldNumber::INFOBUS:
+ return_value = content_.infoBus_.deserialize_check_type(buffer, wire_type);
+ break;
+ case FieldNumber::SETTINGSBUS:
+ return_value = content_.settingsBus_.deserialize_check_type(buffer, wire_type);
+ break;
+ default:
+ break;
+ }
+
+ if(::EmbeddedProto::Error::NO_ERRORS != return_value)
+ {
+ clear_content();
+ }
+ return return_value;
+ }
+
+#ifdef MSG_TO_STRING
+ ::EmbeddedProto::string_view to_string_content(::EmbeddedProto::string_view& str, const uint32_t indent_level, const bool first_field) const
+ {
+ ::EmbeddedProto::string_view left_chars = str;
+
+ switch(which_content_)
+ {
+ case FieldNumber::DATABUS:
+ left_chars = content_.dataBus_.to_string(left_chars, indent_level, DATABUS_NAME, first_field);
+ break;
+ case FieldNumber::INFOBUS:
+ left_chars = content_.infoBus_.to_string(left_chars, indent_level, INFOBUS_NAME, first_field);
+ break;
+ case FieldNumber::SETTINGSBUS:
+ left_chars = content_.settingsBus_.to_string(left_chars, indent_level, SETTINGSBUS_NAME, first_field);
+ break;
+ default:
+ break;
+ }
+
+ return left_chars;
+ }
+
+#endif // End of MSG_TO_STRING
+};
+
+} // End of namespace light_detector
+#endif // RESPONSE_H
\ No newline at end of file
diff --git a/Core/External/Proto/Helper/proto_helper.cpp b/Core/External/Proto/Helper/proto_helper.cpp
new file mode 100644
index 0000000..188743e
--- /dev/null
+++ b/Core/External/Proto/Helper/proto_helper.cpp
@@ -0,0 +1,54 @@
+#include "proto_helper.h"
+
+bool ProtoHelper::is_data_bus_request_container(const light_detector::RequestContainer& container) {
+ return container.get_which_content() == light_detector::RequestContainer::FieldNumber::DATABUS;
+}
+
+bool ProtoHelper::is_info_bus_request_container(const light_detector::RequestContainer& container) {
+ return container.get_which_content() == light_detector::RequestContainer::FieldNumber::INFOBUS;
+}
+
+bool ProtoHelper::is_settings_bus_request_container(const light_detector::RequestContainer& container) {
+ return container.get_which_content() == light_detector::RequestContainer::FieldNumber::SETTINGSBUS;
+}
+
+light_detector::DataBusRequestContent ProtoHelper::extract_data_bus_request_content(
+ const light_detector::RequestContainer& container) {
+ return container.dataBus();
+}
+
+light_detector::InfoBusRequestContent ProtoHelper::extract_info_bus_request_content(
+ const light_detector::RequestContainer& container) {
+ return container.infoBus();
+}
+
+light_detector::SettingsBusRequestContent ProtoHelper::extract_settings_bus_request_content(
+ const light_detector::RequestContainer& container) {
+ return container.settingsBus();
+}
+
+bool ProtoHelper::is_data_bus_request_content_of_raw_data_type(const light_detector::DataBusRequestContent &content) {
+ return content.dataType() == light_detector::DataType::Raw;
+}
+
+bool ProtoHelper::is_data_bus_request_content_of_full_data_type(const light_detector::DataBusRequestContent &content) {
+ return content.dataType() == light_detector::DataType::Full;
+}
+
+bool ProtoHelper::is_data_bus_request_content_of_infrared_data_type(const light_detector::DataBusRequestContent &content) {
+ return content.dataType() == light_detector::DataType::Infrared;
+}
+
+bool ProtoHelper::is_data_bus_request_content_of_visible_data_type(const light_detector::DataBusRequestContent &content) {
+ return content.dataType() == light_detector::DataType::Visible;
+}
+
+bool ProtoHelper::is_info_bus_request_content_of_gain_info_type(
+ const light_detector::InfoBusRequestContent& content) {
+ return content.infoType() == light_detector::InfoType::Gain;
+};
+
+bool ProtoHelper::is_info_bus_request_content_of_integral_time_info_type(
+ const light_detector::InfoBusRequestContent& content) {
+ return content.infoType() == light_detector::InfoType::IntegralTime;
+};
diff --git a/Core/External/Proto/Helper/proto_helper.h b/Core/External/Proto/Helper/proto_helper.h
new file mode 100644
index 0000000..01d97cb
--- /dev/null
+++ b/Core/External/Proto/Helper/proto_helper.h
@@ -0,0 +1,115 @@
+#ifndef LIGHT_DETECTOR_PROTO_HELPER_H
+#define LIGHT_DETECTOR_PROTO_HELPER_H
+
+#include "request.h"
+#include "data.h"
+#include "info.h"
+#include "settings.h"
+
+/**
+ * Contains aliases to perform proto declaration related operation.
+ */
+class ProtoHelper {
+public:
+ /**
+ * Checks if the given request container is related to data bus.
+ *
+ * @param container - given request container.
+ * @return result of the check.
+ */
+ static bool is_data_bus_request_container(const light_detector::RequestContainer& container);
+
+ /**
+ * Checks if the given request container is related to info bus.
+ *
+ * @param container - given request container.
+ * @return result of the check.
+ */
+ static bool is_info_bus_request_container(const light_detector::RequestContainer& container);
+
+ /**
+ * Checks if the given request container is related to settings bus.
+ *
+ * @param container - given request container.
+ * @return result of the check.
+ */
+ static bool is_settings_bus_request_container(const light_detector::RequestContainer& container);
+
+ /**
+ * Extracts data bus request container from the raw request container.
+ *
+ * @param container - given raw request container.
+ * @return extracted data bus request container.
+ */
+ static light_detector::DataBusRequestContent extract_data_bus_request_content(
+ const light_detector::RequestContainer& container);
+
+ /**
+ * Extracts info bus request container from the raw request container.
+ *
+ * @param container - given raw request container.
+ * @return extracted data bus request container.
+ */
+ static light_detector::InfoBusRequestContent extract_info_bus_request_content(
+ const light_detector::RequestContainer& container);
+
+ /**
+ * Extracts settings bus request container from the raw request container.
+ *
+ * @param container - given raw request container.
+ * @return extracted data bus request container.
+ */
+ static light_detector::SettingsBusRequestContent extract_settings_bus_request_content(
+ const light_detector::RequestContainer& container);
+
+ /**
+ * Checks if the given data bus request content of raw data type.
+ *
+ * @param content - given data bus request content.
+ * @return result of the check.
+ */
+ static bool is_data_bus_request_content_of_raw_data_type(const light_detector::DataBusRequestContent& content);
+
+ /**
+ * Checks if the given data bus request content of full data type.
+ *
+ * @param content - given data bus request content.
+ * @return result of the check.
+ */
+ static bool is_data_bus_request_content_of_full_data_type(const light_detector::DataBusRequestContent& content);
+
+ /**
+ * Checks if the given data bus request content of infrared data type.
+ *
+ * @param content - given data bus request content.
+ * @return result of the check.
+ */
+ static bool is_data_bus_request_content_of_infrared_data_type(const light_detector::DataBusRequestContent& content);
+
+ /**
+ * Checks if the given data bus request content of visible data type.
+ *
+ * @param content - given data bus request content.
+ * @return result of the check.
+ */
+ static bool is_data_bus_request_content_of_visible_data_type(const light_detector::DataBusRequestContent& content);
+
+ /**
+ * Checks if the given info bus request content of gain info type.
+ *
+ * @param content - given info bus request content.
+ * @return result of the check.
+ */
+ static bool is_info_bus_request_content_of_gain_info_type(const light_detector::InfoBusRequestContent& content);
+
+ /**
+ * Checks if the given info bus request content of integral time info type.
+ *
+ * @param content - given info bus request content.
+ * @return result of the check.
+ */
+ static bool is_info_bus_request_content_of_integral_time_info_type(
+ const light_detector::InfoBusRequestContent& content);
+};
+
+#endif //LIGHT_DETECTOR_PROTO_HELPER_H
diff --git a/Core/External/Scheduler/Handler/scheduler_handler.cpp b/Core/External/Scheduler/Handler/scheduler_handler.cpp
new file mode 100644
index 0000000..9aeb1e4
--- /dev/null
+++ b/Core/External/Scheduler/Handler/scheduler_handler.cpp
@@ -0,0 +1,231 @@
+#include "scheduler_handler.h"
+
+
+int SchedulerHandler::handle_request() {
+ if (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_RXNE) == SET) {
+ return try_process_request_container();
+ }
+
+ return EXIT_SUCCESS;
+}
+
+int SchedulerHandler::handle_response() {
+ auto request_container_sequence = State::get_request_container_sequence();
+
+ if (!request_container_sequence.is_empty()) {
+ return request_container_sequence.traverse_with_break([](const light_detector::RequestContainer &content) -> int {
+ return SchedulerHandler::try_process_response_container(content);
+ });
+ }
+
+ return EXIT_SUCCESS;
+}
+
+int SchedulerHandler::try_process_request_container() {
+ auto request_buffer = ProtoCodec::get_request_buffer();
+
+ HAL_UART_Receive(
+ &huart2, request_buffer.get_raw_buffer(), request_buffer.get_size(), 1000);
+
+ return ProtoCodec::decode_request_container();
+}
+
+int SchedulerHandler::try_process_response_container(const light_detector::RequestContainer &content) {
+ if (ProtoHelper::is_data_bus_request_container(content)) {
+
+ if (SchedulerHandler::process_data_bus_request_content_response(content) != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+ } else if (ProtoHelper::is_info_bus_request_container(content)) {
+
+ if (SchedulerHandler::process_info_bus_request_content_response(content) != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+ } else if (ProtoHelper::is_settings_bus_request_container(content)) {
+
+ if (SchedulerHandler::process_settings_bus_request_content_response(content) != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+ }
+
+ return SchedulerHandler::try_transmit_response_container();
+}
+
+int SchedulerHandler::try_transmit_response_container() {
+ auto response_buffer = ProtoCodec::get_response_buffer();
+
+ HAL_UART_Transmit(
+ &huart2, response_buffer.get_raw_buffer(), response_buffer.get_size(), 1000);
+
+ return EXIT_SUCCESS;
+}
+
+int SchedulerHandler::process_data_bus_request_content_response(
+ const light_detector::RequestContainer &content) {
+ auto data_bus_request_content =
+ ProtoHelper::extract_data_bus_request_content(content);
+
+ if (ProtoHelper::is_data_bus_request_content_of_raw_data_type(data_bus_request_content)) {
+
+ return SchedulerHandler::process_data_bus_request_content_of_raw_data_type_response(content);
+ } else if (ProtoHelper::is_data_bus_request_content_of_full_data_type(data_bus_request_content)) {
+
+ return SchedulerHandler::process_data_bus_request_content_of_full_data_type_response(content);
+ } else if (ProtoHelper::is_data_bus_request_content_of_infrared_data_type(data_bus_request_content)) {
+
+ return SchedulerHandler::process_data_bus_request_content_of_infrared_data_type_response(content);
+ } else if (ProtoHelper::is_data_bus_request_content_of_visible_data_type(data_bus_request_content)) {
+
+ return SchedulerHandler::process_data_bus_request_content_of_visible_data_type_response(content);
+ }
+
+ return EXIT_SUCCESS;
+}
+
+int SchedulerHandler::process_data_bus_request_content_of_raw_data_type_response(
+ const light_detector::RequestContainer &content) {
+ light_detector::ResponseContainer response_container;
+
+ response_container.set_msgId(content.get_msgId());
+
+ light_detector::DataBusResponseContent data_bus_response_content;
+
+ data_bus_response_content.set_deviceId(TSL2591X::get_device_id());
+ data_bus_response_content.set_dataType(light_detector::DataType::Raw);
+
+ uint16_t value = TSL2591X::read_lux();
+ TSL2591X::invoke_lux_interrupt(LUX_LOW, LUX_HIGH);
+
+ data_bus_response_content.set_value(value);
+ data_bus_response_content.set_nonce(State::allocate_response_nonce());
+
+ response_container.set_dataBus(data_bus_response_content);
+
+ return ProtoCodec::encode_response_container(response_container);
+}
+
+int SchedulerHandler::process_data_bus_request_content_of_full_data_type_response(
+ const light_detector::RequestContainer &content) {
+ light_detector::ResponseContainer response_container;
+
+ response_container.set_msgId(content.get_msgId());
+
+ light_detector::DataBusResponseContent data_bus_response_content;
+
+ data_bus_response_content.set_deviceId(TSL2591X::get_device_id());
+ data_bus_response_content.set_dataType(light_detector::DataType::Full);
+
+ uint32_t value = TSL2591X::read_full();
+
+ data_bus_response_content.set_value(value);
+ data_bus_response_content.set_nonce(State::allocate_response_nonce());
+
+ response_container.set_dataBus(data_bus_response_content);
+
+ return ProtoCodec::encode_response_container(response_container);
+}
+
+int SchedulerHandler::process_data_bus_request_content_of_infrared_data_type_response(
+ const light_detector::RequestContainer &content) {
+ light_detector::ResponseContainer response_container;
+
+ response_container.set_msgId(content.get_msgId());
+
+ light_detector::DataBusResponseContent data_bus_response_content;
+
+ data_bus_response_content.set_deviceId(TSL2591X::get_device_id());
+ data_bus_response_content.set_dataType(light_detector::DataType::Infrared);
+
+ uint16_t value = TSL2591X::read_infrared();
+
+ data_bus_response_content.set_value(value);
+ data_bus_response_content.set_nonce(State::allocate_response_nonce());
+
+ response_container.set_dataBus(data_bus_response_content);
+
+ return ProtoCodec::encode_response_container(response_container);
+}
+
+int SchedulerHandler::process_data_bus_request_content_of_visible_data_type_response(
+ const light_detector::RequestContainer &content) {
+ light_detector::ResponseContainer response_container;
+
+ response_container.set_msgId(content.get_msgId());
+
+ light_detector::DataBusResponseContent data_bus_response_content;
+
+ data_bus_response_content.set_deviceId(TSL2591X::get_device_id());
+ data_bus_response_content.set_dataType(light_detector::DataType::Visible);
+
+ uint32_t value = TSL2591X::read_visible();
+
+ data_bus_response_content.set_value(value);
+ data_bus_response_content.set_nonce(State::allocate_response_nonce());
+
+ response_container.set_dataBus(data_bus_response_content);
+
+ return ProtoCodec::encode_response_container(response_container);
+}
+
+int SchedulerHandler::process_info_bus_request_content_response(
+ const light_detector::RequestContainer &content) {
+ auto info_bus_request_content =
+ ProtoHelper::extract_info_bus_request_content(content);
+
+ if (ProtoHelper::is_info_bus_request_content_of_gain_info_type(info_bus_request_content)) {
+
+ return process_info_bus_request_content_of_gain_info_type_response(content);
+ } else if (ProtoHelper::is_info_bus_request_content_of_integral_time_info_type(info_bus_request_content)) {
+
+ return process_info_bus_request_content_of_integral_time_info_type_response(content);
+ }
+
+ return EXIT_SUCCESS;
+}
+
+int SchedulerHandler::process_info_bus_request_content_of_gain_info_type_response(
+ const light_detector::RequestContainer &content) {
+ light_detector::ResponseContainer response_container;
+
+ response_container.set_msgId(content.get_msgId());
+
+ light_detector::InfoBusResponseContent info_bus_response_content;
+
+ info_bus_response_content.set_deviceId(TSL2591X::get_device_id());
+ info_bus_response_content.set_infoType(light_detector::InfoType::Gain);
+
+ uint8_t value = TSL2591X::get_gain();
+
+ info_bus_response_content.set_value(value);
+ info_bus_response_content.set_nonce(State::allocate_response_nonce());
+
+ response_container.set_infoBus(info_bus_response_content);
+
+ return ProtoCodec::encode_response_container(response_container);
+};
+
+int SchedulerHandler::process_info_bus_request_content_of_integral_time_info_type_response(
+ const light_detector::RequestContainer &content) {
+ light_detector::ResponseContainer response_container;
+
+ response_container.set_msgId(content.get_msgId());
+
+ light_detector::InfoBusResponseContent info_bus_response_content;
+
+ info_bus_response_content.set_deviceId(TSL2591X::get_device_id());
+ info_bus_response_content.set_infoType(light_detector::InfoType::IntegralTime);
+
+ uint8_t value = TSL2591X::get_integral_time();
+
+ info_bus_response_content.set_value(value);
+ info_bus_response_content.set_nonce(State::allocate_response_nonce());
+
+ response_container.set_infoBus(info_bus_response_content);
+
+ return ProtoCodec::encode_response_container(response_container);
+};
+
+int SchedulerHandler::process_settings_bus_request_content_response(
+ const light_detector::RequestContainer &content) {
+
+}
\ No newline at end of file
diff --git a/Core/External/Scheduler/Handler/scheduler_handler.h b/Core/External/Scheduler/Handler/scheduler_handler.h
new file mode 100644
index 0000000..0557632
--- /dev/null
+++ b/Core/External/Scheduler/Handler/scheduler_handler.h
@@ -0,0 +1,138 @@
+#ifndef LIGHT_DETECTOR_SCHEDULER_HANDLER_H
+#define LIGHT_DETECTOR_SCHEDULER_HANDLER_H
+
+#include "stm32l4xx_hal.h"
+#include "tsl2591x.h"
+
+#include "request.h"
+#include "data.h"
+#include "info.h"
+#include "settings.h"
+#include "proto_codec.h"
+#include "proto_helper.h"
+
+#include "state.h"
+
+extern UART_HandleTypeDef huart2;
+
+/**
+ * Represents scheduler handler used to expose
+ */
+class SchedulerHandler {
+public:
+ /**
+ * Handles high-level incoming request, received during one exact timer tick.
+ *
+ * @return status of the request handling.
+ */
+ static int handle_request();
+
+ /**
+ * Handles high-level outcoming response, sent during one exact timer tick.
+ *
+ * @return status of the response handling.
+ */
+ static int handle_response();
+private:
+ /**
+ * Attempts to process incoming request container if there is one.
+ *
+ * @return status of the request container processing.
+ */
+ static int try_process_request_container();
+
+ /**
+ * Attempts to process outcoming response container if there is one.
+ *
+ * @param content - given request container content.
+ * @return status of the response container processing.
+ */
+ static int try_process_response_container(const light_detector::RequestContainer &content);
+
+ /**
+ * Attempts to transmit outcoming response container.
+ *
+ * @return status of the response container processing.
+ */
+ static int try_transmit_response_container();
+
+ /**
+ * Attempts to process data bus request content response.
+ *
+ * @param content - given data bus request content.
+ * @return status of the data bus request content response processing.
+ */
+ static int process_data_bus_request_content_response(const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process data bus request content of raw data type response.
+ *
+ * @param content - given data bus request content.
+ * @return status of the data bus request content response processing.
+ */
+ static int process_data_bus_request_content_of_raw_data_type_response(
+ const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process data bus request content of full data type response.
+ *
+ * @param content - given data bus request content.
+ * @return status of the data bus request content response processing.
+ */
+ static int process_data_bus_request_content_of_full_data_type_response(
+ const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process data bus request content of infrared data type response.
+ *
+ * @param content - given data bus request content.
+ * @return status of the data bus request content response processing.
+ */
+ static int process_data_bus_request_content_of_infrared_data_type_response(
+ const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process data bus request content of visible data type response.
+ *
+ * @param content - given data bus request content.
+ * @return status of the data bus request content response processing.
+ */
+ static int process_data_bus_request_content_of_visible_data_type_response(
+ const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process info bus request content response.
+ *
+ * @param content - given info bus request content.
+ * @return status of the info bus request content response processing.
+ */
+ static int process_info_bus_request_content_response(const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process info bus request content of gain info type response.
+ *
+ * @param content - given info bus request content.
+ * @return status of the info bus request content response processing.
+ */
+ static int process_info_bus_request_content_of_gain_info_type_response(
+ const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process info bus request content of integral time info type response.
+ *
+ * @param content - given info bus request content.
+ * @return status of the info bus request content response processing.
+ */
+ static int process_info_bus_request_content_of_integral_time_info_type_response(
+ const light_detector::RequestContainer& content);
+
+ /**
+ * Attempts to process settings bus request content response.
+ *
+ * @param content - given settings bus request content.
+ * @return status of the settings bus request content response processing.
+ */
+ static int process_settings_bus_request_content_response(const light_detector::RequestContainer& content);
+};
+
+#endif //LIGHT_DETECTOR_SCHEDULER_HANDLER_H
diff --git a/Core/External/Scheduler/scheduler.cpp b/Core/External/Scheduler/scheduler.cpp
new file mode 100644
index 0000000..53c478c
--- /dev/null
+++ b/Core/External/Scheduler/scheduler.cpp
@@ -0,0 +1,33 @@
+#include "scheduler.h"
+
+void Scheduler::schedule_tick() {
+ State::get_task_sequence().add([]() -> int {
+ if (SchedulerHandler::handle_request() != EXIT_SUCCESS) {
+ Indicator::toggle_invalid_request();
+
+ return EXIT_FAILURE;
+ }
+
+ if (SchedulerHandler::handle_response() != EXIT_SUCCESS) {
+ Indicator::toggle_invalid_response();
+
+ return EXIT_FAILURE;
+ }
+
+ return EXIT_SUCCESS;
+ });
+}
+
+void Scheduler::schedule_status_check() {
+ State::get_task_sequence().add([]() -> int {
+ if (TSL2591X::is_available()) {
+ Indicator::toggle_action_success();
+ } else {
+ Indicator::toggle_action_failure();
+ }
+
+ State::get_button_mutex().unlock();
+
+ return EXIT_SUCCESS;
+ });
+}
\ No newline at end of file
diff --git a/Core/External/Scheduler/scheduler.h b/Core/External/Scheduler/scheduler.h
new file mode 100644
index 0000000..c0d7033
--- /dev/null
+++ b/Core/External/Scheduler/scheduler.h
@@ -0,0 +1,25 @@
+#ifndef LIGHT_DETECTOR_SCHEDULER_H
+#define LIGHT_DETECTOR_SCHEDULER_H
+
+#include "scheduler_handler.h"
+#include "state.h"
+#include "indicator.h"
+
+/**
+ * Represents task scheduler implementation. Its methods are intended to be called to schedule tasks to be executed
+ * in a main loop.
+ */
+class Scheduler {
+public:
+ /**
+ * Schedules external timer tick action.
+ */
+ static void schedule_tick();
+
+ /**
+ * Schedules external button status check action.
+ */
+ static void schedule_status_check();
+};
+
+#endif //LIGHT_DETECTOR_SCHEDULER_H
diff --git a/Core/External/Sensor/tsl2591x.cpp b/Core/External/Sensor/tsl2591x.cpp
new file mode 100644
index 0000000..3048952
--- /dev/null
+++ b/Core/External/Sensor/tsl2591x.cpp
@@ -0,0 +1,271 @@
+#include "tsl2591x.h"
+
+bool TSL2591X::initialized = false;
+
+void TSL2591X::init() {
+ enable();
+
+ set_gain(MEDIUM_AGAIN);
+ set_integral_time(ATIME_200MS);
+ write_byte(PERSIST_REGISTER, 0x01);
+
+ disable();
+
+ initialized = true;
+}
+
+bool TSL2591X::is_available() {
+ return HAL_I2C_IsDeviceReady(&hi2c1, TSL2591X_ADDRESS, 1u, 10u) == HAL_OK;
+}
+
+bool TSL2591X::is_configured() {
+ return initialized;
+}
+
+bool TSL2591X::get_device_id() {
+ return read_byte(WHO_AM_I);
+};
+
+void TSL2591X::enable() {
+ write_byte(ENABLE_REGISTER, ENABLE_AIEN | ENABLE_POWERON | ENABLE_AEN | ENABLE_NPIEN);
+}
+
+void TSL2591X::disable() {
+ write_byte(ENABLE_REGISTER, ENABLE_POWEROFF);
+}
+
+void TSL2591X::reset() {
+ write_byte(CONTROL_REGISTER, SRESET);
+}
+
+uint16_t TSL2591X::read_lux() {
+ enable();
+
+ uint8_t externalIntegralTime = get_integral_time();
+
+ for (uint8_t i = 0; i < externalIntegralTime + 2; i++) {
+ HAL_Delay(100);
+ }
+
+ uint16_t channel0 = read_channel0();
+ uint16_t channel1 = read_channel1();
+ disable();
+
+ enable();
+ write_byte(0xE7, 0x13);
+ disable();
+
+ uint16_t maxCounts;
+
+ if (externalIntegralTime == ATIME_100MS) {
+ maxCounts = MAX_COUNT_100MS;
+ } else {
+ maxCounts = MAX_COUNT;
+ }
+
+ uint8_t externalGain;
+
+ if (channel0 >= maxCounts || channel1 >= maxCounts) {
+ externalGain = get_gain();
+
+ if (externalGain == LOW_AGAIN) {
+ return 0;
+ }
+
+ externalGain = ((externalGain >> 4) - 1) << 4;
+
+ set_gain(externalGain);
+
+ channel0 = 0;
+ channel1 = 0;
+ while (channel0 <= 0 || channel1 <= 0) {
+ channel0 = read_channel0();
+ channel1 = read_channel1();
+ }
+
+ HAL_Delay(100);
+ }
+
+ double gain = 1.0;
+
+ externalGain = get_gain();
+
+ if (externalGain == MEDIUM_AGAIN) {
+ gain = 25.0;
+ } else if (externalGain == HIGH_AGAIN) {
+ gain = 428.0;
+ } else if (externalGain == MAX_AGAIN) {
+ gain = 9876.0;
+ }
+
+ uint16_t lux1 = (int) ((channel0 - (2 * channel1)) / (((100 * externalIntegralTime + 100) * gain) / LUX_DF));
+
+ if (lux1 <= 0) {
+ return 0;
+ }
+
+ return lux1;
+}
+
+uint32_t TSL2591X::read_full() {
+ uint32_t result;
+
+ enable();
+
+ result = (read_channel1() << 16) | read_channel0();
+
+ disable();
+
+ return result;
+}
+
+uint16_t TSL2591X::read_infrared() {
+ uint16_t result;
+
+ enable();
+
+ result = read_channel0();
+
+ disable();
+
+ return result;
+}
+
+uint32_t TSL2591X::read_visible() {
+ enable();
+
+ uint16_t channel1 = read_channel1();
+ uint16_t channel0 = read_channel0();
+
+ disable();
+
+ return ((channel1 << 16) | channel0) - channel1;
+}
+
+void TSL2591X::invoke_raw_interrupt_threshold(uint16_t low, uint16_t high) {
+ enable();
+
+ write_byte(AILTL_REGISTER, low & 0xFF);
+ write_byte(AILTH_REGISTER, low >> 8);
+
+ write_byte(AIHTL_REGISTER, high & 0xFF);
+ write_byte(AIHTH_REGISTER, high >> 8);
+
+ write_byte(NPAILTL_REGISTER, 0);
+ write_byte(NPAILTH_REGISTER, 0);
+
+ write_byte(NPAIHTL_REGISTER, 0xff);
+ write_byte(NPAIHTH_REGISTER, 0xff);
+
+ disable();
+}
+
+void TSL2591X::invoke_lux_interrupt(uint16_t low, uint16_t high) {
+ double gain = 1.0;
+
+ uint8_t externalGain = get_gain();
+
+ if (externalGain == MEDIUM_AGAIN) {
+ gain = 25.0;
+ } else if (externalGain == HIGH_AGAIN) {
+ gain = 428.0;
+ } else if (externalGain == MAX_AGAIN) {
+ gain = 9876.0;
+ }
+
+ uint8_t externalIntegralTime = get_integral_time();
+
+ double cpl = ((100 * externalIntegralTime + 100) * gain) / LUX_DF;
+
+ uint16_t channel1 = read_channel1();
+
+ uint16_t highLux = (int) (cpl * high) + 2 * channel1 - 1;
+ uint16_t lowLux = (int) (cpl * low) + 2 * channel1 + 1;
+
+ enable();
+
+ write_byte(AILTL_REGISTER, lowLux & 0xFF);
+ write_byte(AILTH_REGISTER, lowLux >> 8);
+
+ write_byte(AIHTL_REGISTER, highLux & 0xFF);
+ write_byte(AIHTH_REGISTER, highLux >> 8);
+
+ write_byte(NPAILTL_REGISTER, 0);
+ write_byte(NPAILTH_REGISTER, 0);
+
+ write_byte(NPAIHTL_REGISTER, 0xff);
+ write_byte(NPAIHTH_REGISTER, 0xff);
+
+ disable();
+}
+
+uint16_t TSL2591X::read_channel0() {
+ return read_word(CHAN0_LOW);
+}
+
+uint16_t TSL2591X::read_channel1() {
+ return read_word(CHAN1_LOW);
+}
+
+uint8_t TSL2591X::get_integral_time() {
+ return read_byte(CONTROL_REGISTER) & 0x07;
+}
+
+void TSL2591X::set_integral_time(uint8_t src) {
+ if (src < 0x06) {
+ uint8_t control = read_byte(CONTROL_REGISTER);
+ control &= 0xf8;
+ control |= src;
+ write_byte(CONTROL_REGISTER, control);
+ }
+}
+
+uint8_t TSL2591X::get_gain() {
+ return read_byte(CONTROL_REGISTER) & 0x30;
+}
+
+void TSL2591X::set_gain(uint8_t src) {
+ if (src == LOW_AGAIN || src == MEDIUM_AGAIN || src == HIGH_AGAIN || src == MAX_AGAIN) {
+ uint8_t control = read_byte(CONTROL_REGISTER);
+ control &= 0xCf;
+ control |= src;
+ write_byte(CONTROL_REGISTER, control);
+ }
+}
+
+uint8_t TSL2591X::read_byte(uint8_t src) {
+ return read_byte_i2c(src | COMMAND_BIT);
+}
+
+uint16_t TSL2591X::read_word(uint8_t src) {
+ return read_word_i2c(src | COMMAND_BIT);
+}
+
+void TSL2591X::write_byte(uint8_t src, uint8_t value) {
+ write_byte_i2c(src | COMMAND_BIT, value);
+}
+
+void TSL2591X::write_byte_i2c(uint8_t command, uint8_t value) {
+ uint8_t buffer[1] = {value};
+
+ HAL_I2C_Mem_Write(
+ &hi2c1, TSL2591X_ADDRESS, command, I2C_MEMADD_SIZE_8BIT, buffer, 1, I2C_TIMEOUT);
+}
+
+int TSL2591X::read_byte_i2c(uint8_t command) {
+ uint8_t buffer[1] = {0};
+
+ HAL_I2C_Mem_Read(
+ &hi2c1, TSL2591X_ADDRESS + 1, command, I2C_MEMADD_SIZE_8BIT, buffer, 1, I2C_TIMEOUT);
+
+ return buffer[0];
+}
+
+int TSL2591X::read_word_i2c(uint8_t command) {
+ uint8_t buffer[2] = {0, 0};
+
+ HAL_I2C_Mem_Read(&hi2c1, TSL2591X_ADDRESS + 1, command, I2C_MEMADD_SIZE_8BIT, buffer, 2, I2C_TIMEOUT);
+
+ return ((buffer[1] << 8) | (buffer[0] & 0xff));
+}
+
diff --git a/Core/External/Sensor/tsl2591x.h b/Core/External/Sensor/tsl2591x.h
new file mode 100644
index 0000000..4c70970
--- /dev/null
+++ b/Core/External/Sensor/tsl2591x.h
@@ -0,0 +1,251 @@
+#ifndef LIGHT_DETECTOR_SENSOR_H
+#define LIGHT_DETECTOR_SENSOR_H
+
+#include "stm32l4xx_hal.h"
+#include
+#include
+
+#define TSL2591X_ADDRESS (0x29<<1)
+
+#define WHO_AM_I (0x12)
+
+#define COMMAND_BIT (0xA0)
+
+#define ENABLE_REGISTER (0x00)
+#define ENABLE_POWERON (0x01)
+#define ENABLE_POWEROFF (0x00)
+#define ENABLE_AEN (0x02)
+#define ENABLE_AIEN (0x10)
+#define ENABLE_NPIEN (0x80)
+
+#define CONTROL_REGISTER (0x01)
+#define SRESET (0x80)
+
+#define LOW_AGAIN (0X00)
+#define MEDIUM_AGAIN (0X10)
+#define HIGH_AGAIN (0X20)
+#define MAX_AGAIN (0x30)
+
+#define ATIME_100MS (0x00)
+#define ATIME_200MS (0x01)
+#define ATIME_300MS (0x02)
+#define ATIME_400MS (0x03)
+#define ATIME_500MS (0x04)
+#define ATIME_600MS (0x05)
+
+#define AILTL_REGISTER (0x04)
+#define AILTH_REGISTER (0x05)
+#define AIHTL_REGISTER (0x06)
+#define AIHTH_REGISTER (0x07)
+#define NPAILTL_REGISTER (0x08)
+#define NPAILTH_REGISTER (0x09)
+#define NPAIHTL_REGISTER (0x0A)
+#define NPAIHTH_REGISTER (0x0B)
+
+#define PERSIST_REGISTER (0x0C)
+
+#define CHAN0_LOW (0x14)
+#define CHAN0_HIGH (0x15)
+#define CHAN1_LOW (0x16)
+#define CHAN1_HIGH (0x14)
+
+#define LUX_LOW 50
+#define LUX_HIGH 200
+
+#define LUX_DF (762.0)
+
+#define MAX_COUNT_100MS (36863)
+#define MAX_COUNT (65535)
+
+#define I2C_TIMEOUT (0x20)
+
+extern I2C_HandleTypeDef hi2c1;
+
+/**
+ * Represents driver implementation for "Waveshare" TSL2591X light sensor.
+ */
+class TSL2591X {
+public:
+ /**
+ * Initializes light sensor configuration.
+ */
+ static void init();
+
+ /**
+ * Checks if the device is available and thus can be configured.
+ *
+ * @return result of the check.
+ */
+ static bool is_available();
+
+ /**
+ * Checks if the device has already been configured.
+ *
+ * @return result of the check.
+ */
+ static bool is_configured();
+
+ /**
+ * Retrieves device id of the sensor.
+ *
+ * @return read device id.
+ */
+ static bool get_device_id();
+
+ /**
+ * Enables the sensor.
+ */
+ static void enable();
+
+ /**
+ * Disables the sensor.
+ */
+ static void disable();
+
+ /**
+ * Resets light sensor to the default state.
+ */
+ static void reset();
+
+ /**
+ * Reads raw data in LUX format.
+ *
+ * @return read raw data in LUX format.
+ */
+ static uint16_t read_lux();
+
+ /**
+ * Reads full data from the sensor.
+ *
+ * @return read full data.
+ */
+ static uint32_t read_full();
+
+ /**
+ * Reads infrared data from the sensor.
+ *
+ * @return read infrared data.
+ */
+ static uint16_t read_infrared();
+
+ /**
+ * Reads visible data from the sensor.
+ *
+ * @return read visible data.
+ */
+ static uint32_t read_visible();
+
+ /**
+ * Sets raw interruption threshold.
+ *
+ * @param low - given low state.
+ * @param high - given high state.
+ */
+ static void invoke_raw_interrupt_threshold(uint16_t low, uint16_t high);
+
+ /**
+ * Sets LUX interruption configurations.
+ *
+ * @param low - given low state.
+ * @param high - given high state.
+ */
+ static void invoke_lux_interrupt(uint16_t low, uint16_t high);
+
+ /**
+ * Retrieves integral time option from the sensor.
+ *
+ * @return read value.
+ */
+ static uint8_t get_integral_time();
+
+ /**
+ * Retrieves the value of gain option from the sensor.
+ *
+ * @return retrieved value.
+ */
+ static uint8_t get_gain();
+
+private:
+ /**
+ * Indicated that the device has already been initialized.
+ */
+ static bool initialized;
+
+ /**
+ * Reads value from the zero channel.
+ *
+ * @return read value.
+ */
+ static uint16_t read_channel0();
+
+ /**
+ * Reads value from the first channel.
+ *
+ * @return read value.
+ */
+ static uint16_t read_channel1();
+
+ /**
+ * Sets integral time option to the sensor.
+ *
+ * @param src - given value to be set.
+ */
+ static void set_integral_time(uint8_t src);
+
+ /**
+ * Sets the value of gain option to the sensor.
+ *
+ * @param src - given value to be set.
+ */
+ static void set_gain(uint8_t src);
+
+ /**
+ * Reads combined command by bytes using I2C bone.
+ *
+ * @param src - given command to be read.
+ * @return read value.
+ */
+ static uint8_t read_byte(uint8_t src);
+
+ /**
+ * Reads combined command by word using I2C bone.
+ *
+ * @param src - given command to be read.
+ * @return read value.
+ */
+ static uint16_t read_word(uint8_t src);
+
+ /**
+ * Writes combined command by bytes via I2C bone.
+ *
+ * @param command - given command to be written.
+ * @param value - given value to be written to the given command.
+ */
+ static void write_byte(uint8_t src, uint8_t value);
+
+ /**
+ * Writes raw byte via I2C bone.
+ *
+ * @param command - given command to be written.
+ * @param value - given value to be written to the given command.
+ */
+ static void write_byte_i2c(uint8_t command, uint8_t value);
+
+ /**
+ * Reads raw byte via I2C bone.
+ *
+ * @param command - given command to be read.
+ * @return read byte.
+ */
+ static int read_byte_i2c(uint8_t command);
+
+ /**
+ * Reads raw word via I2C bone.
+ *
+ * @param command - given command to be read.
+ * @return read word.
+ */
+ static int read_word_i2c(uint8_t command);
+};
+
+#endif // LIGHT_DETECTOR_SENSOR_H
diff --git a/Core/External/State/state.cpp b/Core/External/State/state.cpp
new file mode 100644
index 0000000..0b35ad0
--- /dev/null
+++ b/Core/External/State/state.cpp
@@ -0,0 +1,33 @@
+#include "state.h"
+
+int State::amount_of_processed_requests = 0;
+
+int State::current_response_nonce = 0;
+
+Mutex State::button_mutex = Mutex();
+
+Sequence> State::task_sequence =
+ Sequence>();
+
+Sequence State::request_container_sequence =
+ Sequence();
+
+int State::get_amount_of_processed_requests() {
+ return amount_of_processed_requests;
+};
+
+int State::allocate_response_nonce() {
+ return current_response_nonce++;
+}
+
+Mutex& State::get_button_mutex() {
+ return button_mutex;
+}
+
+Sequence>& State::get_task_sequence() {
+ return task_sequence;
+}
+
+Sequence& State::get_request_container_sequence() {
+ return request_container_sequence;
+}
\ No newline at end of file
diff --git a/Core/External/State/state.h b/Core/External/State/state.h
new file mode 100644
index 0000000..e23d76a
--- /dev/null
+++ b/Core/External/State/state.h
@@ -0,0 +1,77 @@
+#ifndef LIGHT_DETECTOR_STATE_H
+#define LIGHT_DETECTOR_STATE_H
+
+#include "request.h"
+#include "mutex.h"
+#include "sequence.h"
+
+#include
+
+/**
+ * Represents device state handler.
+ */
+class State {
+public:
+ /**
+ * Retrieves amount of processed events.
+ *
+ * @return amount of processed events.
+ */
+ static int get_amount_of_processed_requests();
+
+ /**
+ * Allocates new response nonce.
+ *
+ * @return allocated response nonce.
+ */
+ static int allocate_response_nonce();
+
+ /**
+ * Retrieves button mutex.
+ *
+ * @return retrieved button mutex.
+ */
+ static Mutex& get_button_mutex();
+
+ /**
+ * Retrieves task sequence used to perform scheduled tasks execution.
+ *
+ * @return retrieved task sequence.
+ */
+ static Sequence>& get_task_sequence();
+
+ /**
+ * Retrieves request container sequence.
+ *
+ * @return retrieved request container sequence.
+ */
+ static Sequence& get_request_container_sequence();
+
+private:
+ /**
+ * Represents amount of processed incoming requests.
+ */
+ static int amount_of_processed_requests;
+
+ /**
+ * Represents current(latest) response nonce.
+ */
+ static int current_response_nonce;
+
+ /**
+ * Represents button mutex used to manage pressed button operations invokation.
+ */
+ static Mutex button_mutex;
+
+ /**
+ * Represents scheduled tasks sequence.
+ */
+ static Sequence> task_sequence;
+
+ /**
+ * Represents sequence of request containers. Used for internal scheduler logic.
+ */
+ static Sequence request_container_sequence;
+};
+
+#endif //LIGHT_DETECTOR_STATE_H
diff --git a/Core/External/Tools/Indicator/indicator.cpp b/Core/External/Tools/Indicator/indicator.cpp
new file mode 100644
index 0000000..8c44ca0
--- /dev/null
+++ b/Core/External/Tools/Indicator/indicator.cpp
@@ -0,0 +1,55 @@
+#include "indicator.h"
+
+void Indicator::toggle_initialization_success() {
+ for (int i = 0; i < 4; i++) {
+ HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
+ HAL_Delay(1000);
+ }
+
+ HAL_Delay(2000);
+};
+
+void Indicator::toggle_initialization_failure() {
+ for (int i = 0; i < 4; i++) {
+ HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
+ HAL_Delay(200);
+ }
+
+ HAL_Delay(1000);
+};
+
+void Indicator::toggle_action_success() {
+ for (int i = 0; i < 4; i++) {
+ HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
+ HAL_Delay(1000);
+ }
+
+ HAL_Delay(2000);
+};
+
+void Indicator::toggle_action_failure() {
+ for (int i = 0; i < 4; i++) {
+ HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
+ HAL_Delay(200);
+ }
+
+ HAL_Delay(1000);
+};
+
+void Indicator::toggle_invalid_request() {
+ for (int i = 0; i < 3; i++) {
+ HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
+ HAL_Delay(500);
+ }
+
+ HAL_Delay(1000);
+}
+
+void Indicator::toggle_invalid_response() {
+ for (int i = 0; i < 3; i++) {
+ HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
+ HAL_Delay(900);
+ }
+
+ HAL_Delay(2000);
+}
\ No newline at end of file
diff --git a/Core/External/Tools/Indicator/indicator.h b/Core/External/Tools/Indicator/indicator.h
new file mode 100644
index 0000000..f5692b8
--- /dev/null
+++ b/Core/External/Tools/Indicator/indicator.h
@@ -0,0 +1,42 @@
+#ifndef LIGHT_DETECTOR_INDICATOR_H
+#define LIGHT_DETECTOR_INDICATOR_H
+
+#include "gpio.h"
+
+/**
+ * Represents indicator state machine.
+ */
+class Indicator {
+public:
+ /**
+ * Indicated initialization process success.
+ */
+ static void toggle_initialization_success();
+
+ /**
+ * Indicated initialization process failure.
+ */
+ static void toggle_initialization_failure();
+
+ /**
+ * Indicated operation action success.
+ */
+ static void toggle_action_success();
+
+ /**
+ * Indicated operation action failure.
+ */
+ static void toggle_action_failure();
+
+ /**
+ * Indicated invalid incoming request.
+ */
+ static void toggle_invalid_request();
+
+ /**
+ * Indicated invalid outcoming response.
+ */
+ static void toggle_invalid_response();
+};
+
+#endif //LIGHT_DETECTOR_INDICATOR_H
diff --git a/Core/External/Tools/Mutex/mutex.cpp b/Core/External/Tools/Mutex/mutex.cpp
new file mode 100644
index 0000000..945db3a
--- /dev/null
+++ b/Core/External/Tools/Mutex/mutex.cpp
@@ -0,0 +1,13 @@
+#include "mutex.h"
+
+void Mutex::lock() {
+ locked = true;
+}
+
+void Mutex::unlock() {
+ locked = false;
+}
+
+bool Mutex::is_locked() const {
+ return locked;
+}
\ No newline at end of file
diff --git a/Core/External/Tools/Mutex/mutex.h b/Core/External/Tools/Mutex/mutex.h
new file mode 100644
index 0000000..4925e89
--- /dev/null
+++ b/Core/External/Tools/Mutex/mutex.h
@@ -0,0 +1,32 @@
+#ifndef LIGHT_DETECTOR_MUTEX_H
+#define LIGHT_DETECTOR_MUTEX_H
+
+/**
+ * Represents mutex thread-safe implementation. Due to STM32 limitations, mutex represents simple state machine.
+ */
+class Mutex {
+public:
+ /**
+ * Locks mutex state.
+ */
+ void lock();
+
+ /**
+ * Unlocks mutex state.
+ */
+ void unlock();
+
+ /**
+ * Retrieves current state of the mutex.
+ *
+ * @return retrieved state of the mutex.
+ */
+ bool is_locked() const;
+private:
+ /**
+ * Represents current state of the mutex.
+ */
+ bool locked;
+};
+
+#endif //LIGHT_DETECTOR_MUTEX_H
diff --git a/Core/External/Tools/Sequence/sequence.cpp b/Core/External/Tools/Sequence/sequence.cpp
new file mode 100644
index 0000000..f15a2a8
--- /dev/null
+++ b/Core/External/Tools/Sequence/sequence.cpp
@@ -0,0 +1,46 @@
+#include "sequence.h"
+
+template
+int Sequence::traverse_with_break(std::function callback) {
+ while (!sequence.empty()) {
+ if (callback(sequence.front()) != EXIT_SUCCESS) {
+ return EXIT_FAILURE;
+ }
+
+ sequence.pop();
+ }
+
+ return EXIT_SUCCESS;
+}
+
+template
+void Sequence::traverse_with_skip(std::function callback) {
+ std::queue vacated_queue;
+
+ while (!sequence.empty()) {
+ if (callback(sequence.front()) != EXIT_SUCCESS) {
+ vacated_queue.push(sequence.front());
+ }
+
+ sequence.pop();
+ }
+
+ while (!vacated_queue.empty()) {
+ sequence.push(vacated_queue.front());
+
+ vacated_queue.pop();
+ }
+}
+
+template
+void Sequence::add(T src) {
+ sequence.push(src);
+}
+
+template
+bool Sequence::is_empty() {
+ return sequence.empty();
+}
+
+template class Sequence;
+template class Sequence>;
\ No newline at end of file
diff --git a/Core/External/Tools/Sequence/sequence.h b/Core/External/Tools/Sequence/sequence.h
new file mode 100644
index 0000000..28ba88d
--- /dev/null
+++ b/Core/External/Tools/Sequence/sequence.h
@@ -0,0 +1,54 @@
+#ifndef LIGHT_DETECTOR_SEQUENCE_H
+#define LIGHT_DETECTOR_SEQUENCE_H
+
+#include
+#include
+#include
+
+#include "stm32l4xx_hal.h"
+
+#include "request.h"
+
+/**
+ * Represents sequence wrapper implementation.
+ *
+ * @tparam T given type of the content for sequence.
+ */
+template
+class Sequence {
+public:
+ /**
+ * Iterates over all available content and removes it from the sequence. If error occurs, then the execution
+ * is stopped and task is still present in the loop.
+ *
+ * @param callback - given callback to be called for each iteration.
+ * @return status of the performed operation.
+ */
+ int traverse_with_break(std::function callback);
+
+ /**
+ * Iterates over all available content and removes it from the sequence. If error occurs, then the execution is skipped
+ * and task is still present in the loop.
+ *
+ * @param callback - given callback to be called for each iteration.
+ */
+ void traverse_with_skip(std::function callback);
+
+ /**
+ * Adds new value to the sequence.
+ *
+ * @param src - given value to be added to the sequence.
+ */
+ void add(T src);
+
+ /**
+ * Checks if the sequence is empty.
+ *
+ * @return result of the check.
+ */
+ bool is_empty();
+private:
+ std::queue sequence;
+};
+
+#endif //LIGHT_DETECTOR_SEQUENCE_H
diff --git a/Core/Inc/dev_config.h b/Core/Inc/dev_config.h
deleted file mode 100644
index 0243922..0000000
--- a/Core/Inc/dev_config.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _DEV_CONFIG_H_
-#define _DEV_CONFIG_H_
-/*****************************************************************************
- ------------------------------------------------------------------------
- |\\\ ///|
- |\\\ Hardware interface ///|
- ------------------------------------------------------------------------
-*****************************************************************************/
-#include "main.h"
-
-#include
-#include
-#include
-
-#define DEV_SPI 0
-#define DEV_I2C 1
-/**
- * data
-**/
-#define UBYTE uint8_t
-#define UWORD uint16_t
-#define UDOUBLE uint32_t
-
-#define INT_PIN INT_GPIO_Port,INT_Pin
-
-/**
- * GPIO read and write
-**/
-#define DEV_Digital_Write(_pin, _value) HAL_GPIO_WritePin(_pin, _value == 0? GPIO_PIN_RESET:GPIO_PIN_SET)
-#define DEV_Digital_Read(_pin) HAL_GPIO_ReadPin(_pin)
-
-/*------------------------------------------------------------------------------------------------------*/
-uint8_t DEV_ModuleInit(I2C_HandleTypeDef *communicator);
-void DEV_ModuleExit(void);
-
-void DEV_I2C_Init(uint8_t Add);
-void I2C_Write_Byte(uint8_t Cmd, uint8_t value);
-int I2C_Read_Byte(uint8_t Cmd);
-int I2C_Read_Word(uint8_t Cmd);
-
-void DEV_GPIO_Mode(GPIO_TypeDef* GPIO_Port, UWORD Pin, UWORD mode);
-//void DEV_Digital_Write(UWORD Pin, UBYTE Value);
-//UBYTE DEV_Digital_Read(UWORD Pin);
-
-void DEV_Delay_ms(UDOUBLE xms);
-
-void DEV_SPI_WriteByte(UBYTE Value);
-void DEV_SPI_Write_nByte(uint8_t *pData, uint32_t Len);
-
-#endif
diff --git a/Core/Inc/dma.h b/Core/Inc/dma.h
new file mode 100644
index 0000000..2b6d6a6
--- /dev/null
+++ b/Core/Inc/dma.h
@@ -0,0 +1,53 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file dma.h
+ * @brief This file contains all the function prototypes for
+ * the dma.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __DMA_H__
+#define __DMA_H__
+
+#include "main.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* DMA memory to memory transfer handles -------------------------------------*/
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_DMA_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DMA_H__ */
+
diff --git a/Core/Inc/gpio.h b/Core/Inc/gpio.h
new file mode 100644
index 0000000..fa2ec1d
--- /dev/null
+++ b/Core/Inc/gpio.h
@@ -0,0 +1,50 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file gpio.h
+ * @brief This file contains all the function prototypes for
+ * the gpio.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __GPIO_H__
+#define __GPIO_H__
+
+#include "main.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_GPIO_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ GPIO_H__ */
+
diff --git a/Core/Inc/i2c.h b/Core/Inc/i2c.h
new file mode 100644
index 0000000..7d34595
--- /dev/null
+++ b/Core/Inc/i2c.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file i2c.h
+ * @brief This file contains all the function prototypes for
+ * the i2c.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __I2C_H__
+#define __I2C_H__
+
+#include "main.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_I2C1_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __I2C_H__ */
+
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
index 76c3557..15b7880 100644
--- a/Core/Inc/main.h
+++ b/Core/Inc/main.h
@@ -22,6 +22,9 @@
#ifndef __MAIN_H
#define __MAIN_H
+#include "scheduler.h"
+#include "state.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -47,9 +50,6 @@ extern "C" {
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
-#define INT_Pin GPIO_PIN_9
-#define INT_GPIO_Port GPIOA
-
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
diff --git a/Core/Inc/stm32l4xx_hal_conf.h b/Core/Inc/stm32l4xx_hal_conf.h
index e2720e4..85f399c 100644
--- a/Core/Inc/stm32l4xx_hal_conf.h
+++ b/Core/Inc/stm32l4xx_hal_conf.h
@@ -77,7 +77,7 @@
/*#define HAL_SPI_MODULE_ENABLED */
/*#define HAL_SRAM_MODULE_ENABLED */
/*#define HAL_SWPMI_MODULE_ENABLED */
-/*#define HAL_TIM_MODULE_ENABLED */
+#define HAL_TIM_MODULE_ENABLED
/*#define HAL_TSC_MODULE_ENABLED */
#define HAL_UART_MODULE_ENABLED
/*#define HAL_USART_MODULE_ENABLED */
diff --git a/Core/Inc/stm32l4xx_it.h b/Core/Inc/stm32l4xx_it.h
index 4c7b554..a74a632 100644
--- a/Core/Inc/stm32l4xx_it.h
+++ b/Core/Inc/stm32l4xx_it.h
@@ -57,8 +57,10 @@ void PendSV_Handler(void);
void SysTick_Handler(void);
void DMA1_Channel6_IRQHandler(void);
void DMA1_Channel7_IRQHandler(void);
+void TIM1_UP_TIM16_IRQHandler(void);
void I2C1_EV_IRQHandler(void);
void I2C1_ER_IRQHandler(void);
+void USART2_IRQHandler(void);
void EXTI15_10_IRQHandler(void);
/* USER CODE BEGIN EFP */
diff --git a/Core/Inc/tim.h b/Core/Inc/tim.h
new file mode 100644
index 0000000..b50c37c
--- /dev/null
+++ b/Core/Inc/tim.h
@@ -0,0 +1,53 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tim.h
+ * @brief This file contains all the function prototypes for
+ * the tim.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __TIM_H__
+#define __TIM_H__
+
+#include "main.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern TIM_HandleTypeDef htim16;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_TIM16_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TIM_H__ */
+
diff --git a/Core/Inc/tsl2591x.h b/Core/Inc/tsl2591x.h
deleted file mode 100644
index 8d645e0..0000000
--- a/Core/Inc/tsl2591x.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef _TSL2591_H_
-#define _TSL2591_H_
-
-#include "dev_config.h"
-
-#define TSL2591_ADDRESS (0x29)
-
-#define COMMAND_BIT (0xA0)
-//Register (0x00)
-#define ENABLE_REGISTER (0x00)
-#define ENABLE_POWERON (0x01)
-#define ENABLE_POWEROFF (0x00)
-#define ENABLE_AEN (0x02)
-#define ENABLE_AIEN (0x10)
-#define ENABLE_SAI (0x40)
-#define ENABLE_NPIEN (0x80)
-
-#define CONTROL_REGISTER (0x01)
-#define SRESET (0x80)
-//AGAIN
-#define LOW_AGAIN (0X00)//Low gain (1x)
-#define MEDIUM_AGAIN (0X10)//Medium gain (25x)
-#define HIGH_AGAIN (0X20)//High gain (428x)
-#define MAX_AGAIN (0x30)//Max gain (9876x)
-//ATIME
-#define ATIME_100MS (0x00)//100 millis MAX COUNT 36863
-#define ATIME_200MS (0x01)//200 millis MAX COUNT 65535
-#define ATIME_300MS (0x02)//300 millis
-#define ATIME_400MS (0x03)//400 millis
-#define ATIME_500MS (0x04)//500 millis
-#define ATIME_600MS (0x05)//600 millis
-
-#define AILTL_REGISTER (0x04)
-#define AILTH_REGISTER (0x05)
-#define AIHTL_REGISTER (0x06)
-#define AIHTH_REGISTER (0x07)
-#define NPAILTL_REGISTER (0x08)
-#define NPAILTH_REGISTER (0x09)
-#define NPAIHTL_REGISTER (0x0A)
-#define NPAIHTH_REGISTER (0x0B)
-
-#define PERSIST_REGISTER (0x0C)
-// Bits 3:0
-// 0000 Every ALS cycle generates an interrupt
-// 0001 Any value outside of threshold range
-// 0010 2 consecutive values out of range
-// 0011 3 consecutive values out of range
-// 0100 5 consecutive values out of range
-// 0101 10 consecutive values out of range
-// 0110 15 consecutive values out of range
-// 0111 20 consecutive values out of range
-// 1000 25 consecutive values out of range
-// 1001 30 consecutive values out of range
-// 1010 35 consecutive values out of range
-// 1011 40 consecutive values out of range
-// 1100 45 consecutive values out of range
-// 1101 50 consecutive values out of range
-// 1110 55 consecutive values out of range
-// 1111 60 consecutive values out of range
-
-#define ID_REGISTER (0x12)
-
-#define STATUS_REGISTER (0x13)#read only
-
-#define CHAN0_LOW (0x14)
-#define CHAN0_HIGH (0x15)
-#define CHAN1_LOW (0x16)
-#define CHAN1_HIGH (0x14)
-
-//LUX_DF GA * 53 GA is the Glass Attenuation factor
-#define LUX_DF (762.0)
-// LUX_DF 408.0
-#define MAX_COUNT_100MS (36863) // 0x8FFF
-#define MAX_COUNT (65535) // 0xFFFF
-
-/***********************************************************************************/
-UBYTE TSL2591_Init(void);
-UWORD TSL2591_Read_Lux(void);
-void TSL2591_SET_InterruptThreshold(UWORD SET_LOW, UWORD SET_HIGH);
-void TSL2591_SET_LuxInterrupt(UWORD SET_LOW, UWORD SET_HIGH);
-
-#endif
diff --git a/Core/Inc/usart.h b/Core/Inc/usart.h
new file mode 100644
index 0000000..e722c5f
--- /dev/null
+++ b/Core/Inc/usart.h
@@ -0,0 +1,51 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file usart.h
+ * @brief This file contains all the function prototypes for
+ * the usart.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USART_H__
+#define __USART_H__
+
+#include "main.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_USART2_UART_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USART_H__ */
+
diff --git a/Core/Src/dev_config.c b/Core/Src/dev_config.c
deleted file mode 100644
index 5d4f280..0000000
--- a/Core/Src/dev_config.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*****************************************************************************
-* | File : DEV_Config.c
-* | Author : Waveshare team
-* | Function : Hardware underlying interface
-* | Info :
-*----------------
-* | This version: V1.0
-* | Date : 2019-09-17
-* | Info : Basic version
-*
-******************************************************************************/
-#include "DEV_Config.h"
-
-I2C_HandleTypeDef *h2c1;
-uint8_t DEV_SPI_Device = 0, DEV_I2C_Device = 0;
-uint8_t I2C_ADDR;
-/******************************************************************************
-function: GPIO Function initialization and transfer
-parameter:
-Info:
-******************************************************************************/
-void DEV_GPIO_Mode(GPIO_TypeDef* GPIO_Port, UWORD Pin, UWORD mode)
-{
- /*
- 0: INPT
- 1: OUTP
- */
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- GPIO_InitStruct.Pin = Pin;
- if(mode == GPIO_MODE_INPUT || mode == 0){
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- }else if(mode == GPIO_MODE_OUTPUT_PP || mode == 1){
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- }else{
- GPIO_InitStruct.Mode = mode;
- }
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIO_Port, &GPIO_InitStruct);
-}
-
-
-/**
- * delay x ms
-**/
-void DEV_Delay_ms(UDOUBLE xms)
-{
- HAL_Delay(xms);
-}
-
-
-void GPIO_Config(void)
-{
- //DEV_GPIO_Mode(INT_PIN, 0);
-}
-
-/******************************************************************************
-function: SPI Function initialization and transfer
-parameter:
-Info:
-******************************************************************************/
-void DEV_SPI_Init()
-{
-#if DEV_SPI
- DEV_SPI_Device = 1;
-#endif
-}
-
-void DEV_SPI_WriteByte(uint8_t Value)
-{
-#if DEV_SPI
-
-#endif
-}
-
-void DEV_SPI_Write_nByte(uint8_t *pData, uint32_t Len)
-{
-#if DEV_SPI
-
-#endif
-}
-/******************************************************************************
-function: I2C Function initialization and transfer
-parameter:
-Info:
-******************************************************************************/
-void DEV_I2C_Init(uint8_t Add)
-{
-#if DEV_I2C
- DEV_I2C_Device = 1;
- I2C_ADDR = Add;
-#endif
-}
-
-void I2C_Write_Byte(uint8_t Cmd, uint8_t value)
-{
-#if DEV_I2C
- UBYTE Buf[1] = {0};
- Buf[0] = value;
- HAL_I2C_Mem_Write(h2c1, I2C_ADDR, Cmd, I2C_MEMADD_SIZE_8BIT, Buf, 1, 0x20);
-#endif
-}
-
-int I2C_Read_Byte(uint8_t Cmd)
-{
-#if DEV_I2C
- UBYTE Buf[1]={0};
- HAL_I2C_Mem_Read(h2c1, I2C_ADDR+1, Cmd, I2C_MEMADD_SIZE_8BIT, Buf, 1, 0x20);
- return Buf[0];
-#endif
-}
-
-int I2C_Read_Word(uint8_t Cmd)
-{
-#if DEV_I2C
- UBYTE Buf[2]={0, 0};
- HAL_I2C_Mem_Read(h2c1, I2C_ADDR+1, Cmd, I2C_MEMADD_SIZE_8BIT, Buf, 2, 0x20);
- return ((Buf[1] << 8) | (Buf[0] & 0xff));
-#endif
-}
-/******************************************************************************
-function: Module Initialize, the library and initialize the pins, SPI protocol
-parameter:
-Info:
-******************************************************************************/
-UBYTE DEV_ModuleInit(I2C_HandleTypeDef *communicator)
-{
- h2c1 = communicator;
- GPIO_Config();
- DEV_I2C_Init(0x29<<1);
- return 0;
-}
-
-/******************************************************************************
-function: Module exits, closes SPI and BCM2835 library
-parameter:
-Info:
-******************************************************************************/
-void DEV_ModuleExit(void)
-{
-
-}
-
diff --git a/Core/Src/dma.cpp b/Core/Src/dma.cpp
new file mode 100644
index 0000000..bfde087
--- /dev/null
+++ b/Core/Src/dma.cpp
@@ -0,0 +1,58 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file dma.c
+ * @brief This file provides code for the configuration
+ * of all the requested memory to memory DMA transfers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "dma.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure DMA */
+/*----------------------------------------------------------------------------*/
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/**
+ * Enable DMA controller clock
+ */
+void MX_DMA_Init(void)
+{
+
+ /* DMA controller clock enable */
+ __HAL_RCC_DMA1_CLK_ENABLE();
+
+ /* DMA interrupt init */
+ /* DMA1_Channel6_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
+ /* DMA1_Channel7_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
+
diff --git a/Core/Src/gpio.cpp b/Core/Src/gpio.cpp
new file mode 100644
index 0000000..af187c4
--- /dev/null
+++ b/Core/Src/gpio.cpp
@@ -0,0 +1,77 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file gpio.c
+ * @brief This file provides code for the configuration
+ * of all used GPIO pins.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "gpio.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure GPIO */
+/*----------------------------------------------------------------------------*/
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/** Configure pins as
+ * Analog
+ * Input
+ * Output
+ * EVENT_OUT
+ * EXTI
+*/
+void MX_GPIO_Init(void)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin : PC13 */
+ GPIO_InitStruct.Pin = GPIO_PIN_13;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PA5 */
+ GPIO_InitStruct.Pin = GPIO_PIN_5;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* EXTI interrupt init*/
+ HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
diff --git a/Core/Src/i2c.cpp b/Core/Src/i2c.cpp
new file mode 100644
index 0000000..990ac91
--- /dev/null
+++ b/Core/Src/i2c.cpp
@@ -0,0 +1,190 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file i2c.c
+ * @brief This file provides code for the configuration
+ * of the I2C instances.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "i2c.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+I2C_HandleTypeDef hi2c1;
+DMA_HandleTypeDef hdma_i2c1_rx;
+DMA_HandleTypeDef hdma_i2c1_tx;
+
+/* I2C1 init function */
+void MX_I2C1_Init(void)
+{
+
+ /* USER CODE BEGIN I2C1_Init 0 */
+
+ /* USER CODE END I2C1_Init 0 */
+
+ /* USER CODE BEGIN I2C1_Init 1 */
+
+ /* USER CODE END I2C1_Init 1 */
+ hi2c1.Instance = I2C1;
+ hi2c1.Init.Timing = 0x00000E14;
+ hi2c1.Init.OwnAddress1 = 0;
+ hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
+ hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
+ hi2c1.Init.OwnAddress2 = 0;
+ hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
+ hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
+ hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
+ if (HAL_I2C_Init(&hi2c1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Configure Analogue filter
+ */
+ if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Configure Digital filter
+ */
+ if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN I2C1_Init 2 */
+
+ /* USER CODE END I2C1_Init 2 */
+
+}
+
+void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ if(i2cHandle->Instance==I2C1)
+ {
+ /* USER CODE BEGIN I2C1_MspInit 0 */
+
+ /* USER CODE END I2C1_MspInit 0 */
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
+ PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ /**I2C1 GPIO Configuration
+ PB8 ------> I2C1_SCL
+ PB9 ------> I2C1_SDA
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* I2C1 clock enable */
+ __HAL_RCC_I2C1_CLK_ENABLE();
+
+ /* I2C1 DMA Init */
+ /* I2C1_RX Init */
+ hdma_i2c1_rx.Instance = DMA1_Channel7;
+ hdma_i2c1_rx.Init.Request = DMA_REQUEST_3;
+ hdma_i2c1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
+ hdma_i2c1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
+ hdma_i2c1_rx.Init.MemInc = DMA_MINC_ENABLE;
+ hdma_i2c1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
+ hdma_i2c1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
+ hdma_i2c1_rx.Init.Mode = DMA_NORMAL;
+ hdma_i2c1_rx.Init.Priority = DMA_PRIORITY_LOW;
+ if (HAL_DMA_Init(&hdma_i2c1_rx) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_LINKDMA(i2cHandle,hdmarx,hdma_i2c1_rx);
+
+ /* I2C1_TX Init */
+ hdma_i2c1_tx.Instance = DMA1_Channel6;
+ hdma_i2c1_tx.Init.Request = DMA_REQUEST_3;
+ hdma_i2c1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
+ hdma_i2c1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
+ hdma_i2c1_tx.Init.MemInc = DMA_MINC_ENABLE;
+ hdma_i2c1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
+ hdma_i2c1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
+ hdma_i2c1_tx.Init.Mode = DMA_NORMAL;
+ hdma_i2c1_tx.Init.Priority = DMA_PRIORITY_LOW;
+ if (HAL_DMA_Init(&hdma_i2c1_tx) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_LINKDMA(i2cHandle,hdmatx,hdma_i2c1_tx);
+
+ /* I2C1 interrupt Init */
+ HAL_NVIC_SetPriority(I2C1_EV_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(I2C1_EV_IRQn);
+ HAL_NVIC_SetPriority(I2C1_ER_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(I2C1_ER_IRQn);
+ /* USER CODE BEGIN I2C1_MspInit 1 */
+
+ /* USER CODE END I2C1_MspInit 1 */
+ }
+}
+
+void HAL_I2C_MspDeInit(I2C_HandleTypeDef* i2cHandle)
+{
+
+ if(i2cHandle->Instance==I2C1)
+ {
+ /* USER CODE BEGIN I2C1_MspDeInit 0 */
+
+ /* USER CODE END I2C1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_I2C1_CLK_DISABLE();
+
+ /**I2C1 GPIO Configuration
+ PB8 ------> I2C1_SCL
+ PB9 ------> I2C1_SDA
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_8);
+
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_9);
+
+ /* I2C1 DMA DeInit */
+ HAL_DMA_DeInit(i2cHandle->hdmarx);
+ HAL_DMA_DeInit(i2cHandle->hdmatx);
+
+ /* I2C1 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(I2C1_EV_IRQn);
+ HAL_NVIC_DisableIRQ(I2C1_ER_IRQn);
+ /* USER CODE BEGIN I2C1_MspDeInit 1 */
+
+ /* USER CODE END I2C1_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Core/Src/main.c b/Core/Src/main.c
deleted file mode 100644
index a994703..0000000
--- a/Core/Src/main.c
+++ /dev/null
@@ -1,357 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file : main.c
- * @brief : Main program body
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-
-/* Private includes ----------------------------------------------------------*/
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Private typedef -----------------------------------------------------------*/
-/* USER CODE BEGIN PTD */
-
-/* USER CODE END PTD */
-
-/* Private define ------------------------------------------------------------*/
-/* USER CODE BEGIN PD */
-
-/* USER CODE END PD */
-
-/* Private macro -------------------------------------------------------------*/
-/* USER CODE BEGIN PM */
-
-/* USER CODE END PM */
-
-/* Private variables ---------------------------------------------------------*/
-I2C_HandleTypeDef hi2c1;
-DMA_HandleTypeDef hdma_i2c1_rx;
-DMA_HandleTypeDef hdma_i2c1_tx;
-
-UART_HandleTypeDef huart2;
-
-/* USER CODE BEGIN PV */
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-void SystemClock_Config(void);
-static void MX_GPIO_Init(void);
-static void MX_DMA_Init(void);
-static void MX_I2C1_Init(void);
-static void MX_USART2_UART_Init(void);
-/* USER CODE BEGIN PFP */
-
-/* USER CODE END PFP */
-
-/* Private user code ---------------------------------------------------------*/
-/* USER CODE BEGIN 0 */
-
-void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
-{
- if(GPIO_Pin == GPIO_PIN_13) {
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
-
- const uint8_t test[] = "it works\n";
-
- HAL_UART_Transmit(&huart2, test, sizeof(test), 25);
-//
-// HAL_Delay(1000);
-//
-// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
- } else {
- __NOP();
- }
-}
-
-/* USER CODE END 0 */
-
-/**
- * @brief The application entry point.
- * @retval int
- */
-int main(void)
-{
- /* USER CODE BEGIN 1 */
-
- /* USER CODE END 1 */
-
- /* MCU Configuration--------------------------------------------------------*/
-
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
-
- /* USER CODE BEGIN Init */
-
- /* USER CODE END Init */
-
- /* Configure the system clock */
- SystemClock_Config();
-
- /* USER CODE BEGIN SysInit */
-
- /* USER CODE END SysInit */
-
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- MX_DMA_Init();
- MX_I2C1_Init();
- MX_USART2_UART_Init();
- /* USER CODE BEGIN 2 */
-
- GPIO_InitTypeDef GPIO_InitStruct;
-
- GPIO_InitStruct.Pin = GPIO_PIN_5;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* USER CODE END 2 */
-
- DEV_ModuleInit(&hi2c1);
-
- TSL2591_Init();
-
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- while (1)
- {
- /* USER CODE END WHILE */
-
- printf("Lux = %d\r\n",TSL2591_Read_Lux());
- TSL2591_SET_LuxInterrupt(50,200);
- printf("\r\n");
-
- /* USER CODE BEGIN 3 */
- }
- /* USER CODE END 3 */
-}
-
-/**
- * @brief System Clock Configuration
- * @retval None
- */
-void SystemClock_Config(void)
-{
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
-
- /** Configure the main internal regulator output voltage
- */
- if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK)
- {
- Error_Handler();
- }
-
- /** 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_6;
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
-
- /** Initializes the CPU, AHB and APB buses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_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();
- }
-}
-
-/**
- * @brief I2C1 Initialization Function
- * @param None
- * @retval None
- */
-static void MX_I2C1_Init(void)
-{
-
- /* USER CODE BEGIN I2C1_Init 0 */
-
- /* USER CODE END I2C1_Init 0 */
-
- /* USER CODE BEGIN I2C1_Init 1 */
-
- /* USER CODE END I2C1_Init 1 */
- hi2c1.Instance = I2C1;
- hi2c1.Init.Timing = 0x00000E14;
- hi2c1.Init.OwnAddress1 = 0;
- hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
- hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
- hi2c1.Init.OwnAddress2 = 0;
- hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
- hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
- hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
- if (HAL_I2C_Init(&hi2c1) != HAL_OK)
- {
- Error_Handler();
- }
-
- /** Configure Analogue filter
- */
- if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
- {
- Error_Handler();
- }
-
- /** Configure Digital filter
- */
- if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN I2C1_Init 2 */
-
- /* USER CODE END I2C1_Init 2 */
-
-}
-
-/**
- * @brief USART2 Initialization Function
- * @param None
- * @retval None
- */
-static void MX_USART2_UART_Init(void)
-{
-
- /* USER CODE BEGIN USART2_Init 0 */
-
- /* USER CODE END USART2_Init 0 */
-
- /* USER CODE BEGIN USART2_Init 1 */
-
- /* USER CODE END USART2_Init 1 */
- huart2.Instance = USART2;
- huart2.Init.BaudRate = 115200;
- huart2.Init.WordLength = UART_WORDLENGTH_8B;
- huart2.Init.StopBits = UART_STOPBITS_1;
- huart2.Init.Parity = UART_PARITY_NONE;
- huart2.Init.Mode = UART_MODE_TX_RX;
- huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- huart2.Init.OverSampling = UART_OVERSAMPLING_16;
- huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- if (HAL_UART_Init(&huart2) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN USART2_Init 2 */
-
- /* USER CODE END USART2_Init 2 */
-
-}
-
-/**
- * Enable DMA controller clock
- */
-static void MX_DMA_Init(void)
-{
-
- /* DMA controller clock enable */
- __HAL_RCC_DMA1_CLK_ENABLE();
-
- /* DMA interrupt init */
- /* DMA1_Channel6_IRQn interrupt configuration */
- HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
- /* DMA1_Channel7_IRQn interrupt configuration */
- HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn);
-
-}
-
-/**
- * @brief GPIO Initialization Function
- * @param None
- * @retval None
- */
-static void MX_GPIO_Init(void)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
-/* USER CODE BEGIN MX_GPIO_Init_1 */
-/* USER CODE END MX_GPIO_Init_1 */
-
- /* GPIO Ports Clock Enable */
- __HAL_RCC_GPIOC_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
- __HAL_RCC_GPIOB_CLK_ENABLE();
-
- /*Configure GPIO pin : PC13 */
- GPIO_InitStruct.Pin = GPIO_PIN_13;
- GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
-
- /* EXTI interrupt init*/
- HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
-
-/* USER CODE BEGIN MX_GPIO_Init_2 */
-/* USER CODE END MX_GPIO_Init_2 */
-}
-
-/* USER CODE BEGIN 4 */
-
-/* USER CODE END 4 */
-
-/**
- * @brief This function is executed in case of error occurrence.
- * @retval None
- */
-void Error_Handler(void)
-{
- /* USER CODE BEGIN Error_Handler_Debug */
- /* User can add his own implementation to report the HAL error return state */
- __disable_irq();
- while (1)
- {
- }
- /* USER CODE END Error_Handler_Debug */
-}
-
-#ifdef USE_FULL_ASSERT
-/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
-void assert_failed(uint8_t *file, uint32_t line)
-{
- /* USER CODE BEGIN 6 */
- /* User can add his own implementation to report the file name and line number,
- ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
- /* USER CODE END 6 */
-}
-#endif /* USE_FULL_ASSERT */
diff --git a/Core/Src/main.cpp b/Core/Src/main.cpp
new file mode 100644
index 0000000..a7b7ba9
--- /dev/null
+++ b/Core/Src/main.cpp
@@ -0,0 +1,216 @@
+/* USER CODE BEGIN Header */
+
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "dma.h"
+#include "i2c.h"
+#include "tim.h"
+#include "usart.h"
+#include "gpio.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config(void);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/**
+ * Represents timer callback.
+ *
+ * @param htim - incoming timer tick data.
+ */
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
+ HAL_TIM_Base_Stop_IT(&htim16);
+
+ if (htim == &htim16) {
+ Scheduler::schedule_tick();
+ } else {
+ __NOP();
+ }
+
+ HAL_TIM_Base_Start_IT(&htim16);
+}
+
+/**
+ * Represents button click callback.
+ *
+ * @param GPIO_Pin - incoming button click event data.
+ */
+void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
+ if (GPIO_Pin == GPIO_PIN_13) {
+ if (!State::get_button_mutex().is_locked()) {
+ State::get_button_mutex().lock();
+
+ Scheduler::schedule_status_check();
+ }
+ } else {
+ __NOP();
+ }
+}
+
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main(void) {
+ /* USER CODE BEGIN 1 */
+
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ MX_DMA_Init();
+ MX_I2C1_Init();
+ MX_USART2_UART_Init();
+ MX_TIM16_Init();
+ /* USER CODE BEGIN 2 */
+
+ /* USER CODE END 2 */
+
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+ while (1) {
+ if (!TSL2591X::is_configured()) {
+ if (TSL2591X::is_available()) {
+ TSL2591X::init();
+
+ Indicator::toggle_initialization_success();
+
+ HAL_TIM_Base_Start_IT(&htim16);
+ } else {
+ Indicator::toggle_initialization_failure();
+ }
+ } else {
+ State::get_task_sequence().traverse_with_skip([](const std::function &callback) -> int {
+ return callback();
+ });
+ }
+
+ /* USER CODE END WHILE */
+
+ /* USER CODE BEGIN 3 */
+ }
+ /* USER CODE END 3 */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void) {
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+
+ /** Configure the main internal regulator output voltage
+ */
+ if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK) {
+ Error_Handler();
+ }
+
+ /** 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_6;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
+ Error_Handler();
+ }
+
+ /** Initializes the CPU, AHB and APB buses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
+ | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_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();
+ }
+}
+
+/* USER CODE BEGIN 4 */
+
+/* USER CODE END 4 */
+
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void) {
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ __disable_irq();
+ while (1) {
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(uint8_t *file, uint32_t line)
+{
+ /* USER CODE BEGIN 6 */
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+ /* USER CODE END 6 */
+}
+#endif /* USE_FULL_ASSERT */
\ No newline at end of file
diff --git a/Core/Src/stm32l4xx_hal_msp.c b/Core/Src/stm32l4xx_hal_msp.c
deleted file mode 100644
index 4b15382..0000000
--- a/Core/Src/stm32l4xx_hal_msp.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32l4xx_hal_msp.c
- * @brief This file provides code for the MSP Initialization
- * and de-Initialization codes.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
-/* USER CODE END Header */
-
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-extern DMA_HandleTypeDef hdma_i2c1_rx;
-
-extern DMA_HandleTypeDef hdma_i2c1_tx;
-
-/* 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 */
-}
-
-/**
-* @brief I2C MSP Initialization
-* This function configures the hardware resources used in this example
-* @param hi2c: I2C handle pointer
-* @retval None
-*/
-void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
- if(hi2c->Instance==I2C1)
- {
- /* USER CODE BEGIN I2C1_MspInit 0 */
-
- /* USER CODE END I2C1_MspInit 0 */
-
- /** Initializes the peripherals clock
- */
- PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
- PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
- {
- Error_Handler();
- }
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- /**I2C1 GPIO Configuration
- PB8 ------> I2C1_SCL
- PB9 ------> I2C1_SDA
- */
- GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- /* Peripheral clock enable */
- __HAL_RCC_I2C1_CLK_ENABLE();
-
- /* I2C1 DMA Init */
- /* I2C1_RX Init */
- hdma_i2c1_rx.Instance = DMA1_Channel7;
- hdma_i2c1_rx.Init.Request = DMA_REQUEST_3;
- hdma_i2c1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
- hdma_i2c1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_i2c1_rx.Init.MemInc = DMA_MINC_ENABLE;
- hdma_i2c1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
- hdma_i2c1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
- hdma_i2c1_rx.Init.Mode = DMA_NORMAL;
- hdma_i2c1_rx.Init.Priority = DMA_PRIORITY_LOW;
- if (HAL_DMA_Init(&hdma_i2c1_rx) != HAL_OK)
- {
- Error_Handler();
- }
-
- __HAL_LINKDMA(hi2c,hdmarx,hdma_i2c1_rx);
-
- /* I2C1_TX Init */
- hdma_i2c1_tx.Instance = DMA1_Channel6;
- hdma_i2c1_tx.Init.Request = DMA_REQUEST_3;
- hdma_i2c1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
- hdma_i2c1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_i2c1_tx.Init.MemInc = DMA_MINC_ENABLE;
- hdma_i2c1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
- hdma_i2c1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
- hdma_i2c1_tx.Init.Mode = DMA_NORMAL;
- hdma_i2c1_tx.Init.Priority = DMA_PRIORITY_LOW;
- if (HAL_DMA_Init(&hdma_i2c1_tx) != HAL_OK)
- {
- Error_Handler();
- }
-
- __HAL_LINKDMA(hi2c,hdmatx,hdma_i2c1_tx);
-
- /* I2C1 interrupt Init */
- HAL_NVIC_SetPriority(I2C1_EV_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(I2C1_EV_IRQn);
- HAL_NVIC_SetPriority(I2C1_ER_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(I2C1_ER_IRQn);
- /* USER CODE BEGIN I2C1_MspInit 1 */
-
- /* USER CODE END I2C1_MspInit 1 */
- }
-
-}
-
-/**
-* @brief I2C MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param hi2c: I2C handle pointer
-* @retval None
-*/
-void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
-{
- if(hi2c->Instance==I2C1)
- {
- /* USER CODE BEGIN I2C1_MspDeInit 0 */
-
- /* USER CODE END I2C1_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_I2C1_CLK_DISABLE();
-
- /**I2C1 GPIO Configuration
- PB8 ------> I2C1_SCL
- PB9 ------> I2C1_SDA
- */
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_8);
-
- HAL_GPIO_DeInit(GPIOB, GPIO_PIN_9);
-
- /* I2C1 DMA DeInit */
- HAL_DMA_DeInit(hi2c->hdmarx);
- HAL_DMA_DeInit(hi2c->hdmatx);
-
- /* I2C1 interrupt DeInit */
- HAL_NVIC_DisableIRQ(I2C1_EV_IRQn);
- HAL_NVIC_DisableIRQ(I2C1_ER_IRQn);
- /* USER CODE BEGIN I2C1_MspDeInit 1 */
-
- /* USER CODE END I2C1_MspDeInit 1 */
- }
-
-}
-
-/**
-* @brief UART MSP Initialization
-* This function configures the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspInit(UART_HandleTypeDef* huart)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
- if(huart->Instance==USART2)
- {
- /* USER CODE BEGIN USART2_MspInit 0 */
-
- /* USER CODE END USART2_MspInit 0 */
-
- /** Initializes the peripherals clock
- */
- PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2;
- PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
- {
- Error_Handler();
- }
-
- /* Peripheral clock enable */
- __HAL_RCC_USART2_CLK_ENABLE();
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**USART2 GPIO Configuration
- PA2 ------> USART2_TX
- PA3 ------> USART2_RX
- */
- GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* USER CODE BEGIN USART2_MspInit 1 */
-
- /* USER CODE END USART2_MspInit 1 */
- }
-
-}
-
-/**
-* @brief UART MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
-{
- if(huart->Instance==USART2)
- {
- /* USER CODE BEGIN USART2_MspDeInit 0 */
-
- /* USER CODE END USART2_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_USART2_CLK_DISABLE();
-
- /**USART2 GPIO Configuration
- PA2 ------> USART2_TX
- PA3 ------> USART2_RX
- */
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
-
- /* USER CODE BEGIN USART2_MspDeInit 1 */
-
- /* USER CODE END USART2_MspDeInit 1 */
- }
-
-}
-
-/* USER CODE BEGIN 1 */
-
-/* USER CODE END 1 */
diff --git a/Core/Src/stm32l4xx_hal_msp.cpp b/Core/Src/stm32l4xx_hal_msp.cpp
new file mode 100644
index 0000000..f7a5980
--- /dev/null
+++ b/Core/Src/stm32l4xx_hal_msp.cpp
@@ -0,0 +1,82 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_hal_msp.c
+ * @brief This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* 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 */
diff --git a/Core/Src/stm32l4xx_it.c b/Core/Src/stm32l4xx_it.cpp
similarity index 87%
rename from Core/Src/stm32l4xx_it.c
rename to Core/Src/stm32l4xx_it.cpp
index b30fb82..63875b9 100644
--- a/Core/Src/stm32l4xx_it.c
+++ b/Core/Src/stm32l4xx_it.cpp
@@ -58,6 +58,8 @@
extern DMA_HandleTypeDef hdma_i2c1_rx;
extern DMA_HandleTypeDef hdma_i2c1_tx;
extern I2C_HandleTypeDef hi2c1;
+extern TIM_HandleTypeDef htim16;
+extern UART_HandleTypeDef huart2;
/* USER CODE BEGIN EV */
/* USER CODE END EV */
@@ -228,6 +230,20 @@ void DMA1_Channel7_IRQHandler(void)
/* USER CODE END DMA1_Channel7_IRQn 1 */
}
+/**
+ * @brief This function handles TIM1 update interrupt and TIM16 global interrupt.
+ */
+void TIM1_UP_TIM16_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM1_UP_TIM16_IRQn 0 */
+
+ /* USER CODE END TIM1_UP_TIM16_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim16);
+ /* USER CODE BEGIN TIM1_UP_TIM16_IRQn 1 */
+
+ /* USER CODE END TIM1_UP_TIM16_IRQn 1 */
+}
+
/**
* @brief This function handles I2C1 event interrupt.
*/
@@ -256,6 +272,20 @@ void I2C1_ER_IRQHandler(void)
/* USER CODE END I2C1_ER_IRQn 1 */
}
+/**
+ * @brief This function handles USART2 global interrupt.
+ */
+void USART2_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART2_IRQn 0 */
+
+ /* USER CODE END USART2_IRQn 0 */
+ HAL_UART_IRQHandler(&huart2);
+ /* USER CODE BEGIN USART2_IRQn 1 */
+
+ /* USER CODE END USART2_IRQn 1 */
+}
+
/**
* @brief This function handles EXTI line[15:10] interrupts.
*/
diff --git a/Core/Src/syscalls.c b/Core/Src/syscalls.c
deleted file mode 100644
index d190edf..0000000
--- a/Core/Src/syscalls.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- ******************************************************************************
- * @file syscalls.c
- * @author Auto-generated by STM32CubeIDE
- * @brief STM32CubeIDE Minimal System calls file
- *
- * For more information about which c-functions
- * need which of these lowlevel functions
- * please consult the Newlib libc-manual
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2020-2023 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
-
-/* Includes */
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-
-/* Variables */
-extern int __io_putchar(int ch) __attribute__((weak));
-extern int __io_getchar(void) __attribute__((weak));
-
-
-char *__env[1] = { 0 };
-char **environ = __env;
-
-
-/* Functions */
-void initialise_monitor_handles()
-{
-}
-
-int _getpid(void)
-{
- return 1;
-}
-
-int _kill(int pid, int sig)
-{
- (void)pid;
- (void)sig;
- errno = EINVAL;
- return -1;
-}
-
-void _exit (int status)
-{
- _kill(status, -1);
- while (1) {} /* Make sure we hang here */
-}
-
-__attribute__((weak)) int _read(int file, char *ptr, int len)
-{
- (void)file;
- int DataIdx;
-
- for (DataIdx = 0; DataIdx < len; DataIdx++)
- {
- *ptr++ = __io_getchar();
- }
-
- return len;
-}
-
-__attribute__((weak)) int _write(int file, char *ptr, int len)
-{
- (void)file;
- int DataIdx;
-
- for (DataIdx = 0; DataIdx < len; DataIdx++)
- {
- __io_putchar(*ptr++);
- }
- return len;
-}
-
-int _close(int file)
-{
- (void)file;
- return -1;
-}
-
-
-int _fstat(int file, struct stat *st)
-{
- (void)file;
- st->st_mode = S_IFCHR;
- return 0;
-}
-
-int _isatty(int file)
-{
- (void)file;
- return 1;
-}
-
-int _lseek(int file, int ptr, int dir)
-{
- (void)file;
- (void)ptr;
- (void)dir;
- return 0;
-}
-
-int _open(char *path, int flags, ...)
-{
- (void)path;
- (void)flags;
- /* Pretend like we always fail */
- return -1;
-}
-
-int _wait(int *status)
-{
- (void)status;
- errno = ECHILD;
- return -1;
-}
-
-int _unlink(char *name)
-{
- (void)name;
- errno = ENOENT;
- return -1;
-}
-
-int _times(struct tms *buf)
-{
- (void)buf;
- return -1;
-}
-
-int _stat(char *file, struct stat *st)
-{
- (void)file;
- st->st_mode = S_IFCHR;
- return 0;
-}
-
-int _link(char *old, char *new)
-{
- (void)old;
- (void)new;
- errno = EMLINK;
- return -1;
-}
-
-int _fork(void)
-{
- errno = EAGAIN;
- return -1;
-}
-
-int _execve(char *name, char **argv, char **env)
-{
- (void)name;
- (void)argv;
- (void)env;
- errno = ENOMEM;
- return -1;
-}
diff --git a/Core/Src/sysmem.c b/Core/Src/sysmem.c
deleted file mode 100644
index 921ecef..0000000
--- a/Core/Src/sysmem.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- ******************************************************************************
- * @file sysmem.c
- * @author Generated by STM32CubeIDE
- * @brief STM32CubeIDE System Memory calls file
- *
- * For more information about which C functions
- * need which of these lowlevel functions
- * please consult the newlib libc manual
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2023 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
-
-/* Includes */
-#include
-#include
-
-/**
- * Pointer to the current high watermark of the heap usage
- */
-static uint8_t *__sbrk_heap_end = NULL;
-
-/**
- * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
- * and others from the C library
- *
- * @verbatim
- * ############################################################################
- * # .data # .bss # newlib heap # MSP stack #
- * # # # # Reserved by _Min_Stack_Size #
- * ############################################################################
- * ^-- RAM start ^-- _end _estack, RAM end --^
- * @endverbatim
- *
- * This implementation starts allocating at the '_end' linker symbol
- * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
- * The implementation considers '_estack' linker symbol to be RAM end
- * NOTE: If the MSP stack, at any point during execution, grows larger than the
- * reserved size, please increase the '_Min_Stack_Size'.
- *
- * @param incr Memory size
- * @return Pointer to allocated memory
- */
-void *_sbrk(ptrdiff_t incr)
-{
- extern uint8_t _end; /* Symbol defined in the linker script */
- extern uint8_t _estack; /* Symbol defined in the linker script */
- extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
- const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
- const uint8_t *max_heap = (uint8_t *)stack_limit;
- uint8_t *prev_heap_end;
-
- /* Initialize heap end at first call */
- if (NULL == __sbrk_heap_end)
- {
- __sbrk_heap_end = &_end;
- }
-
- /* Protect heap from growing into the reserved MSP stack */
- if (__sbrk_heap_end + incr > max_heap)
- {
- errno = ENOMEM;
- return (void *)-1;
- }
-
- prev_heap_end = __sbrk_heap_end;
- __sbrk_heap_end += incr;
-
- return (void *)prev_heap_end;
-}
diff --git a/Core/Src/system_stm32l4xx.c b/Core/Src/system_stm32l4xx.cpp
similarity index 100%
rename from Core/Src/system_stm32l4xx.c
rename to Core/Src/system_stm32l4xx.cpp
diff --git a/Core/Src/tim.cpp b/Core/Src/tim.cpp
new file mode 100644
index 0000000..9f616f5
--- /dev/null
+++ b/Core/Src/tim.cpp
@@ -0,0 +1,98 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tim.c
+ * @brief This file provides code for the configuration
+ * of the TIM instances.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "tim.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+TIM_HandleTypeDef htim16;
+
+/* TIM16 init function */
+void MX_TIM16_Init(void)
+{
+
+ /* USER CODE BEGIN TIM16_Init 0 */
+
+ /* USER CODE END TIM16_Init 0 */
+
+ /* USER CODE BEGIN TIM16_Init 1 */
+
+ /* USER CODE END TIM16_Init 1 */
+ htim16.Instance = TIM16;
+ htim16.Init.Prescaler = 13;
+ htim16.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim16.Init.Period = 65535;
+ htim16.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim16.Init.RepetitionCounter = 0;
+ htim16.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ if (HAL_TIM_Base_Init(&htim16) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN TIM16_Init 2 */
+
+ /* USER CODE END TIM16_Init 2 */
+
+}
+
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
+{
+
+ if(tim_baseHandle->Instance==TIM16)
+ {
+ /* USER CODE BEGIN TIM16_MspInit 0 */
+
+ /* USER CODE END TIM16_MspInit 0 */
+ /* TIM16 clock enable */
+ __HAL_RCC_TIM16_CLK_ENABLE();
+
+ /* TIM16 interrupt Init */
+ HAL_NVIC_SetPriority(TIM1_UP_TIM16_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(TIM1_UP_TIM16_IRQn);
+ /* USER CODE BEGIN TIM16_MspInit 1 */
+
+ /* USER CODE END TIM16_MspInit 1 */
+ }
+}
+
+void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
+{
+
+ if(tim_baseHandle->Instance==TIM16)
+ {
+ /* USER CODE BEGIN TIM16_MspDeInit 0 */
+
+ /* USER CODE END TIM16_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM16_CLK_DISABLE();
+
+ /* TIM16 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(TIM1_UP_TIM16_IRQn);
+ /* USER CODE BEGIN TIM16_MspDeInit 1 */
+
+ /* USER CODE END TIM16_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Core/Src/tsl2591x.c b/Core/Src/tsl2591x.c
deleted file mode 100644
index 0de18b3..0000000
--- a/Core/Src/tsl2591x.c
+++ /dev/null
@@ -1,325 +0,0 @@
-/*****************************************************************************
-* | File : TSL2591.c
-* | Author : Waveshare team
-* | Function : TSL2591 driver
-* | Info :
-*----------------
-* | This version: V1.0
-* | Date : 2019-09-17
-* | Info : Basic version
-*
-******************************************************************************/
-#include "dev_config.h"
-#include "tsl2591x.h"
-
-UBYTE TSL2591_Gain, TSL2591_Time;
-/******************************************************************************
-function: Read one byte of data to TSL2591 via I2C
-parameter:
- Addr: Register address
-Info:
-******************************************************************************/
-static UBYTE TSL2591_Read_Byte(UBYTE Addr)
-{
- Addr = Addr | COMMAND_BIT;
- return I2C_Read_Byte(Addr);
-}
-
-/******************************************************************************
-function: Read one word of data to TSL2591 via I2C
-parameter:
- Addr: Register address
-Info:
-******************************************************************************/
-static UWORD TSL2591_Read_Word(UBYTE Addr)
-{
- Addr = Addr | COMMAND_BIT;
- return I2C_Read_Word(Addr);
-}
-
-/******************************************************************************
-function: Send one byte of data to TSL2591 via I2C
-parameter:
- Addr: Register address
- Value: Write to the value of the register
-Info:
-******************************************************************************/
-static void TSL2591_Write_Byte(UBYTE Addr, UBYTE Value)
-{
- Addr = Addr | COMMAND_BIT;
- I2C_Write_Byte(Addr, Value);
-}
-
-/******************************************************************************
-function: Enable TSL2591
-parameter:
-Info:
-******************************************************************************/
-void TSL2591_Enable(void)
-{
- TSL2591_Write_Byte(ENABLE_REGISTER, \
- ENABLE_AIEN | ENABLE_POWERON | ENABLE_AEN | ENABLE_NPIEN);
-}
-
-/******************************************************************************
-function: Disable TSL2591
-parameter:
-Info:
-******************************************************************************/
-void TSL2591_Disable(void)
-{
- TSL2591_Write_Byte(ENABLE_REGISTER, \
- ENABLE_POWEROFF);
-}
-
-/******************************************************************************
-function: Read TSL2591 gain
-parameter:
-Info:
-******************************************************************************/
-UBYTE TSL2591_Get_Gain(void)
-{
- /*************************************************
- LOW_AGAIN = (0X00) (1x)
- MEDIUM_AGAIN = (0X10) (25x)
- HIGH_AGAIN = (0X20) (428x)
- MAX_AGAIN = (0x30) (9876x)
- *************************************************/
- UBYTE data;
- data = TSL2591_Read_Byte(CONTROL_REGISTER);
- TSL2591_Gain = data & 0x30;
- return data & 0x30;
-}
-
-/******************************************************************************
-function: Set the TSL2591 gain
-parameter:
-Info:
-******************************************************************************/
-void TSL2591_Set_Gain(UBYTE Gain)
-{
- UBYTE control=0;
- if(Gain == LOW_AGAIN || Gain == MEDIUM_AGAIN \
- || Gain == HIGH_AGAIN || Gain == MAX_AGAIN){
- control = TSL2591_Read_Byte(CONTROL_REGISTER);
- control &= 0xCf; //0b11001111
- control |= Gain;
- TSL2591_Write_Byte(CONTROL_REGISTER, control);
- TSL2591_Gain = Gain;
- }else{
- printf("Gain Parameter Error\r\n");
- }
-}
-
-/******************************************************************************
-function: Get the TSL2591 Integral Time
-parameter:
-Info:
-******************************************************************************/
-UBYTE TSL2591_Get_IntegralTime()
-{
- UBYTE control=0;
- /************************************************************
- ATIME_100MS = (0x00) 100 millis MAX COUNT 36863
- ATIME_200MS = (0x01) 200 millis MAX COUNT 65535
- ATIME_300MS = (0x02) 300 millis MAX COUNT 65535
- ATIME_400MS = (0x03) 400 millis MAX COUNT 65535
- ATIME_500MS = (0x04) 500 millis MAX COUNT 65535
- ATIME_600MS = (0x05) 600 millis MAX COUNT 65535
- ************************************************************/
- control = TSL2591_Read_Byte(CONTROL_REGISTER);
- TSL2591_Time = control & 0x07;
- return control & 0x07; //0b00000111
-}
-
-/******************************************************************************
-function: Set the TSL2591 Integral Time
-parameter:
-Info:
-******************************************************************************/
-void TSL2591_Set_IntegralTime(UBYTE Time)
-{
- UBYTE control=0;
- if(Time < 0x06){
- control = TSL2591_Read_Byte(CONTROL_REGISTER);
- control &= 0xf8; //0b11111000
- control |= Time;
- TSL2591_Write_Byte(CONTROL_REGISTER, control);
- TSL2591_Time = Time;
- }else{
- printf("Integral Time Parameter Error\r\n");
- }
-}
-
-/******************************************************************************
-function: Read channel data
-parameter:
-Info:
-******************************************************************************/
-UWORD TSL2591_Read_Channel0(void)
-{
- return TSL2591_Read_Word(CHAN0_LOW);
-}
-
-UWORD TSL2591_Read_Channel1(void)
-{
- return TSL2591_Read_Word(CHAN1_LOW);
-}
-
-/******************************************************************************
-function: TSL2591 Initialization
-parameter:
-Info:
-******************************************************************************/
-UBYTE TSL2591_Init(void)
-{
- DEV_I2C_Init(TSL2591_ADDRESS<<1);//8-bit address
- printf("ID = 0x%X \r\n",TSL2591_Read_Byte(ID_REGISTER));
- TSL2591_Enable();
- TSL2591_Set_Gain(MEDIUM_AGAIN);//25X GAIN
- TSL2591_Set_IntegralTime(ATIME_200MS);//200ms Integration time
- TSL2591_Write_Byte(PERSIST_REGISTER, 0x01);//filter
- TSL2591_Disable();
- return 0;
-}
-
-/******************************************************************************
-function: Read TSL2591 data to convert to Lux value
-parameter:
-Info:
-******************************************************************************/
-UWORD TSL2591_Read_Lux(void)
-{
- UWORD atime, max_counts,channel_0,channel_1;
- TSL2591_Enable();
- for(UBYTE i=0; i= max_counts || channel_1 >= max_counts){
- gain_t = TSL2591_Get_Gain();
- if(gain_t != LOW_AGAIN){
- gain_t = ((gain_t>>4)-1)<<4;
- TSL2591_Set_Gain(gain_t);
- channel_0 = 0;
- channel_1 = 0;
- while(channel_0 <= 0 || channel_1 <=0){
- channel_0 = TSL2591_Read_Channel0();
- channel_1 = TSL2591_Read_Channel1();
- }
- DEV_Delay_ms(100);
- }else{
- printf("Numerical overflow!/r/n");
- return 0;
- }
- }
- double again;
- again = 1.0;
- if(TSL2591_Gain == MEDIUM_AGAIN){
- again = 25.0;
- }else if(TSL2591_Gain == HIGH_AGAIN){
- again = 428.0;
- }else if(TSL2591_Gain == MAX_AGAIN){
- again = 9876.0;
- }
- double Cpl;
- UWORD lux1,lux2=0;
-
- Cpl = (atime * again) / LUX_DF;
- lux1 = (int)((channel_0 - (2 * channel_1)) / Cpl);
- // lux2 = ((0.6 * channel_0) - (channel_1)) / Cpl;
- // This is a two segment lux equation where the first
- // segment (Lux1) covers fluorescent and incandescent light
- // and the second segment (Lux2) covers dimmed incandescent light
-
- if(lux1>lux2){
- return lux1;
- }else{
- return lux2;
- }
-}
-
-/******************************************************************************
-function: Set the TSL2591 interrupt
-parameter:
- SET_LOW : Interrupt low threshold
- SET_HIGH: Interrupt high threshold
-Info: Is the channel 0 AD data as a comparison
-******************************************************************************/
-void TSL2591_SET_InterruptThreshold(UWORD SET_LOW, UWORD SET_HIGH)
-{
- TSL2591_Enable();
- TSL2591_Write_Byte(AILTL_REGISTER, SET_LOW & 0xFF);
- TSL2591_Write_Byte(AILTH_REGISTER, SET_LOW >> 8);
-
- TSL2591_Write_Byte(AIHTL_REGISTER, SET_HIGH & 0xFF);
- TSL2591_Write_Byte(AIHTH_REGISTER, SET_HIGH >> 8);
-
- TSL2591_Write_Byte(NPAILTL_REGISTER, 0 );
- TSL2591_Write_Byte(NPAILTH_REGISTER, 0 );
-
- TSL2591_Write_Byte(NPAIHTL_REGISTER, 0xff );
- TSL2591_Write_Byte(NPAIHTH_REGISTER, 0xff );
- TSL2591_Disable();
-}
-
-/******************************************************************************
-function: Set the TSL2591 interrupt
-parameter:
- SET_LOW : Interrupt low threshold
- SET_HIGH: Interrupt high threshold
-Info: Based on Lux as a comparison
- Need to use the function TSL2591_Read_Lux() to update the data
-******************************************************************************/
-void TSL2591_SET_LuxInterrupt(UWORD SET_LOW, UWORD SET_HIGH)
-{
- double Cpl;
- double again;
- UWORD atime, channel_1;
- atime = 100 * TSL2591_Time + 100;
- again = 1.0;
- if(TSL2591_Gain == MEDIUM_AGAIN){
- again = 25.0;
- }else if(TSL2591_Gain == HIGH_AGAIN){
- again = 428.0;
- }else if(TSL2591_Gain == MAX_AGAIN){
- again = 9876.0;
- }
-
- Cpl = (atime * again) / LUX_DF;
- channel_1 = TSL2591_Read_Channel1();
-
- SET_HIGH = (int)(Cpl * SET_HIGH)+ 2*channel_1-1;
- SET_LOW = (int)(Cpl * SET_LOW)+ 2*channel_1+1;
-
- TSL2591_Enable();
- TSL2591_Write_Byte(AILTL_REGISTER, SET_LOW & 0xFF);
- TSL2591_Write_Byte(AILTH_REGISTER, SET_LOW >> 8);
-
- TSL2591_Write_Byte(AIHTL_REGISTER, SET_HIGH & 0xFF);
- TSL2591_Write_Byte(AIHTH_REGISTER, SET_HIGH >> 8);
-
- TSL2591_Write_Byte(NPAILTL_REGISTER, 0 );
- TSL2591_Write_Byte(NPAILTH_REGISTER, 0 );
-
- TSL2591_Write_Byte(NPAIHTL_REGISTER, 0xff );
- TSL2591_Write_Byte(NPAIHTH_REGISTER, 0xff );
- TSL2591_Disable();
-}
diff --git a/Core/Src/usart.cpp b/Core/Src/usart.cpp
new file mode 100644
index 0000000..6016419
--- /dev/null
+++ b/Core/Src/usart.cpp
@@ -0,0 +1,132 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file usart.c
+ * @brief This file provides code for the configuration
+ * of the USART instances.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "usart.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+UART_HandleTypeDef huart2;
+
+/* USART2 init function */
+
+void MX_USART2_UART_Init(void)
+{
+
+ /* USER CODE BEGIN USART2_Init 0 */
+
+ /* USER CODE END USART2_Init 0 */
+
+ /* USER CODE BEGIN USART2_Init 1 */
+
+ /* USER CODE END USART2_Init 1 */
+ huart2.Instance = USART2;
+ huart2.Init.BaudRate = 115200;
+ huart2.Init.WordLength = UART_WORDLENGTH_8B;
+ huart2.Init.StopBits = UART_STOPBITS_1;
+ huart2.Init.Parity = UART_PARITY_NONE;
+ huart2.Init.Mode = UART_MODE_TX_RX;
+ huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart2.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart2) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN USART2_Init 2 */
+
+ /* USER CODE END USART2_Init 2 */
+
+}
+
+void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ if(uartHandle->Instance==USART2)
+ {
+ /* USER CODE BEGIN USART2_MspInit 0 */
+
+ /* USER CODE END USART2_MspInit 0 */
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2;
+ PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /* USART2 clock enable */
+ __HAL_RCC_USART2_CLK_ENABLE();
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**USART2 GPIO Configuration
+ PA2 ------> USART2_TX
+ PA3 ------> USART2_RX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USART2 interrupt Init */
+ HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(USART2_IRQn);
+ /* USER CODE BEGIN USART2_MspInit 1 */
+
+ /* USER CODE END USART2_MspInit 1 */
+ }
+}
+
+void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
+{
+
+ if(uartHandle->Instance==USART2)
+ {
+ /* USER CODE BEGIN USART2_MspDeInit 0 */
+
+ /* USER CODE END USART2_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART2_CLK_DISABLE();
+
+ /**USART2 GPIO Configuration
+ PA2 ------> USART2_TX
+ PA3 ------> USART2_RX
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
+
+ /* USART2 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(USART2_IRQn);
+ /* USER CODE BEGIN USART2_MspDeInit 1 */
+
+ /* USER CODE END USART2_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Debug/Core/Src/dev_config.cyclo b/Debug/Core/Src/dev_config.cyclo
deleted file mode 100644
index 62aed97..0000000
--- a/Debug/Core/Src/dev_config.cyclo
+++ /dev/null
@@ -1,12 +0,0 @@
-../Core/Src/dev_config.c:22:6:DEV_GPIO_Mode 5
-../Core/Src/dev_config.c:45:6:DEV_Delay_ms 1
-../Core/Src/dev_config.c:51:6:GPIO_Config 1
-../Core/Src/dev_config.c:61:6:DEV_SPI_Init 1
-../Core/Src/dev_config.c:68:6:DEV_SPI_WriteByte 1
-../Core/Src/dev_config.c:75:6:DEV_SPI_Write_nByte 1
-../Core/Src/dev_config.c:86:6:DEV_I2C_Init 1
-../Core/Src/dev_config.c:94:6:I2C_Write_Byte 1
-../Core/Src/dev_config.c:103:5:I2C_Read_Byte 1
-../Core/Src/dev_config.c:112:5:I2C_Read_Word 1
-../Core/Src/dev_config.c:125:7:DEV_ModuleInit 1
-../Core/Src/dev_config.c:138:6:DEV_ModuleExit 1
diff --git a/Debug/Core/Src/dev_config.d b/Debug/Core/Src/dev_config.d
deleted file mode 100644
index 9bf1d19..0000000
--- a/Debug/Core/Src/dev_config.d
+++ /dev/null
@@ -1,59 +0,0 @@
-Core/Src/dev_config.o: ../Core/Src/dev_config.c ../Core/Inc/DEV_Config.h \
- ../Core/Inc/main.h ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Core/Inc/DEV_Config.h:
-../Core/Inc/main.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Core/Src/dev_config.o b/Debug/Core/Src/dev_config.o
deleted file mode 100644
index 82d2bbc..0000000
Binary files a/Debug/Core/Src/dev_config.o and /dev/null differ
diff --git a/Debug/Core/Src/dev_config.su b/Debug/Core/Src/dev_config.su
deleted file mode 100644
index 018993d..0000000
--- a/Debug/Core/Src/dev_config.su
+++ /dev/null
@@ -1,12 +0,0 @@
-../Core/Src/dev_config.c:22:6:DEV_GPIO_Mode 40 static
-../Core/Src/dev_config.c:45:6:DEV_Delay_ms 16 static
-../Core/Src/dev_config.c:51:6:GPIO_Config 4 static
-../Core/Src/dev_config.c:61:6:DEV_SPI_Init 4 static
-../Core/Src/dev_config.c:68:6:DEV_SPI_WriteByte 16 static
-../Core/Src/dev_config.c:75:6:DEV_SPI_Write_nByte 16 static
-../Core/Src/dev_config.c:86:6:DEV_I2C_Init 16 static
-../Core/Src/dev_config.c:94:6:I2C_Write_Byte 40 static
-../Core/Src/dev_config.c:103:5:I2C_Read_Byte 40 static
-../Core/Src/dev_config.c:112:5:I2C_Read_Word 40 static
-../Core/Src/dev_config.c:125:7:DEV_ModuleInit 16 static
-../Core/Src/dev_config.c:138:6:DEV_ModuleExit 4 static
diff --git a/Debug/Core/Src/main.cyclo b/Debug/Core/Src/main.cyclo
deleted file mode 100644
index 8d9b314..0000000
--- a/Debug/Core/Src/main.cyclo
+++ /dev/null
@@ -1,8 +0,0 @@
-../Core/Src/main.c:66:6:HAL_GPIO_EXTI_Callback 2
-../Core/Src/main.c:89:5:main 1
-../Core/Src/main.c:151:6:SystemClock_Config 4
-../Core/Src/main.c:196:13:MX_I2C1_Init 4
-../Core/Src/main.c:244:13:MX_USART2_UART_Init 2
-../Core/Src/main.c:277:13:MX_DMA_Init 1
-../Core/Src/main.c:298:13:MX_GPIO_Init 1
-../Core/Src/main.c:331:6:Error_Handler 1
diff --git a/Debug/Core/Src/main.d b/Debug/Core/Src/main.d
deleted file mode 100644
index 2af823a..0000000
--- a/Debug/Core/Src/main.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Core/Inc/main.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Core/Src/main.o b/Debug/Core/Src/main.o
deleted file mode 100644
index 4c88ba7..0000000
Binary files a/Debug/Core/Src/main.o and /dev/null differ
diff --git a/Debug/Core/Src/main.su b/Debug/Core/Src/main.su
deleted file mode 100644
index 790e386..0000000
--- a/Debug/Core/Src/main.su
+++ /dev/null
@@ -1,8 +0,0 @@
-../Core/Src/main.c:66:6:HAL_GPIO_EXTI_Callback 32 static,ignoring_inline_asm
-../Core/Src/main.c:89:5:main 32 static
-../Core/Src/main.c:151:6:SystemClock_Config 96 static
-../Core/Src/main.c:196:13:MX_I2C1_Init 8 static
-../Core/Src/main.c:244:13:MX_USART2_UART_Init 8 static
-../Core/Src/main.c:277:13:MX_DMA_Init 16 static
-../Core/Src/main.c:298:13:MX_GPIO_Init 40 static
-../Core/Src/main.c:331:6:Error_Handler 4 static,ignoring_inline_asm
diff --git a/Debug/Core/Src/stm32l4xx_hal_msp.cyclo b/Debug/Core/Src/stm32l4xx_hal_msp.cyclo
deleted file mode 100644
index 48951d9..0000000
--- a/Debug/Core/Src/stm32l4xx_hal_msp.cyclo
+++ /dev/null
@@ -1,5 +0,0 @@
-../Core/Src/stm32l4xx_hal_msp.c:67:6:HAL_MspInit 1
-../Core/Src/stm32l4xx_hal_msp.c:89:6:HAL_I2C_MspInit 5
-../Core/Src/stm32l4xx_hal_msp.c:176:6:HAL_I2C_MspDeInit 2
-../Core/Src/stm32l4xx_hal_msp.c:214:6:HAL_UART_MspInit 3
-../Core/Src/stm32l4xx_hal_msp.c:261:6:HAL_UART_MspDeInit 2
diff --git a/Debug/Core/Src/stm32l4xx_hal_msp.d b/Debug/Core/Src/stm32l4xx_hal_msp.d
deleted file mode 100644
index cc00219..0000000
--- a/Debug/Core/Src/stm32l4xx_hal_msp.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Core/Src/stm32l4xx_hal_msp.o: ../Core/Src/stm32l4xx_hal_msp.c \
- ../Core/Inc/main.h ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Core/Inc/main.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Core/Src/stm32l4xx_hal_msp.o b/Debug/Core/Src/stm32l4xx_hal_msp.o
deleted file mode 100644
index 9603e92..0000000
Binary files a/Debug/Core/Src/stm32l4xx_hal_msp.o and /dev/null differ
diff --git a/Debug/Core/Src/stm32l4xx_hal_msp.su b/Debug/Core/Src/stm32l4xx_hal_msp.su
deleted file mode 100644
index 241dfac..0000000
--- a/Debug/Core/Src/stm32l4xx_hal_msp.su
+++ /dev/null
@@ -1,5 +0,0 @@
-../Core/Src/stm32l4xx_hal_msp.c:67:6:HAL_MspInit 16 static
-../Core/Src/stm32l4xx_hal_msp.c:89:6:HAL_I2C_MspInit 184 static
-../Core/Src/stm32l4xx_hal_msp.c:176:6:HAL_I2C_MspDeInit 16 static
-../Core/Src/stm32l4xx_hal_msp.c:214:6:HAL_UART_MspInit 184 static
-../Core/Src/stm32l4xx_hal_msp.c:261:6:HAL_UART_MspDeInit 16 static
diff --git a/Debug/Core/Src/stm32l4xx_it.cyclo b/Debug/Core/Src/stm32l4xx_it.cyclo
deleted file mode 100644
index 4a1928d..0000000
--- a/Debug/Core/Src/stm32l4xx_it.cyclo
+++ /dev/null
@@ -1,14 +0,0 @@
-../Core/Src/stm32l4xx_it.c:71:6:NMI_Handler 1
-../Core/Src/stm32l4xx_it.c:86:6:HardFault_Handler 1
-../Core/Src/stm32l4xx_it.c:101:6:MemManage_Handler 1
-../Core/Src/stm32l4xx_it.c:116:6:BusFault_Handler 1
-../Core/Src/stm32l4xx_it.c:131:6:UsageFault_Handler 1
-../Core/Src/stm32l4xx_it.c:146:6:SVC_Handler 1
-../Core/Src/stm32l4xx_it.c:159:6:DebugMon_Handler 1
-../Core/Src/stm32l4xx_it.c:172:6:PendSV_Handler 1
-../Core/Src/stm32l4xx_it.c:185:6:SysTick_Handler 1
-../Core/Src/stm32l4xx_it.c:206:6:DMA1_Channel6_IRQHandler 1
-../Core/Src/stm32l4xx_it.c:220:6:DMA1_Channel7_IRQHandler 1
-../Core/Src/stm32l4xx_it.c:234:6:I2C1_EV_IRQHandler 1
-../Core/Src/stm32l4xx_it.c:248:6:I2C1_ER_IRQHandler 1
-../Core/Src/stm32l4xx_it.c:262:6:EXTI15_10_IRQHandler 1
diff --git a/Debug/Core/Src/stm32l4xx_it.d b/Debug/Core/Src/stm32l4xx_it.d
deleted file mode 100644
index 3bca37c..0000000
--- a/Debug/Core/Src/stm32l4xx_it.d
+++ /dev/null
@@ -1,60 +0,0 @@
-Core/Src/stm32l4xx_it.o: ../Core/Src/stm32l4xx_it.c ../Core/Inc/main.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h \
- ../Core/Inc/stm32l4xx_it.h
-../Core/Inc/main.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
-../Core/Inc/stm32l4xx_it.h:
diff --git a/Debug/Core/Src/stm32l4xx_it.o b/Debug/Core/Src/stm32l4xx_it.o
deleted file mode 100644
index 353a412..0000000
Binary files a/Debug/Core/Src/stm32l4xx_it.o and /dev/null differ
diff --git a/Debug/Core/Src/stm32l4xx_it.su b/Debug/Core/Src/stm32l4xx_it.su
deleted file mode 100644
index 4bc8d8d..0000000
--- a/Debug/Core/Src/stm32l4xx_it.su
+++ /dev/null
@@ -1,14 +0,0 @@
-../Core/Src/stm32l4xx_it.c:71:6:NMI_Handler 4 static
-../Core/Src/stm32l4xx_it.c:86:6:HardFault_Handler 4 static
-../Core/Src/stm32l4xx_it.c:101:6:MemManage_Handler 4 static
-../Core/Src/stm32l4xx_it.c:116:6:BusFault_Handler 4 static
-../Core/Src/stm32l4xx_it.c:131:6:UsageFault_Handler 4 static
-../Core/Src/stm32l4xx_it.c:146:6:SVC_Handler 4 static
-../Core/Src/stm32l4xx_it.c:159:6:DebugMon_Handler 4 static
-../Core/Src/stm32l4xx_it.c:172:6:PendSV_Handler 4 static
-../Core/Src/stm32l4xx_it.c:185:6:SysTick_Handler 8 static
-../Core/Src/stm32l4xx_it.c:206:6:DMA1_Channel6_IRQHandler 8 static
-../Core/Src/stm32l4xx_it.c:220:6:DMA1_Channel7_IRQHandler 8 static
-../Core/Src/stm32l4xx_it.c:234:6:I2C1_EV_IRQHandler 8 static
-../Core/Src/stm32l4xx_it.c:248:6:I2C1_ER_IRQHandler 8 static
-../Core/Src/stm32l4xx_it.c:262:6:EXTI15_10_IRQHandler 8 static
diff --git a/Debug/Core/Src/subdir.mk b/Debug/Core/Src/subdir.mk
deleted file mode 100644
index 8bd5eeb..0000000
--- a/Debug/Core/Src/subdir.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (11.3.rel1)
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-C_SRCS += \
-../Core/Src/dev_config.c \
-../Core/Src/main.c \
-../Core/Src/stm32l4xx_hal_msp.c \
-../Core/Src/stm32l4xx_it.c \
-../Core/Src/syscalls.c \
-../Core/Src/sysmem.c \
-../Core/Src/system_stm32l4xx.c \
-../Core/Src/tsl2591x.c
-
-C_DEPS += \
-./Core/Src/dev_config.d \
-./Core/Src/main.d \
-./Core/Src/stm32l4xx_hal_msp.d \
-./Core/Src/stm32l4xx_it.d \
-./Core/Src/syscalls.d \
-./Core/Src/sysmem.d \
-./Core/Src/system_stm32l4xx.d \
-./Core/Src/tsl2591x.d
-
-OBJS += \
-./Core/Src/dev_config.o \
-./Core/Src/main.o \
-./Core/Src/stm32l4xx_hal_msp.o \
-./Core/Src/stm32l4xx_it.o \
-./Core/Src/syscalls.o \
-./Core/Src/sysmem.o \
-./Core/Src/system_stm32l4xx.o \
-./Core/Src/tsl2591x.o
-
-
-# Each subdirectory must supply rules for building sources it contributes
-Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L476xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-
-clean: clean-Core-2f-Src
-
-clean-Core-2f-Src:
- -$(RM) ./Core/Src/dev_config.cyclo ./Core/Src/dev_config.d ./Core/Src/dev_config.o ./Core/Src/dev_config.su ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/stm32l4xx_hal_msp.cyclo ./Core/Src/stm32l4xx_hal_msp.d ./Core/Src/stm32l4xx_hal_msp.o ./Core/Src/stm32l4xx_hal_msp.su ./Core/Src/stm32l4xx_it.cyclo ./Core/Src/stm32l4xx_it.d ./Core/Src/stm32l4xx_it.o ./Core/Src/stm32l4xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32l4xx.cyclo ./Core/Src/system_stm32l4xx.d ./Core/Src/system_stm32l4xx.o ./Core/Src/system_stm32l4xx.su ./Core/Src/tsl2591x.cyclo ./Core/Src/tsl2591x.d ./Core/Src/tsl2591x.o ./Core/Src/tsl2591x.su
-
-.PHONY: clean-Core-2f-Src
-
diff --git a/Debug/Core/Src/syscalls.cyclo b/Debug/Core/Src/syscalls.cyclo
deleted file mode 100644
index 6cbfdd0..0000000
--- a/Debug/Core/Src/syscalls.cyclo
+++ /dev/null
@@ -1,18 +0,0 @@
-../Core/Src/syscalls.c:44:6:initialise_monitor_handles 1
-../Core/Src/syscalls.c:48:5:_getpid 1
-../Core/Src/syscalls.c:53:5:_kill 1
-../Core/Src/syscalls.c:61:6:_exit 1
-../Core/Src/syscalls.c:67:27:_read 2
-../Core/Src/syscalls.c:80:27:_write 2
-../Core/Src/syscalls.c:92:5:_close 1
-../Core/Src/syscalls.c:99:5:_fstat 1
-../Core/Src/syscalls.c:106:5:_isatty 1
-../Core/Src/syscalls.c:112:5:_lseek 1
-../Core/Src/syscalls.c:120:5:_open 1
-../Core/Src/syscalls.c:128:5:_wait 1
-../Core/Src/syscalls.c:135:5:_unlink 1
-../Core/Src/syscalls.c:142:5:_times 1
-../Core/Src/syscalls.c:148:5:_stat 1
-../Core/Src/syscalls.c:155:5:_link 1
-../Core/Src/syscalls.c:163:5:_fork 1
-../Core/Src/syscalls.c:169:5:_execve 1
diff --git a/Debug/Core/Src/syscalls.d b/Debug/Core/Src/syscalls.d
deleted file mode 100644
index 8667c70..0000000
--- a/Debug/Core/Src/syscalls.d
+++ /dev/null
@@ -1 +0,0 @@
-Core/Src/syscalls.o: ../Core/Src/syscalls.c
diff --git a/Debug/Core/Src/syscalls.o b/Debug/Core/Src/syscalls.o
deleted file mode 100644
index 55a04a6..0000000
Binary files a/Debug/Core/Src/syscalls.o and /dev/null differ
diff --git a/Debug/Core/Src/syscalls.su b/Debug/Core/Src/syscalls.su
deleted file mode 100644
index 50b547a..0000000
--- a/Debug/Core/Src/syscalls.su
+++ /dev/null
@@ -1,18 +0,0 @@
-../Core/Src/syscalls.c:44:6:initialise_monitor_handles 4 static
-../Core/Src/syscalls.c:48:5:_getpid 4 static
-../Core/Src/syscalls.c:53:5:_kill 16 static
-../Core/Src/syscalls.c:61:6:_exit 16 static
-../Core/Src/syscalls.c:67:27:_read 32 static
-../Core/Src/syscalls.c:80:27:_write 32 static
-../Core/Src/syscalls.c:92:5:_close 16 static
-../Core/Src/syscalls.c:99:5:_fstat 16 static
-../Core/Src/syscalls.c:106:5:_isatty 16 static
-../Core/Src/syscalls.c:112:5:_lseek 24 static
-../Core/Src/syscalls.c:120:5:_open 12 static
-../Core/Src/syscalls.c:128:5:_wait 16 static
-../Core/Src/syscalls.c:135:5:_unlink 16 static
-../Core/Src/syscalls.c:142:5:_times 16 static
-../Core/Src/syscalls.c:148:5:_stat 16 static
-../Core/Src/syscalls.c:155:5:_link 16 static
-../Core/Src/syscalls.c:163:5:_fork 8 static
-../Core/Src/syscalls.c:169:5:_execve 24 static
diff --git a/Debug/Core/Src/sysmem.cyclo b/Debug/Core/Src/sysmem.cyclo
deleted file mode 100644
index 0090c10..0000000
--- a/Debug/Core/Src/sysmem.cyclo
+++ /dev/null
@@ -1 +0,0 @@
-../Core/Src/sysmem.c:53:7:_sbrk 3
diff --git a/Debug/Core/Src/sysmem.d b/Debug/Core/Src/sysmem.d
deleted file mode 100644
index 74fecf9..0000000
--- a/Debug/Core/Src/sysmem.d
+++ /dev/null
@@ -1 +0,0 @@
-Core/Src/sysmem.o: ../Core/Src/sysmem.c
diff --git a/Debug/Core/Src/sysmem.o b/Debug/Core/Src/sysmem.o
deleted file mode 100644
index 624e0a7..0000000
Binary files a/Debug/Core/Src/sysmem.o and /dev/null differ
diff --git a/Debug/Core/Src/sysmem.su b/Debug/Core/Src/sysmem.su
deleted file mode 100644
index 12d5f17..0000000
--- a/Debug/Core/Src/sysmem.su
+++ /dev/null
@@ -1 +0,0 @@
-../Core/Src/sysmem.c:53:7:_sbrk 32 static
diff --git a/Debug/Core/Src/system_stm32l4xx.cyclo b/Debug/Core/Src/system_stm32l4xx.cyclo
deleted file mode 100644
index 7caaa04..0000000
--- a/Debug/Core/Src/system_stm32l4xx.cyclo
+++ /dev/null
@@ -1,2 +0,0 @@
-../Core/Src/system_stm32l4xx.c:197:6:SystemInit 1
-../Core/Src/system_stm32l4xx.c:251:6:SystemCoreClockUpdate 8
diff --git a/Debug/Core/Src/system_stm32l4xx.d b/Debug/Core/Src/system_stm32l4xx.d
deleted file mode 100644
index a18341a..0000000
--- a/Debug/Core/Src/system_stm32l4xx.d
+++ /dev/null
@@ -1,57 +0,0 @@
-Core/Src/system_stm32l4xx.o: ../Core/Src/system_stm32l4xx.c \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Core/Src/system_stm32l4xx.o b/Debug/Core/Src/system_stm32l4xx.o
deleted file mode 100644
index 91c1280..0000000
Binary files a/Debug/Core/Src/system_stm32l4xx.o and /dev/null differ
diff --git a/Debug/Core/Src/system_stm32l4xx.su b/Debug/Core/Src/system_stm32l4xx.su
deleted file mode 100644
index 20388ef..0000000
--- a/Debug/Core/Src/system_stm32l4xx.su
+++ /dev/null
@@ -1,2 +0,0 @@
-../Core/Src/system_stm32l4xx.c:197:6:SystemInit 4 static
-../Core/Src/system_stm32l4xx.c:251:6:SystemCoreClockUpdate 32 static
diff --git a/Debug/Core/Src/tsl2591x.cyclo b/Debug/Core/Src/tsl2591x.cyclo
deleted file mode 100644
index 8cdf1c9..0000000
--- a/Debug/Core/Src/tsl2591x.cyclo
+++ /dev/null
@@ -1,15 +0,0 @@
-../Core/Src/tsl2591x.c:22:14:TSL2591_Read_Byte 1
-../Core/Src/tsl2591x.c:34:14:TSL2591_Read_Word 1
-../Core/Src/tsl2591x.c:47:13:TSL2591_Write_Byte 1
-../Core/Src/tsl2591x.c:58:6:TSL2591_Enable 1
-../Core/Src/tsl2591x.c:69:6:TSL2591_Disable 1
-../Core/Src/tsl2591x.c:80:7:TSL2591_Get_Gain 1
-../Core/Src/tsl2591x.c:99:6:TSL2591_Set_Gain 5
-../Core/Src/tsl2591x.c:119:7:TSL2591_Get_IntegralTime 1
-../Core/Src/tsl2591x.c:140:6:TSL2591_Set_IntegralTime 2
-../Core/Src/tsl2591x.c:159:7:TSL2591_Read_Channel0 1
-../Core/Src/tsl2591x.c:164:7:TSL2591_Read_Channel1 1
-../Core/Src/tsl2591x.c:174:7:TSL2591_Init 1
-../Core/Src/tsl2591x.c:191:7:TSL2591_Read_Lux 13
-../Core/Src/tsl2591x.c:266:6:TSL2591_SET_InterruptThreshold 1
-../Core/Src/tsl2591x.c:291:6:TSL2591_SET_LuxInterrupt 4
diff --git a/Debug/Core/Src/tsl2591x.d b/Debug/Core/Src/tsl2591x.d
deleted file mode 100644
index 29e62dc..0000000
--- a/Debug/Core/Src/tsl2591x.d
+++ /dev/null
@@ -1,62 +0,0 @@
-Core/Src/tsl2591x.o: ../Core/Src/tsl2591x.c ../Core/Inc/dev_config.h \
- ../Core/Inc/main.h ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h \
- ../Core/Inc/tsl2591x.h ../Core/Inc/dev_config.h
-../Core/Inc/dev_config.h:
-../Core/Inc/main.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
-../Core/Inc/tsl2591x.h:
-../Core/Inc/dev_config.h:
diff --git a/Debug/Core/Src/tsl2591x.o b/Debug/Core/Src/tsl2591x.o
deleted file mode 100644
index 9bb100b..0000000
Binary files a/Debug/Core/Src/tsl2591x.o and /dev/null differ
diff --git a/Debug/Core/Src/tsl2591x.su b/Debug/Core/Src/tsl2591x.su
deleted file mode 100644
index 7e84ee2..0000000
--- a/Debug/Core/Src/tsl2591x.su
+++ /dev/null
@@ -1,15 +0,0 @@
-../Core/Src/tsl2591x.c:22:14:TSL2591_Read_Byte 16 static
-../Core/Src/tsl2591x.c:34:14:TSL2591_Read_Word 16 static
-../Core/Src/tsl2591x.c:47:13:TSL2591_Write_Byte 16 static
-../Core/Src/tsl2591x.c:58:6:TSL2591_Enable 8 static
-../Core/Src/tsl2591x.c:69:6:TSL2591_Disable 8 static
-../Core/Src/tsl2591x.c:80:7:TSL2591_Get_Gain 16 static
-../Core/Src/tsl2591x.c:99:6:TSL2591_Set_Gain 24 static
-../Core/Src/tsl2591x.c:119:7:TSL2591_Get_IntegralTime 16 static
-../Core/Src/tsl2591x.c:140:6:TSL2591_Set_IntegralTime 24 static
-../Core/Src/tsl2591x.c:159:7:TSL2591_Read_Channel0 8 static
-../Core/Src/tsl2591x.c:164:7:TSL2591_Read_Channel1 8 static
-../Core/Src/tsl2591x.c:174:7:TSL2591_Init 8 static
-../Core/Src/tsl2591x.c:191:7:TSL2591_Read_Lux 48 static
-../Core/Src/tsl2591x.c:266:6:TSL2591_SET_InterruptThreshold 16 static
-../Core/Src/tsl2591x.c:291:6:TSL2591_SET_LuxInterrupt 48 static
diff --git a/Debug/Core/Startup/startup_stm32l476rgtx.d b/Debug/Core/Startup/startup_stm32l476rgtx.d
deleted file mode 100644
index 09c6dc5..0000000
--- a/Debug/Core/Startup/startup_stm32l476rgtx.d
+++ /dev/null
@@ -1,2 +0,0 @@
-Core/Startup/startup_stm32l476rgtx.o: \
- ../Core/Startup/startup_stm32l476rgtx.s
diff --git a/Debug/Core/Startup/startup_stm32l476rgtx.o b/Debug/Core/Startup/startup_stm32l476rgtx.o
deleted file mode 100644
index 876fcb3..0000000
Binary files a/Debug/Core/Startup/startup_stm32l476rgtx.o and /dev/null differ
diff --git a/Debug/Core/Startup/subdir.mk b/Debug/Core/Startup/subdir.mk
deleted file mode 100644
index 7b95b93..0000000
--- a/Debug/Core/Startup/subdir.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (11.3.rel1)
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-S_SRCS += \
-../Core/Startup/startup_stm32l476rgtx.s
-
-S_DEPS += \
-./Core/Startup/startup_stm32l476rgtx.d
-
-OBJS += \
-./Core/Startup/startup_stm32l476rgtx.o
-
-
-# Each subdirectory must supply rules for building sources it contributes
-Core/Startup/%.o: ../Core/Startup/%.s Core/Startup/subdir.mk
- arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -DDEBUG -c -x assembler-with-cpp -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" "$<"
-
-clean: clean-Core-2f-Startup
-
-clean-Core-2f-Startup:
- -$(RM) ./Core/Startup/startup_stm32l476rgtx.d ./Core/Startup/startup_stm32l476rgtx.o
-
-.PHONY: clean-Core-2f-Startup
-
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.cyclo
deleted file mode 100644
index 7e352dd..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.cyclo
+++ /dev/null
@@ -1,35 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:152:19:HAL_Init 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:196:19:HAL_DeInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:225:13:HAL_MspInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:236:13:HAL_MspDeInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:259:26:HAL_InitTick 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:327:13:HAL_IncTick 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:338:17:HAL_GetTick 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:347:10:HAL_GetTickPrio 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:357:19:HAL_SetTickFreq 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:387:21:HAL_GetTickFreq 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:403:13:HAL_Delay 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:429:13:HAL_SuspendTick 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:445:13:HAL_ResumeTick 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:455:10:HAL_GetHalVersion 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:464:10:HAL_GetREVID 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:473:10:HAL_GetDEVID 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:482:10:HAL_GetUIDw0 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:491:10:HAL_GetUIDw1 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:500:10:HAL_GetUIDw2 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:529:6:HAL_DBGMCU_EnableDBGSleepMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:538:6:HAL_DBGMCU_DisableDBGSleepMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:547:6:HAL_DBGMCU_EnableDBGStopMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:556:6:HAL_DBGMCU_DisableDBGStopMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:565:6:HAL_DBGMCU_EnableDBGStandbyMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:574:6:HAL_DBGMCU_DisableDBGStandbyMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:607:6:HAL_SYSCFG_SRAM2Erase 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:626:6:HAL_SYSCFG_EnableMemorySwappingBank 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:641:6:HAL_SYSCFG_DisableMemorySwappingBank 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:658:6:HAL_SYSCFG_VREFBUF_VoltageScalingConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:674:6:HAL_SYSCFG_VREFBUF_HighImpedanceConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:686:6:HAL_SYSCFG_VREFBUF_TrimmingConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:698:19:HAL_SYSCFG_EnableVREFBUF 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:724:6:HAL_SYSCFG_DisableVREFBUF 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:735:6:HAL_SYSCFG_EnableIOAnalogSwitchBooster 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:745:6:HAL_SYSCFG_DisableIOAnalogSwitchBooster 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d
deleted file mode 100644
index 3eb8dc9..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o
deleted file mode 100644
index 03598db..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su
deleted file mode 100644
index 72d13ea..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su
+++ /dev/null
@@ -1,35 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:152:19:HAL_Init 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:196:19:HAL_DeInit 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:225:13:HAL_MspInit 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:236:13:HAL_MspDeInit 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:259:26:HAL_InitTick 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:327:13:HAL_IncTick 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:338:17:HAL_GetTick 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:347:10:HAL_GetTickPrio 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:357:19:HAL_SetTickFreq 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:387:21:HAL_GetTickFreq 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:403:13:HAL_Delay 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:429:13:HAL_SuspendTick 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:445:13:HAL_ResumeTick 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:455:10:HAL_GetHalVersion 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:464:10:HAL_GetREVID 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:473:10:HAL_GetDEVID 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:482:10:HAL_GetUIDw0 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:491:10:HAL_GetUIDw1 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:500:10:HAL_GetUIDw2 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:529:6:HAL_DBGMCU_EnableDBGSleepMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:538:6:HAL_DBGMCU_DisableDBGSleepMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:547:6:HAL_DBGMCU_EnableDBGStopMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:556:6:HAL_DBGMCU_DisableDBGStopMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:565:6:HAL_DBGMCU_EnableDBGStandbyMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:574:6:HAL_DBGMCU_DisableDBGStandbyMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:607:6:HAL_SYSCFG_SRAM2Erase 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:626:6:HAL_SYSCFG_EnableMemorySwappingBank 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:641:6:HAL_SYSCFG_DisableMemorySwappingBank 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:658:6:HAL_SYSCFG_VREFBUF_VoltageScalingConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:674:6:HAL_SYSCFG_VREFBUF_HighImpedanceConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:686:6:HAL_SYSCFG_VREFBUF_TrimmingConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:698:19:HAL_SYSCFG_EnableVREFBUF 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:724:6:HAL_SYSCFG_DisableVREFBUF 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:735:6:HAL_SYSCFG_EnableIOAnalogSwitchBooster 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c:745:6:HAL_SYSCFG_DisableIOAnalogSwitchBooster 4 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.cyclo
deleted file mode 100644
index e68f679..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.cyclo
+++ /dev/null
@@ -1,32 +0,0 @@
-../Drivers/CMSIS/Include/core_cm4.h:1648:22:__NVIC_SetPriorityGrouping 1
-../Drivers/CMSIS/Include/core_cm4.h:1667:26:__NVIC_GetPriorityGrouping 1
-../Drivers/CMSIS/Include/core_cm4.h:1679:22:__NVIC_EnableIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1717:22:__NVIC_DisableIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1736:26:__NVIC_GetPendingIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1755:22:__NVIC_SetPendingIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1770:22:__NVIC_ClearPendingIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1787:26:__NVIC_GetActive 2
-../Drivers/CMSIS/Include/core_cm4.h:1809:22:__NVIC_SetPriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1831:26:__NVIC_GetPriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1856:26:NVIC_EncodePriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1883:22:NVIC_DecodePriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1933:34:__NVIC_SystemReset 1
-../Drivers/CMSIS/Include/core_cm4.h:2017:26:SysTick_Config 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:163:6:HAL_NVIC_SetPriorityGrouping 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:185:6:HAL_NVIC_SetPriority 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:207:6:HAL_NVIC_EnableIRQ 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:223:6:HAL_NVIC_DisableIRQ 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:236:6:HAL_NVIC_SystemReset 0
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:249:10:HAL_SYSTICK_Config 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:277:10:HAL_NVIC_GetPriorityGrouping 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:304:6:HAL_NVIC_GetPriority 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:319:6:HAL_NVIC_SetPendingIRQ 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:337:10:HAL_NVIC_GetPendingIRQ 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:353:6:HAL_NVIC_ClearPendingIRQ 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:370:10:HAL_NVIC_GetActive 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:384:6:HAL_SYSTICK_CLKSourceConfig 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:402:6:HAL_SYSTICK_IRQHandler 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:411:13:HAL_SYSTICK_Callback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:430:6:HAL_MPU_Enable 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:445:6:HAL_MPU_Disable 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:461:6:HAL_MPU_ConfigRegion 2
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d
deleted file mode 100644
index 5679624..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o
deleted file mode 100644
index c192f4d..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su
deleted file mode 100644
index 62f5210..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su
+++ /dev/null
@@ -1,32 +0,0 @@
-../Drivers/CMSIS/Include/core_cm4.h:1648:22:__NVIC_SetPriorityGrouping 24 static
-../Drivers/CMSIS/Include/core_cm4.h:1667:26:__NVIC_GetPriorityGrouping 4 static
-../Drivers/CMSIS/Include/core_cm4.h:1679:22:__NVIC_EnableIRQ 16 static,ignoring_inline_asm
-../Drivers/CMSIS/Include/core_cm4.h:1717:22:__NVIC_DisableIRQ 16 static,ignoring_inline_asm
-../Drivers/CMSIS/Include/core_cm4.h:1736:26:__NVIC_GetPendingIRQ 16 static
-../Drivers/CMSIS/Include/core_cm4.h:1755:22:__NVIC_SetPendingIRQ 16 static
-../Drivers/CMSIS/Include/core_cm4.h:1770:22:__NVIC_ClearPendingIRQ 16 static
-../Drivers/CMSIS/Include/core_cm4.h:1787:26:__NVIC_GetActive 16 static
-../Drivers/CMSIS/Include/core_cm4.h:1809:22:__NVIC_SetPriority 16 static
-../Drivers/CMSIS/Include/core_cm4.h:1831:26:__NVIC_GetPriority 16 static
-../Drivers/CMSIS/Include/core_cm4.h:1856:26:NVIC_EncodePriority 40 static
-../Drivers/CMSIS/Include/core_cm4.h:1883:22:NVIC_DecodePriority 40 static
-../Drivers/CMSIS/Include/core_cm4.h:1933:34:__NVIC_SystemReset 4 static,ignoring_inline_asm
-../Drivers/CMSIS/Include/core_cm4.h:2017:26:SysTick_Config 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:163:6:HAL_NVIC_SetPriorityGrouping 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:185:6:HAL_NVIC_SetPriority 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:207:6:HAL_NVIC_EnableIRQ 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:223:6:HAL_NVIC_DisableIRQ 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:236:6:HAL_NVIC_SystemReset 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:249:10:HAL_SYSTICK_Config 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:277:10:HAL_NVIC_GetPriorityGrouping 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:304:6:HAL_NVIC_GetPriority 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:319:6:HAL_NVIC_SetPendingIRQ 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:337:10:HAL_NVIC_GetPendingIRQ 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:353:6:HAL_NVIC_ClearPendingIRQ 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:370:10:HAL_NVIC_GetActive 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:384:6:HAL_SYSTICK_CLKSourceConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:402:6:HAL_SYSTICK_IRQHandler 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:411:13:HAL_SYSTICK_Callback 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:430:6:HAL_MPU_Enable 16 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:445:6:HAL_MPU_Disable 4 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c:461:6:HAL_MPU_ConfigRegion 16 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.cyclo
deleted file mode 100644
index 331117c..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.cyclo
+++ /dev/null
@@ -1,13 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:154:19:HAL_DMA_Init 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:295:19:HAL_DMA_DeInit 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:431:19:HAL_DMA_Start 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:474:19:HAL_DMA_Start_IT 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:547:19:HAL_DMA_Abort 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:609:19:HAL_DMA_Abort_IT 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:676:19:HAL_DMA_PollForTransfer 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:806:6:HAL_DMA_IRQHandler 12
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:902:19:HAL_DMA_RegisterCallback 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:953:19:HAL_DMA_UnRegisterCallback 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1031:22:HAL_DMA_GetState 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1043:10:HAL_DMA_GetError 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1069:13:DMA_SetConfig 2
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d
deleted file mode 100644
index ea20dc5..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o
deleted file mode 100644
index 0cb54f8..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su
deleted file mode 100644
index f8d3944..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su
+++ /dev/null
@@ -1,13 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:154:19:HAL_DMA_Init 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:295:19:HAL_DMA_DeInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:431:19:HAL_DMA_Start 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:474:19:HAL_DMA_Start_IT 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:547:19:HAL_DMA_Abort 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:609:19:HAL_DMA_Abort_IT 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:676:19:HAL_DMA_PollForTransfer 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:806:6:HAL_DMA_IRQHandler 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:902:19:HAL_DMA_RegisterCallback 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:953:19:HAL_DMA_UnRegisterCallback 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1031:22:HAL_DMA_GetState 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1043:10:HAL_DMA_GetError 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c:1069:13:DMA_SetConfig 24 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d
deleted file mode 100644
index 96dc25e..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o
deleted file mode 100644
index dcba324..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su
deleted file mode 100644
index e69de29..0000000
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.cyclo
deleted file mode 100644
index 70742e5..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.cyclo
+++ /dev/null
@@ -1,9 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:143:19:HAL_EXTI_SetConfigLine 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:268:19:HAL_EXTI_GetConfigLine 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:362:19:HAL_EXTI_ClearConfigLine 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:428:19:HAL_EXTI_RegisterCallback 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:454:19:HAL_EXTI_GetHandle 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:495:6:HAL_EXTI_IRQHandler 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:533:10:HAL_EXTI_GetPending 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:572:6:HAL_EXTI_ClearPending 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:603:6:HAL_EXTI_GenerateSWI 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d
deleted file mode 100644
index c6a1d2e..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o
deleted file mode 100644
index b269f09..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su
deleted file mode 100644
index 10c0f1e..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su
+++ /dev/null
@@ -1,9 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:143:19:HAL_EXTI_SetConfigLine 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:268:19:HAL_EXTI_GetConfigLine 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:362:19:HAL_EXTI_ClearConfigLine 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:428:19:HAL_EXTI_RegisterCallback 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:454:19:HAL_EXTI_GetHandle 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:495:6:HAL_EXTI_IRQHandler 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:533:10:HAL_EXTI_GetPending 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:572:6:HAL_EXTI_ClearPending 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c:603:6:HAL_EXTI_GenerateSWI 32 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.cyclo
deleted file mode 100644
index 95a8746..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.cyclo
+++ /dev/null
@@ -1,14 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:169:19:HAL_FLASH_Program 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:251:19:HAL_FLASH_Program_IT 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:311:6:HAL_FLASH_IRQHandler 16
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:454:13:HAL_FLASH_EndOfOperationCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:472:13:HAL_FLASH_OperationErrorCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:505:19:HAL_FLASH_Unlock 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:529:19:HAL_FLASH_Lock 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:541:19:HAL_FLASH_OB_Unlock 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:561:19:HAL_FLASH_OB_Lock 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:573:19:HAL_FLASH_OB_Launch 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:622:10:HAL_FLASH_GetError 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:646:19:FLASH_WaitForLastOperation 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:696:13:FLASH_Program_DoubleWord 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:721:13:FLASH_Program_Fast 2
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d
deleted file mode 100644
index b10d4f0..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o
deleted file mode 100644
index 16d0a7b..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su
deleted file mode 100644
index f65fa52..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su
+++ /dev/null
@@ -1,14 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:169:19:HAL_FLASH_Program 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:251:19:HAL_FLASH_Program_IT 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:311:6:HAL_FLASH_IRQHandler 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:454:13:HAL_FLASH_EndOfOperationCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:472:13:HAL_FLASH_OperationErrorCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:505:19:HAL_FLASH_Unlock 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:529:19:HAL_FLASH_Lock 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:541:19:HAL_FLASH_OB_Unlock 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:561:19:HAL_FLASH_OB_Lock 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:573:19:HAL_FLASH_OB_Launch 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:622:10:HAL_FLASH_GetError 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:646:19:FLASH_WaitForLastOperation 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:696:13:FLASH_Program_DoubleWord 24 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c:721:13:FLASH_Program_Fast 40 static,ignoring_inline_asm
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.cyclo
deleted file mode 100644
index 25af6a8..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.cyclo
+++ /dev/null
@@ -1,15 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:125:19:HAL_FLASHEx_Erase 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:228:19:HAL_FLASHEx_Erase_IT 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:297:19:HAL_FLASHEx_OBProgram 11
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:368:6:HAL_FLASHEx_OBGetConfig 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:504:13:FLASH_MassErase 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:551:6:FLASH_PageErase 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:594:6:FLASH_FlushCaches 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:651:26:FLASH_OB_WRPConfig 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:727:26:FLASH_OB_RDPConfig 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:771:26:FLASH_OB_UserConfig 15
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:991:26:FLASH_OB_PCROPConfig 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1122:13:FLASH_OB_GetWRP 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1164:17:FLASH_OB_GetRDP 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1190:17:FLASH_OB_GetUser 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1213:13:FLASH_OB_GetPCROP 6
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d
deleted file mode 100644
index dcd8f06..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o
deleted file mode 100644
index e1a4e71..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su
deleted file mode 100644
index c924e96..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su
+++ /dev/null
@@ -1,15 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:125:19:HAL_FLASHEx_Erase 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:228:19:HAL_FLASHEx_Erase_IT 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:297:19:HAL_FLASHEx_OBProgram 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:368:6:HAL_FLASHEx_OBGetConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:504:13:FLASH_MassErase 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:551:6:FLASH_PageErase 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:594:6:FLASH_FlushCaches 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:651:26:FLASH_OB_WRPConfig 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:727:26:FLASH_OB_RDPConfig 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:771:26:FLASH_OB_UserConfig 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:991:26:FLASH_OB_PCROPConfig 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1122:13:FLASH_OB_GetWRP 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1164:17:FLASH_OB_GetRDP 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1190:17:FLASH_OB_GetUser 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c:1213:13:FLASH_OB_GetPCROP 40 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.cyclo
deleted file mode 100644
index 14a1364..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.cyclo
+++ /dev/null
@@ -1,2 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c:91:30:HAL_FLASHEx_EnableRunPowerDown 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c:105:30:HAL_FLASHEx_DisableRunPowerDown 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d
deleted file mode 100644
index 2f869c8..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o
deleted file mode 100644
index b7d534d..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su
deleted file mode 100644
index 42f3ccc..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su
+++ /dev/null
@@ -1,2 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c:91:30:HAL_FLASHEx_EnableRunPowerDown 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c:105:30:HAL_FLASHEx_DisableRunPowerDown 4 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.cyclo
deleted file mode 100644
index 7afeceb..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.cyclo
+++ /dev/null
@@ -1,8 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:163:6:HAL_GPIO_Init 20
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:307:6:HAL_GPIO_DeInit 11
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:393:15:HAL_GPIO_ReadPin 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:427:6:HAL_GPIO_WritePin 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:449:6:HAL_GPIO_TogglePin 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:474:19:HAL_GPIO_LockPin 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:509:6:HAL_GPIO_EXTI_IRQHandler 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:524:13:HAL_GPIO_EXTI_Callback 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d
deleted file mode 100644
index abab523..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o
deleted file mode 100644
index db4b268..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su
deleted file mode 100644
index 1115745..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su
+++ /dev/null
@@ -1,8 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:163:6:HAL_GPIO_Init 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:307:6:HAL_GPIO_DeInit 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:393:15:HAL_GPIO_ReadPin 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:427:6:HAL_GPIO_WritePin 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:449:6:HAL_GPIO_TogglePin 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:474:19:HAL_GPIO_LockPin 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:509:6:HAL_GPIO_EXTI_IRQHandler 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c:524:13:HAL_GPIO_EXTI_Callback 16 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.cyclo
deleted file mode 100644
index 5512234..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.cyclo
+++ /dev/null
@@ -1,81 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:535:19:HAL_I2C_Init 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:650:19:HAL_I2C_DeInit 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:696:13:HAL_I2C_MspInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:712:13:HAL_I2C_MspDeInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1119:19:HAL_I2C_Master_Transmit 13
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1260:19:HAL_I2C_Master_Receive 12
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1378:19:HAL_I2C_Slave_Transmit 15
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1534:19:HAL_I2C_Slave_Receive 12
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1664:19:HAL_I2C_Master_Transmit_IT 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1754:19:HAL_I2C_Master_Receive_IT 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1823:19:HAL_I2C_Slave_Transmit_IT 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1887:19:HAL_I2C_Slave_Receive_IT 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1939:19:HAL_I2C_Master_Transmit_DMA 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2102:19:HAL_I2C_Master_Receive_DMA 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2247:19:HAL_I2C_Slave_Transmit_DMA 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2383:19:HAL_I2C_Slave_Receive_DMA 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2492:19:HAL_I2C_Mem_Write 15
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2629:19:HAL_I2C_Mem_Read 15
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2766:19:HAL_I2C_Mem_Write_IT 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2854:19:HAL_I2C_Mem_Read_IT 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2941:19:HAL_I2C_Mem_Write_DMA 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3087:19:HAL_I2C_Mem_Read_DMA 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3232:19:HAL_I2C_IsDeviceReady 16
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3374:19:HAL_I2C_Master_Seq_Transmit_IT 14
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3488:19:HAL_I2C_Master_Seq_Transmit_DMA 19
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3685:19:HAL_I2C_Master_Seq_Receive_IT 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3772:19:HAL_I2C_Master_Seq_Receive_DMA 12
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3938:19:HAL_I2C_Slave_Seq_Transmit_IT 11
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4038:19:HAL_I2C_Slave_Seq_Transmit_DMA 17
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4222:19:HAL_I2C_Slave_Seq_Receive_IT 11
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4322:19:HAL_I2C_Slave_Seq_Receive_DMA 17
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4502:19:HAL_I2C_EnableListen_IT 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4526:19:HAL_I2C_DisableListen_IT 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4559:19:HAL_I2C_Master_Abort_IT 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4621:6:HAL_I2C_EV_IRQHandler 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4640:6:HAL_I2C_ER_IRQHandler 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4692:13:HAL_I2C_MasterTxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4708:13:HAL_I2C_MasterRxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4723:13:HAL_I2C_SlaveTxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4739:13:HAL_I2C_SlaveRxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4757:13:HAL_I2C_AddrCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4775:13:HAL_I2C_ListenCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4791:13:HAL_I2C_MemTxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4807:13:HAL_I2C_MemRxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4823:13:HAL_I2C_ErrorCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4839:13:HAL_I2C_AbortCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4874:22:HAL_I2C_GetState 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4886:21:HAL_I2C_GetMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4897:10:HAL_I2C_GetError 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4922:26:I2C_Master_ISR_IT 24
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5073:26:I2C_Mem_ISR_IT 20
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5216:26:I2C_Slave_ISR_IT 25
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5357:26:I2C_Master_ISR_DMA 18
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5497:26:I2C_Mem_ISR_DMA 18
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5645:26:I2C_Slave_ISR_DMA 27
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5790:26:I2C_RequestMemoryWrite 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5845:26:I2C_RequestMemoryRead 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5894:13:I2C_ITAddrCplt 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5989:13:I2C_ITMasterSeqCplt 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6042:13:I2C_ITSlaveSeqCplt 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6116:13:I2C_ITMasterCplt 12
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6259:13:I2C_ITSlaveCplt 17
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6423:13:I2C_ITListenCplt 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6474:13:I2C_ITError 19
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6605:13:I2C_TreatErrorCallback 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6643:13:I2C_Flush_TXDR 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6664:13:I2C_DMAMasterTransmitCplt 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6715:13:I2C_DMASlaveTransmitCplt 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6744:13:I2C_DMAMasterReceiveCplt 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6795:13:I2C_DMASlaveReceiveCplt 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6824:13:I2C_DMAError 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6843:13:I2C_DMAAbort 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6873:26:I2C_WaitOnFlagUntilTimeout 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6907:26:I2C_WaitOnTXISFlagUntilTimeout 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6948:26:I2C_WaitOnSTOPFlagUntilTimeout 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6986:26:I2C_WaitOnRXNEFlagUntilTimeout 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7062:26:I2C_IsErrorOccurred 17
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7203:13:I2C_TransferConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7230:13:I2C_Enable_IRQ 15
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7321:13:I2C_Disable_IRQ 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7384:13:I2C_ConvertOtherXferOptions 3
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d
deleted file mode 100644
index 1e57ec0..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o
deleted file mode 100644
index 5a64662..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su
deleted file mode 100644
index 6f3231c..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su
+++ /dev/null
@@ -1,81 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:535:19:HAL_I2C_Init 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:650:19:HAL_I2C_DeInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:696:13:HAL_I2C_MspInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:712:13:HAL_I2C_MspDeInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1119:19:HAL_I2C_Master_Transmit 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1260:19:HAL_I2C_Master_Receive 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1378:19:HAL_I2C_Slave_Transmit 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1534:19:HAL_I2C_Slave_Receive 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1664:19:HAL_I2C_Master_Transmit_IT 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1754:19:HAL_I2C_Master_Receive_IT 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1823:19:HAL_I2C_Slave_Transmit_IT 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1887:19:HAL_I2C_Slave_Receive_IT 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:1939:19:HAL_I2C_Master_Transmit_DMA 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2102:19:HAL_I2C_Master_Receive_DMA 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2247:19:HAL_I2C_Slave_Transmit_DMA 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2383:19:HAL_I2C_Slave_Receive_DMA 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2492:19:HAL_I2C_Mem_Write 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2629:19:HAL_I2C_Mem_Read 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2766:19:HAL_I2C_Mem_Write_IT 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2854:19:HAL_I2C_Mem_Read_IT 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:2941:19:HAL_I2C_Mem_Write_DMA 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3087:19:HAL_I2C_Mem_Read_DMA 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3232:19:HAL_I2C_IsDeviceReady 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3374:19:HAL_I2C_Master_Seq_Transmit_IT 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3488:19:HAL_I2C_Master_Seq_Transmit_DMA 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3685:19:HAL_I2C_Master_Seq_Receive_IT 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3772:19:HAL_I2C_Master_Seq_Receive_DMA 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:3938:19:HAL_I2C_Slave_Seq_Transmit_IT 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4038:19:HAL_I2C_Slave_Seq_Transmit_DMA 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4222:19:HAL_I2C_Slave_Seq_Receive_IT 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4322:19:HAL_I2C_Slave_Seq_Receive_DMA 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4502:19:HAL_I2C_EnableListen_IT 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4526:19:HAL_I2C_DisableListen_IT 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4559:19:HAL_I2C_Master_Abort_IT 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4621:6:HAL_I2C_EV_IRQHandler 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4640:6:HAL_I2C_ER_IRQHandler 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4692:13:HAL_I2C_MasterTxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4708:13:HAL_I2C_MasterRxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4723:13:HAL_I2C_SlaveTxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4739:13:HAL_I2C_SlaveRxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4757:13:HAL_I2C_AddrCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4775:13:HAL_I2C_ListenCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4791:13:HAL_I2C_MemTxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4807:13:HAL_I2C_MemRxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4823:13:HAL_I2C_ErrorCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4839:13:HAL_I2C_AbortCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4874:22:HAL_I2C_GetState 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4886:21:HAL_I2C_GetMode 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4897:10:HAL_I2C_GetError 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:4922:26:I2C_Master_ISR_IT 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5073:26:I2C_Mem_ISR_IT 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5216:26:I2C_Slave_ISR_IT 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5357:26:I2C_Master_ISR_DMA 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5497:26:I2C_Mem_ISR_DMA 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5645:26:I2C_Slave_ISR_DMA 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5790:26:I2C_RequestMemoryWrite 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5845:26:I2C_RequestMemoryRead 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5894:13:I2C_ITAddrCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:5989:13:I2C_ITMasterSeqCplt 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6042:13:I2C_ITSlaveSeqCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6116:13:I2C_ITMasterCplt 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6259:13:I2C_ITSlaveCplt 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6423:13:I2C_ITListenCplt 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6474:13:I2C_ITError 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6605:13:I2C_TreatErrorCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6643:13:I2C_Flush_TXDR 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6664:13:I2C_DMAMasterTransmitCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6715:13:I2C_DMASlaveTransmitCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6744:13:I2C_DMAMasterReceiveCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6795:13:I2C_DMASlaveReceiveCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6824:13:I2C_DMAError 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6843:13:I2C_DMAAbort 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6873:26:I2C_WaitOnFlagUntilTimeout 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6907:26:I2C_WaitOnTXISFlagUntilTimeout 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6948:26:I2C_WaitOnSTOPFlagUntilTimeout 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:6986:26:I2C_WaitOnRXNEFlagUntilTimeout 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7062:26:I2C_IsErrorOccurred 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7203:13:I2C_TransferConfig 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7230:13:I2C_Enable_IRQ 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7321:13:I2C_Disable_IRQ 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c:7384:13:I2C_ConvertOtherXferOptions 16 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.cyclo
deleted file mode 100644
index e0aafc9..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.cyclo
+++ /dev/null
@@ -1,6 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:96:19:HAL_I2CEx_ConfigAnalogFilter 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:140:19:HAL_I2CEx_ConfigDigitalFilter 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:208:19:HAL_I2CEx_EnableWakeUp 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:247:19:HAL_I2CEx_DisableWakeUp 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:314:6:HAL_I2CEx_EnableFastModePlus 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:343:6:HAL_I2CEx_DisableFastModePlus 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d
deleted file mode 100644
index e55cc30..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o
deleted file mode 100644
index 8f6c432..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su
deleted file mode 100644
index 415666f..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su
+++ /dev/null
@@ -1,6 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:96:19:HAL_I2CEx_ConfigAnalogFilter 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:140:19:HAL_I2CEx_ConfigDigitalFilter 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:208:19:HAL_I2CEx_EnableWakeUp 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:247:19:HAL_I2CEx_DisableWakeUp 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:314:6:HAL_I2CEx_EnableFastModePlus 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c:343:6:HAL_I2CEx_DisableFastModePlus 24 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.cyclo
deleted file mode 100644
index 8ed9f24..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.cyclo
+++ /dev/null
@@ -1,16 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:86:6:HAL_PWR_DeInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:104:6:HAL_PWR_EnableBkUpAccess 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:114:6:HAL_PWR_DisableBkUpAccess 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:311:19:HAL_PWR_ConfigPVD 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:357:6:HAL_PWR_EnablePVD 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:366:6:HAL_PWR_DisablePVD 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:391:6:HAL_PWR_EnableWakeUpPin 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:412:6:HAL_PWR_DisableWakeUpPin 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:444:6:HAL_PWR_EnterSLEEPMode 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:523:6:HAL_PWR_EnterSTOPMode 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:556:6:HAL_PWR_EnterSTANDBYMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:582:6:HAL_PWR_EnableSleepOnExit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:595:6:HAL_PWR_DisableSleepOnExit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:609:6:HAL_PWR_EnableSEVOnPend 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:622:6:HAL_PWR_DisableSEVOnPend 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:636:13:HAL_PWR_PVDCallback 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d
deleted file mode 100644
index b9baed4..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o
deleted file mode 100644
index bdeab0d..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su
deleted file mode 100644
index 6fa1311..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su
+++ /dev/null
@@ -1,16 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:86:6:HAL_PWR_DeInit 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:104:6:HAL_PWR_EnableBkUpAccess 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:114:6:HAL_PWR_DisableBkUpAccess 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:311:19:HAL_PWR_ConfigPVD 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:357:6:HAL_PWR_EnablePVD 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:366:6:HAL_PWR_DisablePVD 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:391:6:HAL_PWR_EnableWakeUpPin 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:412:6:HAL_PWR_DisableWakeUpPin 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:444:6:HAL_PWR_EnterSLEEPMode 16 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:523:6:HAL_PWR_EnterSTOPMode 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:556:6:HAL_PWR_EnterSTANDBYMode 4 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:582:6:HAL_PWR_EnableSleepOnExit 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:595:6:HAL_PWR_DisableSleepOnExit 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:609:6:HAL_PWR_EnableSEVOnPend 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:622:6:HAL_PWR_DisableSEVOnPend 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c:636:13:HAL_PWR_PVDCallback 4 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.cyclo
deleted file mode 100644
index 325d89f..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.cyclo
+++ /dev/null
@@ -1,41 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:114:10:HAL_PWREx_GetVoltageRange 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:163:19:HAL_PWREx_ControlVoltageScaling 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:282:6:HAL_PWREx_EnableBatteryCharging 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:298:6:HAL_PWREx_DisableBatteryCharging 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:310:6:HAL_PWREx_EnableVddUSB 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:320:6:HAL_PWREx_DisableVddUSB 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:332:6:HAL_PWREx_EnableVddIO2 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:342:6:HAL_PWREx_DisableVddIO2 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:353:6:HAL_PWREx_EnableInternalWakeUpLine 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:363:6:HAL_PWREx_DisableInternalWakeUpLine 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:391:19:HAL_PWREx_EnableGPIOPullUp 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:474:19:HAL_PWREx_DisableGPIOPullUp 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:551:19:HAL_PWREx_EnableGPIOPullDown 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:634:19:HAL_PWREx_DisableGPIOPullDown 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:704:6:HAL_PWREx_EnablePullUpPullDownConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:716:6:HAL_PWREx_DisablePullUpPullDownConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:727:6:HAL_PWREx_EnableSRAM2ContentRetention 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:736:6:HAL_PWREx_DisableSRAM2ContentRetention 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:751:19:HAL_PWREx_SetSRAM2ContentRetention 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:808:6:HAL_PWREx_EnableExtSMPS_0V95 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:820:6:HAL_PWREx_DisableExtSMPS_0V95 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:878:6:HAL_PWREx_EnablePVM1 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:887:6:HAL_PWREx_DisablePVM1 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:899:6:HAL_PWREx_EnablePVM2 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:908:6:HAL_PWREx_DisablePVM2 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:919:6:HAL_PWREx_EnablePVM3 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:928:6:HAL_PWREx_DisablePVM3 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:938:6:HAL_PWREx_EnablePVM4 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:947:6:HAL_PWREx_DisablePVM4 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:967:19:HAL_PWREx_ConfigPVM 23
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1129:6:HAL_PWREx_EnableLowPowerRunMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1144:19:HAL_PWREx_DisableLowPowerRunMode 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1188:6:HAL_PWREx_EnterSTOP0Mode 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1239:6:HAL_PWREx_EnterSTOP1Mode 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1292:6:HAL_PWREx_EnterSTOP2Mode 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1334:6:HAL_PWREx_EnterSHUTDOWNMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1359:6:HAL_PWREx_PVD_PVM_IRQHandler 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1415:13:HAL_PWREx_PVM1Callback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1428:13:HAL_PWREx_PVM2Callback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1440:13:HAL_PWREx_PVM3Callback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1451:13:HAL_PWREx_PVM4Callback 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d
deleted file mode 100644
index a8456b2..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o
deleted file mode 100644
index 6748ba0..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su
deleted file mode 100644
index a80f4c8..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su
+++ /dev/null
@@ -1,41 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:114:10:HAL_PWREx_GetVoltageRange 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:163:19:HAL_PWREx_ControlVoltageScaling 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:282:6:HAL_PWREx_EnableBatteryCharging 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:298:6:HAL_PWREx_DisableBatteryCharging 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:310:6:HAL_PWREx_EnableVddUSB 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:320:6:HAL_PWREx_DisableVddUSB 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:332:6:HAL_PWREx_EnableVddIO2 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:342:6:HAL_PWREx_DisableVddIO2 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:353:6:HAL_PWREx_EnableInternalWakeUpLine 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:363:6:HAL_PWREx_DisableInternalWakeUpLine 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:391:19:HAL_PWREx_EnableGPIOPullUp 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:474:19:HAL_PWREx_DisableGPIOPullUp 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:551:19:HAL_PWREx_EnableGPIOPullDown 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:634:19:HAL_PWREx_DisableGPIOPullDown 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:704:6:HAL_PWREx_EnablePullUpPullDownConfig 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:716:6:HAL_PWREx_DisablePullUpPullDownConfig 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:727:6:HAL_PWREx_EnableSRAM2ContentRetention 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:736:6:HAL_PWREx_DisableSRAM2ContentRetention 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:751:19:HAL_PWREx_SetSRAM2ContentRetention 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:808:6:HAL_PWREx_EnableExtSMPS_0V95 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:820:6:HAL_PWREx_DisableExtSMPS_0V95 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:878:6:HAL_PWREx_EnablePVM1 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:887:6:HAL_PWREx_DisablePVM1 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:899:6:HAL_PWREx_EnablePVM2 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:908:6:HAL_PWREx_DisablePVM2 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:919:6:HAL_PWREx_EnablePVM3 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:928:6:HAL_PWREx_DisablePVM3 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:938:6:HAL_PWREx_EnablePVM4 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:947:6:HAL_PWREx_DisablePVM4 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:967:19:HAL_PWREx_ConfigPVM 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1129:6:HAL_PWREx_EnableLowPowerRunMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1144:19:HAL_PWREx_DisableLowPowerRunMode 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1188:6:HAL_PWREx_EnterSTOP0Mode 16 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1239:6:HAL_PWREx_EnterSTOP1Mode 16 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1292:6:HAL_PWREx_EnterSTOP2Mode 16 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1334:6:HAL_PWREx_EnterSHUTDOWNMode 4 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1359:6:HAL_PWREx_PVD_PVM_IRQHandler 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1415:13:HAL_PWREx_PVM1Callback 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1428:13:HAL_PWREx_PVM2Callback 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1440:13:HAL_PWREx_PVM3Callback 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c:1451:13:HAL_PWREx_PVM4Callback 4 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.cyclo
deleted file mode 100644
index 7b1694d..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.cyclo
+++ /dev/null
@@ -1,15 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:265:19:HAL_RCC_DeInit 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:405:19:HAL_RCC_OscConfig 83
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1097:19:HAL_RCC_ClockConfig 22
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1339:6:HAL_RCC_MCOConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1398:10:HAL_RCC_GetSysClockFreq 11
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1486:10:HAL_RCC_GetHCLKFreq 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1497:10:HAL_RCC_GetPCLK1Freq 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1509:10:HAL_RCC_GetPCLK2Freq 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1522:6:HAL_RCC_GetOscConfig 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1681:6:HAL_RCC_GetClockConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1716:6:HAL_RCC_EnableCSS 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1726:6:HAL_RCC_NMI_IRQHandler 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1743:13:HAL_RCC_CSSCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1757:10:HAL_RCC_GetResetSource 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1787:26:RCC_SetFlashLatencyFromMSIRange 9
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d
deleted file mode 100644
index 64fa528..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o
deleted file mode 100644
index ff25506..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su
deleted file mode 100644
index 64a7d7a..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su
+++ /dev/null
@@ -1,15 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:265:19:HAL_RCC_DeInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:405:19:HAL_RCC_OscConfig 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1097:19:HAL_RCC_ClockConfig 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1339:6:HAL_RCC_MCOConfig 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1398:10:HAL_RCC_GetSysClockFreq 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1486:10:HAL_RCC_GetHCLKFreq 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1497:10:HAL_RCC_GetPCLK1Freq 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1509:10:HAL_RCC_GetPCLK2Freq 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1522:6:HAL_RCC_GetOscConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1681:6:HAL_RCC_GetClockConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1716:6:HAL_RCC_EnableCSS 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1726:6:HAL_RCC_NMI_IRQHandler 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1743:13:HAL_RCC_CSSCallback 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1757:10:HAL_RCC_GetResetSource 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c:1787:26:RCC_SetFlashLatencyFromMSIRange 32 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.cyclo
deleted file mode 100644
index 39d8ffa..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.cyclo
+++ /dev/null
@@ -1,21 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:194:19:HAL_RCCEx_PeriphCLKConfig 60
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:824:6:HAL_RCCEx_GetPeriphCLKConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:1150:10:HAL_RCCEx_GetPeriphCLKFreq 149
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2054:19:HAL_RCCEx_EnablePLLSAI1 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2122:19:HAL_RCCEx_DisablePLLSAI1 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2172:19:HAL_RCCEx_EnablePLLSAI2 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2250:19:HAL_RCCEx_DisablePLLSAI2 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2299:6:HAL_RCCEx_WakeUpStopCLKConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2317:6:HAL_RCCEx_StandbyMSIRangeConfig 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2331:6:HAL_RCCEx_EnableLSECSS 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2341:6:HAL_RCCEx_DisableLSECSS 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2354:6:HAL_RCCEx_EnableLSECSS_IT 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2371:6:HAL_RCCEx_LSECSS_IRQHandler 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2388:13:HAL_RCCEx_LSECSS_Callback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2403:6:HAL_RCCEx_EnableLSCO 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2450:6:HAL_RCCEx_DisableLSCO 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2488:6:HAL_RCCEx_EnableMSIPLLMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2498:6:HAL_RCCEx_DisableMSIPLLMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2903:26:RCCEx_PLLSAI1_Config 23
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:3108:26:RCCEx_PLLSAI2_Config 22
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:3305:17:RCCEx_GetSAIxPeriphCLKFreq 23
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d
deleted file mode 100644
index 482807a..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o
deleted file mode 100644
index 78551e0..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su
deleted file mode 100644
index a1c3ece..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su
+++ /dev/null
@@ -1,21 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:194:19:HAL_RCCEx_PeriphCLKConfig 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:824:6:HAL_RCCEx_GetPeriphCLKConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:1150:10:HAL_RCCEx_GetPeriphCLKFreq 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2054:19:HAL_RCCEx_EnablePLLSAI1 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2122:19:HAL_RCCEx_DisablePLLSAI1 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2172:19:HAL_RCCEx_EnablePLLSAI2 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2250:19:HAL_RCCEx_DisablePLLSAI2 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2299:6:HAL_RCCEx_WakeUpStopCLKConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2317:6:HAL_RCCEx_StandbyMSIRangeConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2331:6:HAL_RCCEx_EnableLSECSS 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2341:6:HAL_RCCEx_DisableLSECSS 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2354:6:HAL_RCCEx_EnableLSECSS_IT 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2371:6:HAL_RCCEx_LSECSS_IRQHandler 8 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2388:13:HAL_RCCEx_LSECSS_Callback 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2403:6:HAL_RCCEx_EnableLSCO 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2450:6:HAL_RCCEx_DisableLSCO 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2488:6:HAL_RCCEx_EnableMSIPLLMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2498:6:HAL_RCCEx_DisableMSIPLLMode 4 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:2903:26:RCCEx_PLLSAI1_Config 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:3108:26:RCCEx_PLLSAI2_Config 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c:3305:17:RCCEx_GetSAIxPeriphCLKFreq 40 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.d
deleted file mode 100644
index 56d3637..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o
deleted file mode 100644
index 2434f13..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.su
deleted file mode 100644
index e69de29..0000000
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.d
deleted file mode 100644
index 2d6030a..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o
deleted file mode 100644
index 847f98a..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.su
deleted file mode 100644
index e69de29..0000000
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.cyclo
deleted file mode 100644
index 7e9e4f1..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.cyclo
+++ /dev/null
@@ -1,66 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:327:19:HAL_UART_Init 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:402:19:HAL_HalfDuplex_Init 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:477:19:HAL_LIN_Init 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:576:19:HAL_MultiProcessor_Init 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:652:19:HAL_UART_DeInit 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:699:13:HAL_UART_MspInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:714:13:HAL_UART_MspDeInit 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1156:19:HAL_UART_Transmit 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1246:19:HAL_UART_Receive 15
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1330:19:HAL_UART_Transmit_IT 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1413:19:HAL_UART_Receive_IT 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1454:19:HAL_UART_Transmit_DMA 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1524:19:HAL_UART_Receive_DMA 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1560:19:HAL_UART_DMAPause 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1590:19:HAL_UART_DMAResume 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1621:19:HAL_UART_DMAStop 13
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1696:19:HAL_UART_Abort 15
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1807:19:HAL_UART_AbortTransmit 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1873:19:HAL_UART_AbortReceive 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1947:19:HAL_UART_Abort_IT 18
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2107:19:HAL_UART_AbortTransmit_IT 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2204:19:HAL_UART_AbortReceive_IT 9
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2302:6:HAL_UART_IRQHandler 52
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2669:13:HAL_UART_TxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2684:13:HAL_UART_TxHalfCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2699:13:HAL_UART_RxCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2714:13:HAL_UART_RxHalfCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2729:13:HAL_UART_ErrorCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2744:13:HAL_UART_AbortCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2759:13:HAL_UART_AbortTransmitCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2774:13:HAL_UART_AbortReceiveCpltCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2791:13:HAL_UARTEx_RxEventCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2839:6:HAL_UART_ReceiverTimeout_Config 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2854:19:HAL_UART_EnableReceiverTimeout 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2892:19:HAL_UART_DisableReceiverTimeout 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2930:19:HAL_MultiProcessor_EnableMuteMode 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2950:19:HAL_MultiProcessor_DisableMuteMode 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2970:6:HAL_MultiProcessor_EnterMuteMode 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2980:19:HAL_HalfDuplex_EnableTransmitter 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3003:19:HAL_HalfDuplex_EnableReceiver 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3027:19:HAL_LIN_SendBreak 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3072:23:HAL_UART_GetState 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3088:10:HAL_UART_GetError 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3136:19:UART_SetConfig 67
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3391:6:UART_AdvFeatureConfig 10
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3465:19:UART_CheckIdleState 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3542:19:UART_WaitOnFlagUntilTimeout 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3610:19:UART_Start_Receive_IT 13
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3704:19:UART_Start_Receive_DMA 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3761:13:UART_EndTxTransfer 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3782:13:UART_EndRxTransfer 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3813:13:UART_DMATransmitCplt 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3847:13:UART_DMATxHalfCplt 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3865:13:UART_DMAReceiveCplt 8
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3926:13:UART_DMARxHalfCplt 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3964:13:UART_DMAError 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4004:13:UART_DMAAbortOnError 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4027:13:UART_DMATxAbortCallback 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4084:13:UART_DMARxAbortCallback 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4136:13:UART_DMATxOnlyAbortCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4171:13:UART_DMARxOnlyAbortCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4204:13:UART_TxISR_8BIT 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4237:13:UART_TxISR_16BIT 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4356:13:UART_EndTransmit_IT 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4381:13:UART_RxISR_8BIT 11
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4476:13:UART_RxISR_16BIT 11
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d
deleted file mode 100644
index 64fa4bb..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o
deleted file mode 100644
index bb829a5..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su
deleted file mode 100644
index e9048a8..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su
+++ /dev/null
@@ -1,66 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:327:19:HAL_UART_Init 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:402:19:HAL_HalfDuplex_Init 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:477:19:HAL_LIN_Init 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:576:19:HAL_MultiProcessor_Init 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:652:19:HAL_UART_DeInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:699:13:HAL_UART_MspInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:714:13:HAL_UART_MspDeInit 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1156:19:HAL_UART_Transmit 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1246:19:HAL_UART_Receive 48 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1330:19:HAL_UART_Transmit_IT 48 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1413:19:HAL_UART_Receive_IT 48 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1454:19:HAL_UART_Transmit_DMA 48 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1524:19:HAL_UART_Receive_DMA 48 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1560:19:HAL_UART_DMAPause 120 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1590:19:HAL_UART_DMAResume 112 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1621:19:HAL_UART_DMAStop 72 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1696:19:HAL_UART_Abort 136 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1807:19:HAL_UART_AbortTransmit 64 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1873:19:HAL_UART_AbortReceive 112 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:1947:19:HAL_UART_Abort_IT 144 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2107:19:HAL_UART_AbortTransmit_IT 64 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2204:19:HAL_UART_AbortReceive_IT 112 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2302:6:HAL_UART_IRQHandler 240 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2669:13:HAL_UART_TxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2684:13:HAL_UART_TxHalfCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2699:13:HAL_UART_RxCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2714:13:HAL_UART_RxHalfCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2729:13:HAL_UART_ErrorCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2744:13:HAL_UART_AbortCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2759:13:HAL_UART_AbortTransmitCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2774:13:HAL_UART_AbortReceiveCpltCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2791:13:HAL_UARTEx_RxEventCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2839:6:HAL_UART_ReceiverTimeout_Config 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2854:19:HAL_UART_EnableReceiverTimeout 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2892:19:HAL_UART_DisableReceiverTimeout 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2930:19:HAL_MultiProcessor_EnableMuteMode 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2950:19:HAL_MultiProcessor_DisableMuteMode 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2970:6:HAL_MultiProcessor_EnterMuteMode 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:2980:19:HAL_HalfDuplex_EnableTransmitter 64 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3003:19:HAL_HalfDuplex_EnableReceiver 64 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3027:19:HAL_LIN_SendBreak 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3072:23:HAL_UART_GetState 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3088:10:HAL_UART_GetError 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3136:19:UART_SetConfig 72 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3391:6:UART_AdvFeatureConfig 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3465:19:UART_CheckIdleState 104 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3542:19:UART_WaitOnFlagUntilTimeout 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3610:19:UART_Start_Receive_IT 96 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3704:19:UART_Start_Receive_DMA 96 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3761:13:UART_EndTxTransfer 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3782:13:UART_EndRxTransfer 88 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3813:13:UART_DMATransmitCplt 72 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3847:13:UART_DMATxHalfCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3865:13:UART_DMAReceiveCplt 120 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3926:13:UART_DMARxHalfCplt 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:3964:13:UART_DMAError 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4004:13:UART_DMAAbortOnError 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4027:13:UART_DMATxAbortCallback 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4084:13:UART_DMARxAbortCallback 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4136:13:UART_DMATxOnlyAbortCallback 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4171:13:UART_DMARxOnlyAbortCallback 24 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4204:13:UART_TxISR_8BIT 64 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4237:13:UART_TxISR_16BIT 72 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4356:13:UART_EndTransmit_IT 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4381:13:UART_RxISR_8BIT 120 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4476:13:UART_RxISR_16BIT 120 static,ignoring_inline_asm
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.cyclo b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.cyclo
deleted file mode 100644
index 56d26d4..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.cyclo
+++ /dev/null
@@ -1,13 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:170:19:HAL_RS485Ex_Init 5
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:278:13:HAL_UARTEx_WakeupCallback 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:394:19:HAL_UARTEx_EnableClockStopMode 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:413:19:HAL_UARTEx_DisableClockStopMode 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:441:19:HAL_MultiProcessorEx_AddressLength_Set 2
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:479:19:HAL_UARTEx_StopModeWakeUpSourceConfig 4
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:534:19:HAL_UARTEx_EnableStopMode 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:553:19:HAL_UARTEx_DisableStopMode 3
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:767:19:HAL_UARTEx_ReceiveToIdle 20
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:890:19:HAL_UARTEx_ReceiveToIdle_IT 6
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:947:19:HAL_UARTEx_ReceiveToIdle_DMA 7
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:1015:29:HAL_UARTEx_GetRxEventType 1
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:1039:13:UARTEx_Wakeup_AddressConfig 1
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d
deleted file mode 100644
index 550527d..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d
+++ /dev/null
@@ -1,58 +0,0 @@
-Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o: \
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h \
- ../Core/Inc/stm32l4xx_hal_conf.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h \
- ../Drivers/CMSIS/Include/core_cm4.h \
- ../Drivers/CMSIS/Include/cmsis_version.h \
- ../Drivers/CMSIS/Include/cmsis_compiler.h \
- ../Drivers/CMSIS/Include/cmsis_gcc.h \
- ../Drivers/CMSIS/Include/mpu_armv7.h \
- ../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h \
- ../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:
-../Core/Inc/stm32l4xx_hal_conf.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l476xx.h:
-../Drivers/CMSIS/Include/core_cm4.h:
-../Drivers/CMSIS/Include/cmsis_version.h:
-../Drivers/CMSIS/Include/cmsis_compiler.h:
-../Drivers/CMSIS/Include/cmsis_gcc.h:
-../Drivers/CMSIS/Include/mpu_armv7.h:
-../Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_exti.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h:
-../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h:
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o
deleted file mode 100644
index e7021f5..0000000
Binary files a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o and /dev/null differ
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su
deleted file mode 100644
index d9b61fe..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su
+++ /dev/null
@@ -1,13 +0,0 @@
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:170:19:HAL_RS485Ex_Init 32 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:278:13:HAL_UARTEx_WakeupCallback 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:394:19:HAL_UARTEx_EnableClockStopMode 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:413:19:HAL_UARTEx_DisableClockStopMode 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:441:19:HAL_MultiProcessorEx_AddressLength_Set 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:479:19:HAL_UARTEx_StopModeWakeUpSourceConfig 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:534:19:HAL_UARTEx_EnableStopMode 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:553:19:HAL_UARTEx_DisableStopMode 40 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:767:19:HAL_UARTEx_ReceiveToIdle 40 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:890:19:HAL_UARTEx_ReceiveToIdle_IT 56 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:947:19:HAL_UARTEx_ReceiveToIdle_DMA 56 static,ignoring_inline_asm
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:1015:29:HAL_UARTEx_GetRxEventType 16 static
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c:1039:13:UARTEx_Wakeup_AddressConfig 24 static
diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk
deleted file mode 100644
index f00f1fe..0000000
--- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk
+++ /dev/null
@@ -1,81 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (11.3.rel1)
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-C_SRCS += \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c \
-../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c
-
-C_DEPS += \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d
-
-OBJS += \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o \
-./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o
-
-
-# Each subdirectory must supply rules for building sources it contributes
-Drivers/STM32L4xx_HAL_Driver/Src/%.o Drivers/STM32L4xx_HAL_Driver/Src/%.su Drivers/STM32L4xx_HAL_Driver/Src/%.cyclo: ../Drivers/STM32L4xx_HAL_Driver/Src/%.c Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L476xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-
-clean: clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src
-
-clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src:
- -$(RM) ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su
-
-.PHONY: clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src
-
diff --git a/Debug/makefile b/Debug/makefile
deleted file mode 100644
index a5ca0d1..0000000
--- a/Debug/makefile
+++ /dev/null
@@ -1,118 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (11.3.rel1)
-################################################################################
-
--include ../makefile.init
-
-RM := rm -rf
-
-# All of the sources participating in the build are defined here
--include sources.mk
--include Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk
--include Core/Startup/subdir.mk
--include Core/Src/subdir.mk
--include objects.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(strip $(CC_DEPS)),)
--include $(CC_DEPS)
-endif
-ifneq ($(strip $(C++_DEPS)),)
--include $(C++_DEPS)
-endif
-ifneq ($(strip $(CCM_DEPS)),)
--include $(CCM_DEPS)
-endif
-ifneq ($(strip $(C_UPPER_DEPS)),)
--include $(C_UPPER_DEPS)
-endif
-ifneq ($(strip $(CXX_DEPS)),)
--include $(CXX_DEPS)
-endif
-ifneq ($(strip $(S_DEPS)),)
--include $(S_DEPS)
-endif
-ifneq ($(strip $(S_UPPER_DEPS)),)
--include $(S_UPPER_DEPS)
-endif
-ifneq ($(strip $(CXXM_DEPS)),)
--include $(CXXM_DEPS)
-endif
-ifneq ($(strip $(C++M_DEPS)),)
--include $(C++M_DEPS)
-endif
-ifneq ($(strip $(C_DEPS)),)
--include $(C_DEPS)
-endif
-ifneq ($(strip $(CPP_DEPS)),)
--include $(CPP_DEPS)
-endif
-endif
-
--include ../makefile.defs
-
-OPTIONAL_TOOL_DEPS := \
-$(wildcard ../makefile.defs) \
-$(wildcard ../makefile.init) \
-$(wildcard ../makefile.targets) \
-
-
-BUILD_ARTIFACT_NAME := task4
-BUILD_ARTIFACT_EXTENSION := elf
-BUILD_ARTIFACT_PREFIX :=
-BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),)
-
-# Add inputs and outputs from these tool invocations to the build variables
-EXECUTABLES += \
-task4.elf \
-
-MAP_FILES += \
-task4.map \
-
-SIZE_OUTPUT += \
-default.size.stdout \
-
-OBJDUMP_LIST += \
-task4.list \
-
-
-# All Target
-all: main-build
-
-# Main-build Target
-main-build: task4.elf secondary-outputs
-
-# Tool invocations
-task4.elf task4.map: $(OBJS) $(USER_OBJS) /Users/yaroslavsvitlytskyi/STM32CubeIDE/workspace_1.14.0/task4/STM32L476RGTX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS)
- arm-none-eabi-g++ -o "task4.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"/Users/yaroslavsvitlytskyi/STM32CubeIDE/workspace_1.14.0/task4/STM32L476RGTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="task4.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group
- @echo 'Finished building target: $@'
- @echo ' '
-
-default.size.stdout: $(EXECUTABLES) makefile objects.list $(OPTIONAL_TOOL_DEPS)
- arm-none-eabi-size $(EXECUTABLES)
- @echo 'Finished building: $@'
- @echo ' '
-
-task4.list: $(EXECUTABLES) makefile objects.list $(OPTIONAL_TOOL_DEPS)
- arm-none-eabi-objdump -h -S $(EXECUTABLES) > "task4.list"
- @echo 'Finished building: $@'
- @echo ' '
-
-# Other Targets
-clean:
- -$(RM) default.size.stdout task4.elf task4.list task4.map
- -@echo ' '
-
-secondary-outputs: $(SIZE_OUTPUT) $(OBJDUMP_LIST)
-
-fail-specified-linker-script-missing:
- @echo 'Error: Cannot find the specified linker script. Check the linker settings in the build configuration.'
- @exit 2
-
-warn-no-linker-script-specified:
- @echo 'Warning: No linker script specified. Check the linker settings in the build configuration.'
-
-.PHONY: all clean dependents main-build fail-specified-linker-script-missing warn-no-linker-script-specified
-
--include ../makefile.targets
diff --git a/Debug/objects.list b/Debug/objects.list
deleted file mode 100644
index 1887b12..0000000
--- a/Debug/objects.list
+++ /dev/null
@@ -1,28 +0,0 @@
-"./Core/Src/dev_config.o"
-"./Core/Src/main.o"
-"./Core/Src/stm32l4xx_hal_msp.o"
-"./Core/Src/stm32l4xx_it.o"
-"./Core/Src/syscalls.o"
-"./Core/Src/sysmem.o"
-"./Core/Src/system_stm32l4xx.o"
-"./Core/Src/tsl2591x.o"
-"./Core/Startup/startup_stm32l476rgtx.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o"
-"./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o"
diff --git a/Debug/objects.mk b/Debug/objects.mk
deleted file mode 100644
index 820854b..0000000
--- a/Debug/objects.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (11.3.rel1)
-################################################################################
-
-USER_OBJS :=
-
-LIBS :=
-
diff --git a/Debug/sources.mk b/Debug/sources.mk
deleted file mode 100644
index 6e87b69..0000000
--- a/Debug/sources.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (11.3.rel1)
-################################################################################
-
-C++M_SRCS :=
-CPP_SRCS :=
-S_UPPER_SRCS :=
-O_SRCS :=
-ELF_SRCS :=
-C_UPPER_SRCS :=
-CXX_SRCS :=
-CCM_SRCS :=
-C++_SRCS :=
-OBJ_SRCS :=
-S_SRCS :=
-CC_SRCS :=
-C_SRCS :=
-CXXM_SRCS :=
-CYCLO_FILES :=
-OBJDUMP_LIST :=
-CCM_DEPS :=
-C_UPPER_DEPS :=
-S_DEPS :=
-CXXM_DEPS :=
-C_DEPS :=
-CC_DEPS :=
-SIZE_OUTPUT :=
-C++_DEPS :=
-SU_FILES :=
-EXECUTABLES :=
-OBJS :=
-CXX_DEPS :=
-MAP_FILES :=
-S_UPPER_DEPS :=
-C++M_DEPS :=
-CPP_DEPS :=
-
-# Every subdirectory with source files must be described here
-SUBDIRS := \
-Core/Src \
-Core/Startup \
-Drivers/STM32L4xx_HAL_Driver/Src \
-
diff --git a/Debug/task4.elf b/Debug/task4.elf
deleted file mode 100755
index 215c219..0000000
Binary files a/Debug/task4.elf and /dev/null differ
diff --git a/Debug/task4.list b/Debug/task4.list
deleted file mode 100644
index af992b6..0000000
--- a/Debug/task4.list
+++ /dev/null
@@ -1,17594 +0,0 @@
-
-task4.elf: file format elf32-littlearm
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .isr_vector 00000188 08000000 08000000 00010000 2**0
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00006d50 08000190 08000190 00010190 2**4
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000108 08006ee0 08006ee0 00016ee0 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08006fe8 08006fe8 00020068 2**0
- CONTENTS
- 4 .ARM 00000008 08006fe8 08006fe8 00016fe8 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 5 .preinit_array 00000000 08006ff0 08006ff0 00020068 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08006ff0 08006ff0 00016ff0 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 08006ff4 08006ff4 00016ff4 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 8 .data 00000068 20000000 08006ff8 00020000 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 000002e8 20000068 08007060 00020068 2**2
- ALLOC
- 10 ._user_heap_stack 00000600 20000350 08007060 00020350 2**0
- ALLOC
- 11 .ARM.attributes 00000030 00000000 00000000 00020068 2**0
- CONTENTS, READONLY
- 12 .comment 00000043 00000000 00000000 00020098 2**0
- CONTENTS, READONLY
- 13 .debug_info 0000fbc5 00000000 00000000 000200db 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_abbrev 0000269c 00000000 00000000 0002fca0 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_aranges 00000e20 00000000 00000000 00032340 2**3
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_rnglists 00000add 00000000 00000000 00033160 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_macro 000276ea 00000000 00000000 00033c3d 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_line 00011687 00000000 00000000 0005b327 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .debug_str 000ecb39 00000000 00000000 0006c9ae 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 20 .debug_frame 00004244 00000000 00000000 001594e8 2**2
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 21 .debug_line_str 0000006d 00000000 00000000 0015d72c 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
-
-Disassembly of section .text:
-
-08000190 <__do_global_dtors_aux>:
- 8000190: b510 push {r4, lr}
- 8000192: 4c05 ldr r4, [pc, #20] ; (80001a8 <__do_global_dtors_aux+0x18>)
- 8000194: 7823 ldrb r3, [r4, #0]
- 8000196: b933 cbnz r3, 80001a6 <__do_global_dtors_aux+0x16>
- 8000198: 4b04 ldr r3, [pc, #16] ; (80001ac <__do_global_dtors_aux+0x1c>)
- 800019a: b113 cbz r3, 80001a2 <__do_global_dtors_aux+0x12>
- 800019c: 4804 ldr r0, [pc, #16] ; (80001b0 <__do_global_dtors_aux+0x20>)
- 800019e: f3af 8000 nop.w
- 80001a2: 2301 movs r3, #1
- 80001a4: 7023 strb r3, [r4, #0]
- 80001a6: bd10 pop {r4, pc}
- 80001a8: 20000068 .word 0x20000068
- 80001ac: 00000000 .word 0x00000000
- 80001b0: 08006ec8 .word 0x08006ec8
-
-080001b4 :
- 80001b4: b508 push {r3, lr}
- 80001b6: 4b03 ldr r3, [pc, #12] ; (80001c4 )
- 80001b8: b11b cbz r3, 80001c2
- 80001ba: 4903 ldr r1, [pc, #12] ; (80001c8 )
- 80001bc: 4803 ldr r0, [pc, #12] ; (80001cc )
- 80001be: f3af 8000 nop.w
- 80001c2: bd08 pop {r3, pc}
- 80001c4: 00000000 .word 0x00000000
- 80001c8: 2000006c .word 0x2000006c
- 80001cc: 08006ec8 .word 0x08006ec8
-
-080001d0 :
- 80001d0: f001 01ff and.w r1, r1, #255 ; 0xff
- 80001d4: 2a10 cmp r2, #16
- 80001d6: db2b blt.n 8000230
- 80001d8: f010 0f07 tst.w r0, #7
- 80001dc: d008 beq.n 80001f0
- 80001de: f810 3b01 ldrb.w r3, [r0], #1
- 80001e2: 3a01 subs r2, #1
- 80001e4: 428b cmp r3, r1
- 80001e6: d02d beq.n 8000244
- 80001e8: f010 0f07 tst.w r0, #7
- 80001ec: b342 cbz r2, 8000240
- 80001ee: d1f6 bne.n 80001de
- 80001f0: b4f0 push {r4, r5, r6, r7}
- 80001f2: ea41 2101 orr.w r1, r1, r1, lsl #8
- 80001f6: ea41 4101 orr.w r1, r1, r1, lsl #16
- 80001fa: f022 0407 bic.w r4, r2, #7
- 80001fe: f07f 0700 mvns.w r7, #0
- 8000202: 2300 movs r3, #0
- 8000204: e8f0 5602 ldrd r5, r6, [r0], #8
- 8000208: 3c08 subs r4, #8
- 800020a: ea85 0501 eor.w r5, r5, r1
- 800020e: ea86 0601 eor.w r6, r6, r1
- 8000212: fa85 f547 uadd8 r5, r5, r7
- 8000216: faa3 f587 sel r5, r3, r7
- 800021a: fa86 f647 uadd8 r6, r6, r7
- 800021e: faa5 f687 sel r6, r5, r7
- 8000222: b98e cbnz r6, 8000248
- 8000224: d1ee bne.n 8000204
- 8000226: bcf0 pop {r4, r5, r6, r7}
- 8000228: f001 01ff and.w r1, r1, #255 ; 0xff
- 800022c: f002 0207 and.w r2, r2, #7
- 8000230: b132 cbz r2, 8000240
- 8000232: f810 3b01 ldrb.w r3, [r0], #1
- 8000236: 3a01 subs r2, #1
- 8000238: ea83 0301 eor.w r3, r3, r1
- 800023c: b113 cbz r3, 8000244
- 800023e: d1f8 bne.n 8000232
- 8000240: 2000 movs r0, #0
- 8000242: 4770 bx lr
- 8000244: 3801 subs r0, #1
- 8000246: 4770 bx lr
- 8000248: 2d00 cmp r5, #0
- 800024a: bf06 itte eq
- 800024c: 4635 moveq r5, r6
- 800024e: 3803 subeq r0, #3
- 8000250: 3807 subne r0, #7
- 8000252: f015 0f01 tst.w r5, #1
- 8000256: d107 bne.n 8000268
- 8000258: 3001 adds r0, #1
- 800025a: f415 7f80 tst.w r5, #256 ; 0x100
- 800025e: bf02 ittt eq
- 8000260: 3001 addeq r0, #1
- 8000262: f415 3fc0 tsteq.w r5, #98304 ; 0x18000
- 8000266: 3001 addeq r0, #1
- 8000268: bcf0 pop {r4, r5, r6, r7}
- 800026a: 3801 subs r0, #1
- 800026c: 4770 bx lr
- 800026e: bf00 nop
-
-08000270 <__aeabi_drsub>:
- 8000270: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000
- 8000274: e002 b.n 800027c <__adddf3>
- 8000276: bf00 nop
-
-08000278 <__aeabi_dsub>:
- 8000278: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000
-
-0800027c <__adddf3>:
- 800027c: b530 push {r4, r5, lr}
- 800027e: ea4f 0441 mov.w r4, r1, lsl #1
- 8000282: ea4f 0543 mov.w r5, r3, lsl #1
- 8000286: ea94 0f05 teq r4, r5
- 800028a: bf08 it eq
- 800028c: ea90 0f02 teqeq r0, r2
- 8000290: bf1f itttt ne
- 8000292: ea54 0c00 orrsne.w ip, r4, r0
- 8000296: ea55 0c02 orrsne.w ip, r5, r2
- 800029a: ea7f 5c64 mvnsne.w ip, r4, asr #21
- 800029e: ea7f 5c65 mvnsne.w ip, r5, asr #21
- 80002a2: f000 80e2 beq.w 800046a <__adddf3+0x1ee>
- 80002a6: ea4f 5454 mov.w r4, r4, lsr #21
- 80002aa: ebd4 5555 rsbs r5, r4, r5, lsr #21
- 80002ae: bfb8 it lt
- 80002b0: 426d neglt r5, r5
- 80002b2: dd0c ble.n 80002ce <__adddf3+0x52>
- 80002b4: 442c add r4, r5
- 80002b6: ea80 0202 eor.w r2, r0, r2
- 80002ba: ea81 0303 eor.w r3, r1, r3
- 80002be: ea82 0000 eor.w r0, r2, r0
- 80002c2: ea83 0101 eor.w r1, r3, r1
- 80002c6: ea80 0202 eor.w r2, r0, r2
- 80002ca: ea81 0303 eor.w r3, r1, r3
- 80002ce: 2d36 cmp r5, #54 ; 0x36
- 80002d0: bf88 it hi
- 80002d2: bd30 pophi {r4, r5, pc}
- 80002d4: f011 4f00 tst.w r1, #2147483648 ; 0x80000000
- 80002d8: ea4f 3101 mov.w r1, r1, lsl #12
- 80002dc: f44f 1c80 mov.w ip, #1048576 ; 0x100000
- 80002e0: ea4c 3111 orr.w r1, ip, r1, lsr #12
- 80002e4: d002 beq.n 80002ec <__adddf3+0x70>
- 80002e6: 4240 negs r0, r0
- 80002e8: eb61 0141 sbc.w r1, r1, r1, lsl #1
- 80002ec: f013 4f00 tst.w r3, #2147483648 ; 0x80000000
- 80002f0: ea4f 3303 mov.w r3, r3, lsl #12
- 80002f4: ea4c 3313 orr.w r3, ip, r3, lsr #12
- 80002f8: d002 beq.n 8000300 <__adddf3+0x84>
- 80002fa: 4252 negs r2, r2
- 80002fc: eb63 0343 sbc.w r3, r3, r3, lsl #1
- 8000300: ea94 0f05 teq r4, r5
- 8000304: f000 80a7 beq.w 8000456 <__adddf3+0x1da>
- 8000308: f1a4 0401 sub.w r4, r4, #1
- 800030c: f1d5 0e20 rsbs lr, r5, #32
- 8000310: db0d blt.n 800032e <__adddf3+0xb2>
- 8000312: fa02 fc0e lsl.w ip, r2, lr
- 8000316: fa22 f205 lsr.w r2, r2, r5
- 800031a: 1880 adds r0, r0, r2
- 800031c: f141 0100 adc.w r1, r1, #0
- 8000320: fa03 f20e lsl.w r2, r3, lr
- 8000324: 1880 adds r0, r0, r2
- 8000326: fa43 f305 asr.w r3, r3, r5
- 800032a: 4159 adcs r1, r3
- 800032c: e00e b.n 800034c <__adddf3+0xd0>
- 800032e: f1a5 0520 sub.w r5, r5, #32
- 8000332: f10e 0e20 add.w lr, lr, #32
- 8000336: 2a01 cmp r2, #1
- 8000338: fa03 fc0e lsl.w ip, r3, lr
- 800033c: bf28 it cs
- 800033e: f04c 0c02 orrcs.w ip, ip, #2
- 8000342: fa43 f305 asr.w r3, r3, r5
- 8000346: 18c0 adds r0, r0, r3
- 8000348: eb51 71e3 adcs.w r1, r1, r3, asr #31
- 800034c: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000
- 8000350: d507 bpl.n 8000362 <__adddf3+0xe6>
- 8000352: f04f 0e00 mov.w lr, #0
- 8000356: f1dc 0c00 rsbs ip, ip, #0
- 800035a: eb7e 0000 sbcs.w r0, lr, r0
- 800035e: eb6e 0101 sbc.w r1, lr, r1
- 8000362: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000
- 8000366: d31b bcc.n 80003a0 <__adddf3+0x124>
- 8000368: f5b1 1f00 cmp.w r1, #2097152 ; 0x200000
- 800036c: d30c bcc.n 8000388 <__adddf3+0x10c>
- 800036e: 0849 lsrs r1, r1, #1
- 8000370: ea5f 0030 movs.w r0, r0, rrx
- 8000374: ea4f 0c3c mov.w ip, ip, rrx
- 8000378: f104 0401 add.w r4, r4, #1
- 800037c: ea4f 5244 mov.w r2, r4, lsl #21
- 8000380: f512 0f80 cmn.w r2, #4194304 ; 0x400000
- 8000384: f080 809a bcs.w 80004bc <__adddf3+0x240>
- 8000388: f1bc 4f00 cmp.w ip, #2147483648 ; 0x80000000
- 800038c: bf08 it eq
- 800038e: ea5f 0c50 movseq.w ip, r0, lsr #1
- 8000392: f150 0000 adcs.w r0, r0, #0
- 8000396: eb41 5104 adc.w r1, r1, r4, lsl #20
- 800039a: ea41 0105 orr.w r1, r1, r5
- 800039e: bd30 pop {r4, r5, pc}
- 80003a0: ea5f 0c4c movs.w ip, ip, lsl #1
- 80003a4: 4140 adcs r0, r0
- 80003a6: eb41 0101 adc.w r1, r1, r1
- 80003aa: 3c01 subs r4, #1
- 80003ac: bf28 it cs
- 80003ae: f5b1 1f80 cmpcs.w r1, #1048576 ; 0x100000
- 80003b2: d2e9 bcs.n 8000388 <__adddf3+0x10c>
- 80003b4: f091 0f00 teq r1, #0
- 80003b8: bf04 itt eq
- 80003ba: 4601 moveq r1, r0
- 80003bc: 2000 moveq r0, #0
- 80003be: fab1 f381 clz r3, r1
- 80003c2: bf08 it eq
- 80003c4: 3320 addeq r3, #32
- 80003c6: f1a3 030b sub.w r3, r3, #11
- 80003ca: f1b3 0220 subs.w r2, r3, #32
- 80003ce: da0c bge.n 80003ea <__adddf3+0x16e>
- 80003d0: 320c adds r2, #12
- 80003d2: dd08 ble.n 80003e6 <__adddf3+0x16a>
- 80003d4: f102 0c14 add.w ip, r2, #20
- 80003d8: f1c2 020c rsb r2, r2, #12
- 80003dc: fa01 f00c lsl.w r0, r1, ip
- 80003e0: fa21 f102 lsr.w r1, r1, r2
- 80003e4: e00c b.n 8000400 <__adddf3+0x184>
- 80003e6: f102 0214 add.w r2, r2, #20
- 80003ea: bfd8 it le
- 80003ec: f1c2 0c20 rsble ip, r2, #32
- 80003f0: fa01 f102 lsl.w r1, r1, r2
- 80003f4: fa20 fc0c lsr.w ip, r0, ip
- 80003f8: bfdc itt le
- 80003fa: ea41 010c orrle.w r1, r1, ip
- 80003fe: 4090 lslle r0, r2
- 8000400: 1ae4 subs r4, r4, r3
- 8000402: bfa2 ittt ge
- 8000404: eb01 5104 addge.w r1, r1, r4, lsl #20
- 8000408: 4329 orrge r1, r5
- 800040a: bd30 popge {r4, r5, pc}
- 800040c: ea6f 0404 mvn.w r4, r4
- 8000410: 3c1f subs r4, #31
- 8000412: da1c bge.n 800044e <__adddf3+0x1d2>
- 8000414: 340c adds r4, #12
- 8000416: dc0e bgt.n 8000436 <__adddf3+0x1ba>
- 8000418: f104 0414 add.w r4, r4, #20
- 800041c: f1c4 0220 rsb r2, r4, #32
- 8000420: fa20 f004 lsr.w r0, r0, r4
- 8000424: fa01 f302 lsl.w r3, r1, r2
- 8000428: ea40 0003 orr.w r0, r0, r3
- 800042c: fa21 f304 lsr.w r3, r1, r4
- 8000430: ea45 0103 orr.w r1, r5, r3
- 8000434: bd30 pop {r4, r5, pc}
- 8000436: f1c4 040c rsb r4, r4, #12
- 800043a: f1c4 0220 rsb r2, r4, #32
- 800043e: fa20 f002 lsr.w r0, r0, r2
- 8000442: fa01 f304 lsl.w r3, r1, r4
- 8000446: ea40 0003 orr.w r0, r0, r3
- 800044a: 4629 mov r1, r5
- 800044c: bd30 pop {r4, r5, pc}
- 800044e: fa21 f004 lsr.w r0, r1, r4
- 8000452: 4629 mov r1, r5
- 8000454: bd30 pop {r4, r5, pc}
- 8000456: f094 0f00 teq r4, #0
- 800045a: f483 1380 eor.w r3, r3, #1048576 ; 0x100000
- 800045e: bf06 itte eq
- 8000460: f481 1180 eoreq.w r1, r1, #1048576 ; 0x100000
- 8000464: 3401 addeq r4, #1
- 8000466: 3d01 subne r5, #1
- 8000468: e74e b.n 8000308 <__adddf3+0x8c>
- 800046a: ea7f 5c64 mvns.w ip, r4, asr #21
- 800046e: bf18 it ne
- 8000470: ea7f 5c65 mvnsne.w ip, r5, asr #21
- 8000474: d029 beq.n 80004ca <__adddf3+0x24e>
- 8000476: ea94 0f05 teq r4, r5
- 800047a: bf08 it eq
- 800047c: ea90 0f02 teqeq r0, r2
- 8000480: d005 beq.n 800048e <__adddf3+0x212>
- 8000482: ea54 0c00 orrs.w ip, r4, r0
- 8000486: bf04 itt eq
- 8000488: 4619 moveq r1, r3
- 800048a: 4610 moveq r0, r2
- 800048c: bd30 pop {r4, r5, pc}
- 800048e: ea91 0f03 teq r1, r3
- 8000492: bf1e ittt ne
- 8000494: 2100 movne r1, #0
- 8000496: 2000 movne r0, #0
- 8000498: bd30 popne {r4, r5, pc}
- 800049a: ea5f 5c54 movs.w ip, r4, lsr #21
- 800049e: d105 bne.n 80004ac <__adddf3+0x230>
- 80004a0: 0040 lsls r0, r0, #1
- 80004a2: 4149 adcs r1, r1
- 80004a4: bf28 it cs
- 80004a6: f041 4100 orrcs.w r1, r1, #2147483648 ; 0x80000000
- 80004aa: bd30 pop {r4, r5, pc}
- 80004ac: f514 0480 adds.w r4, r4, #4194304 ; 0x400000
- 80004b0: bf3c itt cc
- 80004b2: f501 1180 addcc.w r1, r1, #1048576 ; 0x100000
- 80004b6: bd30 popcc {r4, r5, pc}
- 80004b8: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000
- 80004bc: f045 41fe orr.w r1, r5, #2130706432 ; 0x7f000000
- 80004c0: f441 0170 orr.w r1, r1, #15728640 ; 0xf00000
- 80004c4: f04f 0000 mov.w r0, #0
- 80004c8: bd30 pop {r4, r5, pc}
- 80004ca: ea7f 5c64 mvns.w ip, r4, asr #21
- 80004ce: bf1a itte ne
- 80004d0: 4619 movne r1, r3
- 80004d2: 4610 movne r0, r2
- 80004d4: ea7f 5c65 mvnseq.w ip, r5, asr #21
- 80004d8: bf1c itt ne
- 80004da: 460b movne r3, r1
- 80004dc: 4602 movne r2, r0
- 80004de: ea50 3401 orrs.w r4, r0, r1, lsl #12
- 80004e2: bf06 itte eq
- 80004e4: ea52 3503 orrseq.w r5, r2, r3, lsl #12
- 80004e8: ea91 0f03 teqeq r1, r3
- 80004ec: f441 2100 orrne.w r1, r1, #524288 ; 0x80000
- 80004f0: bd30 pop {r4, r5, pc}
- 80004f2: bf00 nop
-
-080004f4 <__aeabi_ui2d>:
- 80004f4: f090 0f00 teq r0, #0
- 80004f8: bf04 itt eq
- 80004fa: 2100 moveq r1, #0
- 80004fc: 4770 bxeq lr
- 80004fe: b530 push {r4, r5, lr}
- 8000500: f44f 6480 mov.w r4, #1024 ; 0x400
- 8000504: f104 0432 add.w r4, r4, #50 ; 0x32
- 8000508: f04f 0500 mov.w r5, #0
- 800050c: f04f 0100 mov.w r1, #0
- 8000510: e750 b.n 80003b4 <__adddf3+0x138>
- 8000512: bf00 nop
-
-08000514 <__aeabi_i2d>:
- 8000514: f090 0f00 teq r0, #0
- 8000518: bf04 itt eq
- 800051a: 2100 moveq r1, #0
- 800051c: 4770 bxeq lr
- 800051e: b530 push {r4, r5, lr}
- 8000520: f44f 6480 mov.w r4, #1024 ; 0x400
- 8000524: f104 0432 add.w r4, r4, #50 ; 0x32
- 8000528: f010 4500 ands.w r5, r0, #2147483648 ; 0x80000000
- 800052c: bf48 it mi
- 800052e: 4240 negmi r0, r0
- 8000530: f04f 0100 mov.w r1, #0
- 8000534: e73e b.n 80003b4 <__adddf3+0x138>
- 8000536: bf00 nop
-
-08000538 <__aeabi_f2d>:
- 8000538: 0042 lsls r2, r0, #1
- 800053a: ea4f 01e2 mov.w r1, r2, asr #3
- 800053e: ea4f 0131 mov.w r1, r1, rrx
- 8000542: ea4f 7002 mov.w r0, r2, lsl #28
- 8000546: bf1f itttt ne
- 8000548: f012 437f andsne.w r3, r2, #4278190080 ; 0xff000000
- 800054c: f093 4f7f teqne r3, #4278190080 ; 0xff000000
- 8000550: f081 5160 eorne.w r1, r1, #939524096 ; 0x38000000
- 8000554: 4770 bxne lr
- 8000556: f032 427f bics.w r2, r2, #4278190080 ; 0xff000000
- 800055a: bf08 it eq
- 800055c: 4770 bxeq lr
- 800055e: f093 4f7f teq r3, #4278190080 ; 0xff000000
- 8000562: bf04 itt eq
- 8000564: f441 2100 orreq.w r1, r1, #524288 ; 0x80000
- 8000568: 4770 bxeq lr
- 800056a: b530 push {r4, r5, lr}
- 800056c: f44f 7460 mov.w r4, #896 ; 0x380
- 8000570: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000
- 8000574: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000
- 8000578: e71c b.n 80003b4 <__adddf3+0x138>
- 800057a: bf00 nop
-
-0800057c <__aeabi_ul2d>:
- 800057c: ea50 0201 orrs.w r2, r0, r1
- 8000580: bf08 it eq
- 8000582: 4770 bxeq lr
- 8000584: b530 push {r4, r5, lr}
- 8000586: f04f 0500 mov.w r5, #0
- 800058a: e00a b.n 80005a2 <__aeabi_l2d+0x16>
-
-0800058c <__aeabi_l2d>:
- 800058c: ea50 0201 orrs.w r2, r0, r1
- 8000590: bf08 it eq
- 8000592: 4770 bxeq lr
- 8000594: b530 push {r4, r5, lr}
- 8000596: f011 4500 ands.w r5, r1, #2147483648 ; 0x80000000
- 800059a: d502 bpl.n 80005a2 <__aeabi_l2d+0x16>
- 800059c: 4240 negs r0, r0
- 800059e: eb61 0141 sbc.w r1, r1, r1, lsl #1
- 80005a2: f44f 6480 mov.w r4, #1024 ; 0x400
- 80005a6: f104 0432 add.w r4, r4, #50 ; 0x32
- 80005aa: ea5f 5c91 movs.w ip, r1, lsr #22
- 80005ae: f43f aed8 beq.w 8000362 <__adddf3+0xe6>
- 80005b2: f04f 0203 mov.w r2, #3
- 80005b6: ea5f 0cdc movs.w ip, ip, lsr #3
- 80005ba: bf18 it ne
- 80005bc: 3203 addne r2, #3
- 80005be: ea5f 0cdc movs.w ip, ip, lsr #3
- 80005c2: bf18 it ne
- 80005c4: 3203 addne r2, #3
- 80005c6: eb02 02dc add.w r2, r2, ip, lsr #3
- 80005ca: f1c2 0320 rsb r3, r2, #32
- 80005ce: fa00 fc03 lsl.w ip, r0, r3
- 80005d2: fa20 f002 lsr.w r0, r0, r2
- 80005d6: fa01 fe03 lsl.w lr, r1, r3
- 80005da: ea40 000e orr.w r0, r0, lr
- 80005de: fa21 f102 lsr.w r1, r1, r2
- 80005e2: 4414 add r4, r2
- 80005e4: e6bd b.n 8000362 <__adddf3+0xe6>
- 80005e6: bf00 nop
-
-080005e8 <__aeabi_dmul>:
- 80005e8: b570 push {r4, r5, r6, lr}
- 80005ea: f04f 0cff mov.w ip, #255 ; 0xff
- 80005ee: f44c 6ce0 orr.w ip, ip, #1792 ; 0x700
- 80005f2: ea1c 5411 ands.w r4, ip, r1, lsr #20
- 80005f6: bf1d ittte ne
- 80005f8: ea1c 5513 andsne.w r5, ip, r3, lsr #20
- 80005fc: ea94 0f0c teqne r4, ip
- 8000600: ea95 0f0c teqne r5, ip
- 8000604: f000 f8de bleq 80007c4 <__aeabi_dmul+0x1dc>
- 8000608: 442c add r4, r5
- 800060a: ea81 0603 eor.w r6, r1, r3
- 800060e: ea21 514c bic.w r1, r1, ip, lsl #21
- 8000612: ea23 534c bic.w r3, r3, ip, lsl #21
- 8000616: ea50 3501 orrs.w r5, r0, r1, lsl #12
- 800061a: bf18 it ne
- 800061c: ea52 3503 orrsne.w r5, r2, r3, lsl #12
- 8000620: f441 1180 orr.w r1, r1, #1048576 ; 0x100000
- 8000624: f443 1380 orr.w r3, r3, #1048576 ; 0x100000
- 8000628: d038 beq.n 800069c <__aeabi_dmul+0xb4>
- 800062a: fba0 ce02 umull ip, lr, r0, r2
- 800062e: f04f 0500 mov.w r5, #0
- 8000632: fbe1 e502 umlal lr, r5, r1, r2
- 8000636: f006 4200 and.w r2, r6, #2147483648 ; 0x80000000
- 800063a: fbe0 e503 umlal lr, r5, r0, r3
- 800063e: f04f 0600 mov.w r6, #0
- 8000642: fbe1 5603 umlal r5, r6, r1, r3
- 8000646: f09c 0f00 teq ip, #0
- 800064a: bf18 it ne
- 800064c: f04e 0e01 orrne.w lr, lr, #1
- 8000650: f1a4 04ff sub.w r4, r4, #255 ; 0xff
- 8000654: f5b6 7f00 cmp.w r6, #512 ; 0x200
- 8000658: f564 7440 sbc.w r4, r4, #768 ; 0x300
- 800065c: d204 bcs.n 8000668 <__aeabi_dmul+0x80>
- 800065e: ea5f 0e4e movs.w lr, lr, lsl #1
- 8000662: 416d adcs r5, r5
- 8000664: eb46 0606 adc.w r6, r6, r6
- 8000668: ea42 21c6 orr.w r1, r2, r6, lsl #11
- 800066c: ea41 5155 orr.w r1, r1, r5, lsr #21
- 8000670: ea4f 20c5 mov.w r0, r5, lsl #11
- 8000674: ea40 505e orr.w r0, r0, lr, lsr #21
- 8000678: ea4f 2ece mov.w lr, lr, lsl #11
- 800067c: f1b4 0cfd subs.w ip, r4, #253 ; 0xfd
- 8000680: bf88 it hi
- 8000682: f5bc 6fe0 cmphi.w ip, #1792 ; 0x700
- 8000686: d81e bhi.n 80006c6 <__aeabi_dmul+0xde>
- 8000688: f1be 4f00 cmp.w lr, #2147483648 ; 0x80000000
- 800068c: bf08 it eq
- 800068e: ea5f 0e50 movseq.w lr, r0, lsr #1
- 8000692: f150 0000 adcs.w r0, r0, #0
- 8000696: eb41 5104 adc.w r1, r1, r4, lsl #20
- 800069a: bd70 pop {r4, r5, r6, pc}
- 800069c: f006 4600 and.w r6, r6, #2147483648 ; 0x80000000
- 80006a0: ea46 0101 orr.w r1, r6, r1
- 80006a4: ea40 0002 orr.w r0, r0, r2
- 80006a8: ea81 0103 eor.w r1, r1, r3
- 80006ac: ebb4 045c subs.w r4, r4, ip, lsr #1
- 80006b0: bfc2 ittt gt
- 80006b2: ebd4 050c rsbsgt r5, r4, ip
- 80006b6: ea41 5104 orrgt.w r1, r1, r4, lsl #20
- 80006ba: bd70 popgt {r4, r5, r6, pc}
- 80006bc: f441 1180 orr.w r1, r1, #1048576 ; 0x100000
- 80006c0: f04f 0e00 mov.w lr, #0
- 80006c4: 3c01 subs r4, #1
- 80006c6: f300 80ab bgt.w 8000820 <__aeabi_dmul+0x238>
- 80006ca: f114 0f36 cmn.w r4, #54 ; 0x36
- 80006ce: bfde ittt le
- 80006d0: 2000 movle r0, #0
- 80006d2: f001 4100 andle.w r1, r1, #2147483648 ; 0x80000000
- 80006d6: bd70 pople {r4, r5, r6, pc}
- 80006d8: f1c4 0400 rsb r4, r4, #0
- 80006dc: 3c20 subs r4, #32
- 80006de: da35 bge.n 800074c <__aeabi_dmul+0x164>
- 80006e0: 340c adds r4, #12
- 80006e2: dc1b bgt.n 800071c <__aeabi_dmul+0x134>
- 80006e4: f104 0414 add.w r4, r4, #20
- 80006e8: f1c4 0520 rsb r5, r4, #32
- 80006ec: fa00 f305 lsl.w r3, r0, r5
- 80006f0: fa20 f004 lsr.w r0, r0, r4
- 80006f4: fa01 f205 lsl.w r2, r1, r5
- 80006f8: ea40 0002 orr.w r0, r0, r2
- 80006fc: f001 4200 and.w r2, r1, #2147483648 ; 0x80000000
- 8000700: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000
- 8000704: eb10 70d3 adds.w r0, r0, r3, lsr #31
- 8000708: fa21 f604 lsr.w r6, r1, r4
- 800070c: eb42 0106 adc.w r1, r2, r6
- 8000710: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 8000714: bf08 it eq
- 8000716: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 800071a: bd70 pop {r4, r5, r6, pc}
- 800071c: f1c4 040c rsb r4, r4, #12
- 8000720: f1c4 0520 rsb r5, r4, #32
- 8000724: fa00 f304 lsl.w r3, r0, r4
- 8000728: fa20 f005 lsr.w r0, r0, r5
- 800072c: fa01 f204 lsl.w r2, r1, r4
- 8000730: ea40 0002 orr.w r0, r0, r2
- 8000734: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 8000738: eb10 70d3 adds.w r0, r0, r3, lsr #31
- 800073c: f141 0100 adc.w r1, r1, #0
- 8000740: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 8000744: bf08 it eq
- 8000746: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 800074a: bd70 pop {r4, r5, r6, pc}
- 800074c: f1c4 0520 rsb r5, r4, #32
- 8000750: fa00 f205 lsl.w r2, r0, r5
- 8000754: ea4e 0e02 orr.w lr, lr, r2
- 8000758: fa20 f304 lsr.w r3, r0, r4
- 800075c: fa01 f205 lsl.w r2, r1, r5
- 8000760: ea43 0302 orr.w r3, r3, r2
- 8000764: fa21 f004 lsr.w r0, r1, r4
- 8000768: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 800076c: fa21 f204 lsr.w r2, r1, r4
- 8000770: ea20 0002 bic.w r0, r0, r2
- 8000774: eb00 70d3 add.w r0, r0, r3, lsr #31
- 8000778: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 800077c: bf08 it eq
- 800077e: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 8000782: bd70 pop {r4, r5, r6, pc}
- 8000784: f094 0f00 teq r4, #0
- 8000788: d10f bne.n 80007aa <__aeabi_dmul+0x1c2>
- 800078a: f001 4600 and.w r6, r1, #2147483648 ; 0x80000000
- 800078e: 0040 lsls r0, r0, #1
- 8000790: eb41 0101 adc.w r1, r1, r1
- 8000794: f411 1f80 tst.w r1, #1048576 ; 0x100000
- 8000798: bf08 it eq
- 800079a: 3c01 subeq r4, #1
- 800079c: d0f7 beq.n 800078e <__aeabi_dmul+0x1a6>
- 800079e: ea41 0106 orr.w r1, r1, r6
- 80007a2: f095 0f00 teq r5, #0
- 80007a6: bf18 it ne
- 80007a8: 4770 bxne lr
- 80007aa: f003 4600 and.w r6, r3, #2147483648 ; 0x80000000
- 80007ae: 0052 lsls r2, r2, #1
- 80007b0: eb43 0303 adc.w r3, r3, r3
- 80007b4: f413 1f80 tst.w r3, #1048576 ; 0x100000
- 80007b8: bf08 it eq
- 80007ba: 3d01 subeq r5, #1
- 80007bc: d0f7 beq.n 80007ae <__aeabi_dmul+0x1c6>
- 80007be: ea43 0306 orr.w r3, r3, r6
- 80007c2: 4770 bx lr
- 80007c4: ea94 0f0c teq r4, ip
- 80007c8: ea0c 5513 and.w r5, ip, r3, lsr #20
- 80007cc: bf18 it ne
- 80007ce: ea95 0f0c teqne r5, ip
- 80007d2: d00c beq.n 80007ee <__aeabi_dmul+0x206>
- 80007d4: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 80007d8: bf18 it ne
- 80007da: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 80007de: d1d1 bne.n 8000784 <__aeabi_dmul+0x19c>
- 80007e0: ea81 0103 eor.w r1, r1, r3
- 80007e4: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 80007e8: f04f 0000 mov.w r0, #0
- 80007ec: bd70 pop {r4, r5, r6, pc}
- 80007ee: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 80007f2: bf06 itte eq
- 80007f4: 4610 moveq r0, r2
- 80007f6: 4619 moveq r1, r3
- 80007f8: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 80007fc: d019 beq.n 8000832 <__aeabi_dmul+0x24a>
- 80007fe: ea94 0f0c teq r4, ip
- 8000802: d102 bne.n 800080a <__aeabi_dmul+0x222>
- 8000804: ea50 3601 orrs.w r6, r0, r1, lsl #12
- 8000808: d113 bne.n 8000832 <__aeabi_dmul+0x24a>
- 800080a: ea95 0f0c teq r5, ip
- 800080e: d105 bne.n 800081c <__aeabi_dmul+0x234>
- 8000810: ea52 3603 orrs.w r6, r2, r3, lsl #12
- 8000814: bf1c itt ne
- 8000816: 4610 movne r0, r2
- 8000818: 4619 movne r1, r3
- 800081a: d10a bne.n 8000832 <__aeabi_dmul+0x24a>
- 800081c: ea81 0103 eor.w r1, r1, r3
- 8000820: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 8000824: f041 41fe orr.w r1, r1, #2130706432 ; 0x7f000000
- 8000828: f441 0170 orr.w r1, r1, #15728640 ; 0xf00000
- 800082c: f04f 0000 mov.w r0, #0
- 8000830: bd70 pop {r4, r5, r6, pc}
- 8000832: f041 41fe orr.w r1, r1, #2130706432 ; 0x7f000000
- 8000836: f441 0178 orr.w r1, r1, #16252928 ; 0xf80000
- 800083a: bd70 pop {r4, r5, r6, pc}
-
-0800083c <__aeabi_ddiv>:
- 800083c: b570 push {r4, r5, r6, lr}
- 800083e: f04f 0cff mov.w ip, #255 ; 0xff
- 8000842: f44c 6ce0 orr.w ip, ip, #1792 ; 0x700
- 8000846: ea1c 5411 ands.w r4, ip, r1, lsr #20
- 800084a: bf1d ittte ne
- 800084c: ea1c 5513 andsne.w r5, ip, r3, lsr #20
- 8000850: ea94 0f0c teqne r4, ip
- 8000854: ea95 0f0c teqne r5, ip
- 8000858: f000 f8a7 bleq 80009aa <__aeabi_ddiv+0x16e>
- 800085c: eba4 0405 sub.w r4, r4, r5
- 8000860: ea81 0e03 eor.w lr, r1, r3
- 8000864: ea52 3503 orrs.w r5, r2, r3, lsl #12
- 8000868: ea4f 3101 mov.w r1, r1, lsl #12
- 800086c: f000 8088 beq.w 8000980 <__aeabi_ddiv+0x144>
- 8000870: ea4f 3303 mov.w r3, r3, lsl #12
- 8000874: f04f 5580 mov.w r5, #268435456 ; 0x10000000
- 8000878: ea45 1313 orr.w r3, r5, r3, lsr #4
- 800087c: ea43 6312 orr.w r3, r3, r2, lsr #24
- 8000880: ea4f 2202 mov.w r2, r2, lsl #8
- 8000884: ea45 1511 orr.w r5, r5, r1, lsr #4
- 8000888: ea45 6510 orr.w r5, r5, r0, lsr #24
- 800088c: ea4f 2600 mov.w r6, r0, lsl #8
- 8000890: f00e 4100 and.w r1, lr, #2147483648 ; 0x80000000
- 8000894: 429d cmp r5, r3
- 8000896: bf08 it eq
- 8000898: 4296 cmpeq r6, r2
- 800089a: f144 04fd adc.w r4, r4, #253 ; 0xfd
- 800089e: f504 7440 add.w r4, r4, #768 ; 0x300
- 80008a2: d202 bcs.n 80008aa <__aeabi_ddiv+0x6e>
- 80008a4: 085b lsrs r3, r3, #1
- 80008a6: ea4f 0232 mov.w r2, r2, rrx
- 80008aa: 1ab6 subs r6, r6, r2
- 80008ac: eb65 0503 sbc.w r5, r5, r3
- 80008b0: 085b lsrs r3, r3, #1
- 80008b2: ea4f 0232 mov.w r2, r2, rrx
- 80008b6: f44f 1080 mov.w r0, #1048576 ; 0x100000
- 80008ba: f44f 2c00 mov.w ip, #524288 ; 0x80000
- 80008be: ebb6 0e02 subs.w lr, r6, r2
- 80008c2: eb75 0e03 sbcs.w lr, r5, r3
- 80008c6: bf22 ittt cs
- 80008c8: 1ab6 subcs r6, r6, r2
- 80008ca: 4675 movcs r5, lr
- 80008cc: ea40 000c orrcs.w r0, r0, ip
- 80008d0: 085b lsrs r3, r3, #1
- 80008d2: ea4f 0232 mov.w r2, r2, rrx
- 80008d6: ebb6 0e02 subs.w lr, r6, r2
- 80008da: eb75 0e03 sbcs.w lr, r5, r3
- 80008de: bf22 ittt cs
- 80008e0: 1ab6 subcs r6, r6, r2
- 80008e2: 4675 movcs r5, lr
- 80008e4: ea40 005c orrcs.w r0, r0, ip, lsr #1
- 80008e8: 085b lsrs r3, r3, #1
- 80008ea: ea4f 0232 mov.w r2, r2, rrx
- 80008ee: ebb6 0e02 subs.w lr, r6, r2
- 80008f2: eb75 0e03 sbcs.w lr, r5, r3
- 80008f6: bf22 ittt cs
- 80008f8: 1ab6 subcs r6, r6, r2
- 80008fa: 4675 movcs r5, lr
- 80008fc: ea40 009c orrcs.w r0, r0, ip, lsr #2
- 8000900: 085b lsrs r3, r3, #1
- 8000902: ea4f 0232 mov.w r2, r2, rrx
- 8000906: ebb6 0e02 subs.w lr, r6, r2
- 800090a: eb75 0e03 sbcs.w lr, r5, r3
- 800090e: bf22 ittt cs
- 8000910: 1ab6 subcs r6, r6, r2
- 8000912: 4675 movcs r5, lr
- 8000914: ea40 00dc orrcs.w r0, r0, ip, lsr #3
- 8000918: ea55 0e06 orrs.w lr, r5, r6
- 800091c: d018 beq.n 8000950 <__aeabi_ddiv+0x114>
- 800091e: ea4f 1505 mov.w r5, r5, lsl #4
- 8000922: ea45 7516 orr.w r5, r5, r6, lsr #28
- 8000926: ea4f 1606 mov.w r6, r6, lsl #4
- 800092a: ea4f 03c3 mov.w r3, r3, lsl #3
- 800092e: ea43 7352 orr.w r3, r3, r2, lsr #29
- 8000932: ea4f 02c2 mov.w r2, r2, lsl #3
- 8000936: ea5f 1c1c movs.w ip, ip, lsr #4
- 800093a: d1c0 bne.n 80008be <__aeabi_ddiv+0x82>
- 800093c: f411 1f80 tst.w r1, #1048576 ; 0x100000
- 8000940: d10b bne.n 800095a <__aeabi_ddiv+0x11e>
- 8000942: ea41 0100 orr.w r1, r1, r0
- 8000946: f04f 0000 mov.w r0, #0
- 800094a: f04f 4c00 mov.w ip, #2147483648 ; 0x80000000
- 800094e: e7b6 b.n 80008be <__aeabi_ddiv+0x82>
- 8000950: f411 1f80 tst.w r1, #1048576 ; 0x100000
- 8000954: bf04 itt eq
- 8000956: 4301 orreq r1, r0
- 8000958: 2000 moveq r0, #0
- 800095a: f1b4 0cfd subs.w ip, r4, #253 ; 0xfd
- 800095e: bf88 it hi
- 8000960: f5bc 6fe0 cmphi.w ip, #1792 ; 0x700
- 8000964: f63f aeaf bhi.w 80006c6 <__aeabi_dmul+0xde>
- 8000968: ebb5 0c03 subs.w ip, r5, r3
- 800096c: bf04 itt eq
- 800096e: ebb6 0c02 subseq.w ip, r6, r2
- 8000972: ea5f 0c50 movseq.w ip, r0, lsr #1
- 8000976: f150 0000 adcs.w r0, r0, #0
- 800097a: eb41 5104 adc.w r1, r1, r4, lsl #20
- 800097e: bd70 pop {r4, r5, r6, pc}
- 8000980: f00e 4e00 and.w lr, lr, #2147483648 ; 0x80000000
- 8000984: ea4e 3111 orr.w r1, lr, r1, lsr #12
- 8000988: eb14 045c adds.w r4, r4, ip, lsr #1
- 800098c: bfc2 ittt gt
- 800098e: ebd4 050c rsbsgt r5, r4, ip
- 8000992: ea41 5104 orrgt.w r1, r1, r4, lsl #20
- 8000996: bd70 popgt {r4, r5, r6, pc}
- 8000998: f441 1180 orr.w r1, r1, #1048576 ; 0x100000
- 800099c: f04f 0e00 mov.w lr, #0
- 80009a0: 3c01 subs r4, #1
- 80009a2: e690 b.n 80006c6 <__aeabi_dmul+0xde>
- 80009a4: ea45 0e06 orr.w lr, r5, r6
- 80009a8: e68d b.n 80006c6 <__aeabi_dmul+0xde>
- 80009aa: ea0c 5513 and.w r5, ip, r3, lsr #20
- 80009ae: ea94 0f0c teq r4, ip
- 80009b2: bf08 it eq
- 80009b4: ea95 0f0c teqeq r5, ip
- 80009b8: f43f af3b beq.w 8000832 <__aeabi_dmul+0x24a>
- 80009bc: ea94 0f0c teq r4, ip
- 80009c0: d10a bne.n 80009d8 <__aeabi_ddiv+0x19c>
- 80009c2: ea50 3401 orrs.w r4, r0, r1, lsl #12
- 80009c6: f47f af34 bne.w 8000832 <__aeabi_dmul+0x24a>
- 80009ca: ea95 0f0c teq r5, ip
- 80009ce: f47f af25 bne.w 800081c <__aeabi_dmul+0x234>
- 80009d2: 4610 mov r0, r2
- 80009d4: 4619 mov r1, r3
- 80009d6: e72c b.n 8000832 <__aeabi_dmul+0x24a>
- 80009d8: ea95 0f0c teq r5, ip
- 80009dc: d106 bne.n 80009ec <__aeabi_ddiv+0x1b0>
- 80009de: ea52 3503 orrs.w r5, r2, r3, lsl #12
- 80009e2: f43f aefd beq.w 80007e0 <__aeabi_dmul+0x1f8>
- 80009e6: 4610 mov r0, r2
- 80009e8: 4619 mov r1, r3
- 80009ea: e722 b.n 8000832 <__aeabi_dmul+0x24a>
- 80009ec: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 80009f0: bf18 it ne
- 80009f2: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 80009f6: f47f aec5 bne.w 8000784 <__aeabi_dmul+0x19c>
- 80009fa: ea50 0441 orrs.w r4, r0, r1, lsl #1
- 80009fe: f47f af0d bne.w 800081c <__aeabi_dmul+0x234>
- 8000a02: ea52 0543 orrs.w r5, r2, r3, lsl #1
- 8000a06: f47f aeeb bne.w 80007e0 <__aeabi_dmul+0x1f8>
- 8000a0a: e712 b.n 8000832 <__aeabi_dmul+0x24a>
-
-08000a0c <__aeabi_d2iz>:
- 8000a0c: ea4f 0241 mov.w r2, r1, lsl #1
- 8000a10: f512 1200 adds.w r2, r2, #2097152 ; 0x200000
- 8000a14: d215 bcs.n 8000a42 <__aeabi_d2iz+0x36>
- 8000a16: d511 bpl.n 8000a3c <__aeabi_d2iz+0x30>
- 8000a18: f46f 7378 mvn.w r3, #992 ; 0x3e0
- 8000a1c: ebb3 5262 subs.w r2, r3, r2, asr #21
- 8000a20: d912 bls.n 8000a48 <__aeabi_d2iz+0x3c>
- 8000a22: ea4f 23c1 mov.w r3, r1, lsl #11
- 8000a26: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000
- 8000a2a: ea43 5350 orr.w r3, r3, r0, lsr #21
- 8000a2e: f011 4f00 tst.w r1, #2147483648 ; 0x80000000
- 8000a32: fa23 f002 lsr.w r0, r3, r2
- 8000a36: bf18 it ne
- 8000a38: 4240 negne r0, r0
- 8000a3a: 4770 bx lr
- 8000a3c: f04f 0000 mov.w r0, #0
- 8000a40: 4770 bx lr
- 8000a42: ea50 3001 orrs.w r0, r0, r1, lsl #12
- 8000a46: d105 bne.n 8000a54 <__aeabi_d2iz+0x48>
- 8000a48: f011 4000 ands.w r0, r1, #2147483648 ; 0x80000000
- 8000a4c: bf08 it eq
- 8000a4e: f06f 4000 mvneq.w r0, #2147483648 ; 0x80000000
- 8000a52: 4770 bx lr
- 8000a54: f04f 0000 mov.w r0, #0
- 8000a58: 4770 bx lr
- 8000a5a: bf00 nop
-
-08000a5c <__aeabi_uldivmod>:
- 8000a5c: b953 cbnz r3, 8000a74 <__aeabi_uldivmod+0x18>
- 8000a5e: b94a cbnz r2, 8000a74 <__aeabi_uldivmod+0x18>
- 8000a60: 2900 cmp r1, #0
- 8000a62: bf08 it eq
- 8000a64: 2800 cmpeq r0, #0
- 8000a66: bf1c itt ne
- 8000a68: f04f 31ff movne.w r1, #4294967295 ; 0xffffffff
- 8000a6c: f04f 30ff movne.w r0, #4294967295 ; 0xffffffff
- 8000a70: f000 b970 b.w 8000d54 <__aeabi_idiv0>
- 8000a74: f1ad 0c08 sub.w ip, sp, #8
- 8000a78: e96d ce04 strd ip, lr, [sp, #-16]!
- 8000a7c: f000 f806 bl 8000a8c <__udivmoddi4>
- 8000a80: f8dd e004 ldr.w lr, [sp, #4]
- 8000a84: e9dd 2302 ldrd r2, r3, [sp, #8]
- 8000a88: b004 add sp, #16
- 8000a8a: 4770 bx lr
-
-08000a8c <__udivmoddi4>:
- 8000a8c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8000a90: 9e08 ldr r6, [sp, #32]
- 8000a92: 460d mov r5, r1
- 8000a94: 4604 mov r4, r0
- 8000a96: 460f mov r7, r1
- 8000a98: 2b00 cmp r3, #0
- 8000a9a: d14a bne.n 8000b32 <__udivmoddi4+0xa6>
- 8000a9c: 428a cmp r2, r1
- 8000a9e: 4694 mov ip, r2
- 8000aa0: d965 bls.n 8000b6e <__udivmoddi4+0xe2>
- 8000aa2: fab2 f382 clz r3, r2
- 8000aa6: b143 cbz r3, 8000aba <__udivmoddi4+0x2e>
- 8000aa8: fa02 fc03 lsl.w ip, r2, r3
- 8000aac: f1c3 0220 rsb r2, r3, #32
- 8000ab0: 409f lsls r7, r3
- 8000ab2: fa20 f202 lsr.w r2, r0, r2
- 8000ab6: 4317 orrs r7, r2
- 8000ab8: 409c lsls r4, r3
- 8000aba: ea4f 4e1c mov.w lr, ip, lsr #16
- 8000abe: fa1f f58c uxth.w r5, ip
- 8000ac2: fbb7 f1fe udiv r1, r7, lr
- 8000ac6: 0c22 lsrs r2, r4, #16
- 8000ac8: fb0e 7711 mls r7, lr, r1, r7
- 8000acc: ea42 4207 orr.w r2, r2, r7, lsl #16
- 8000ad0: fb01 f005 mul.w r0, r1, r5
- 8000ad4: 4290 cmp r0, r2
- 8000ad6: d90a bls.n 8000aee <__udivmoddi4+0x62>
- 8000ad8: eb1c 0202 adds.w r2, ip, r2
- 8000adc: f101 37ff add.w r7, r1, #4294967295 ; 0xffffffff
- 8000ae0: f080 811c bcs.w 8000d1c <__udivmoddi4+0x290>
- 8000ae4: 4290 cmp r0, r2
- 8000ae6: f240 8119 bls.w 8000d1c <__udivmoddi4+0x290>
- 8000aea: 3902 subs r1, #2
- 8000aec: 4462 add r2, ip
- 8000aee: 1a12 subs r2, r2, r0
- 8000af0: b2a4 uxth r4, r4
- 8000af2: fbb2 f0fe udiv r0, r2, lr
- 8000af6: fb0e 2210 mls r2, lr, r0, r2
- 8000afa: ea44 4402 orr.w r4, r4, r2, lsl #16
- 8000afe: fb00 f505 mul.w r5, r0, r5
- 8000b02: 42a5 cmp r5, r4
- 8000b04: d90a bls.n 8000b1c <__udivmoddi4+0x90>
- 8000b06: eb1c 0404 adds.w r4, ip, r4
- 8000b0a: f100 32ff add.w r2, r0, #4294967295 ; 0xffffffff
- 8000b0e: f080 8107 bcs.w 8000d20 <__udivmoddi4+0x294>
- 8000b12: 42a5 cmp r5, r4
- 8000b14: f240 8104 bls.w 8000d20 <__udivmoddi4+0x294>
- 8000b18: 4464 add r4, ip
- 8000b1a: 3802 subs r0, #2
- 8000b1c: ea40 4001 orr.w r0, r0, r1, lsl #16
- 8000b20: 1b64 subs r4, r4, r5
- 8000b22: 2100 movs r1, #0
- 8000b24: b11e cbz r6, 8000b2e <__udivmoddi4+0xa2>
- 8000b26: 40dc lsrs r4, r3
- 8000b28: 2300 movs r3, #0
- 8000b2a: e9c6 4300 strd r4, r3, [r6]
- 8000b2e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8000b32: 428b cmp r3, r1
- 8000b34: d908 bls.n 8000b48 <__udivmoddi4+0xbc>
- 8000b36: 2e00 cmp r6, #0
- 8000b38: f000 80ed beq.w 8000d16 <__udivmoddi4+0x28a>
- 8000b3c: 2100 movs r1, #0
- 8000b3e: e9c6 0500 strd r0, r5, [r6]
- 8000b42: 4608 mov r0, r1
- 8000b44: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8000b48: fab3 f183 clz r1, r3
- 8000b4c: 2900 cmp r1, #0
- 8000b4e: d149 bne.n 8000be4 <__udivmoddi4+0x158>
- 8000b50: 42ab cmp r3, r5
- 8000b52: d302 bcc.n 8000b5a <__udivmoddi4+0xce>
- 8000b54: 4282 cmp r2, r0
- 8000b56: f200 80f8 bhi.w 8000d4a <__udivmoddi4+0x2be>
- 8000b5a: 1a84 subs r4, r0, r2
- 8000b5c: eb65 0203 sbc.w r2, r5, r3
- 8000b60: 2001 movs r0, #1
- 8000b62: 4617 mov r7, r2
- 8000b64: 2e00 cmp r6, #0
- 8000b66: d0e2 beq.n 8000b2e <__udivmoddi4+0xa2>
- 8000b68: e9c6 4700 strd r4, r7, [r6]
- 8000b6c: e7df b.n 8000b2e <__udivmoddi4+0xa2>
- 8000b6e: b902 cbnz r2, 8000b72 <__udivmoddi4+0xe6>
- 8000b70: deff udf #255 ; 0xff
- 8000b72: fab2 f382 clz r3, r2
- 8000b76: 2b00 cmp r3, #0
- 8000b78: f040 8090 bne.w 8000c9c <__udivmoddi4+0x210>
- 8000b7c: 1a8a subs r2, r1, r2
- 8000b7e: ea4f 471c mov.w r7, ip, lsr #16
- 8000b82: fa1f fe8c uxth.w lr, ip
- 8000b86: 2101 movs r1, #1
- 8000b88: fbb2 f5f7 udiv r5, r2, r7
- 8000b8c: fb07 2015 mls r0, r7, r5, r2
- 8000b90: 0c22 lsrs r2, r4, #16
- 8000b92: ea42 4200 orr.w r2, r2, r0, lsl #16
- 8000b96: fb0e f005 mul.w r0, lr, r5
- 8000b9a: 4290 cmp r0, r2
- 8000b9c: d908 bls.n 8000bb0 <__udivmoddi4+0x124>
- 8000b9e: eb1c 0202 adds.w r2, ip, r2
- 8000ba2: f105 38ff add.w r8, r5, #4294967295 ; 0xffffffff
- 8000ba6: d202 bcs.n 8000bae <__udivmoddi4+0x122>
- 8000ba8: 4290 cmp r0, r2
- 8000baa: f200 80cb bhi.w 8000d44 <__udivmoddi4+0x2b8>
- 8000bae: 4645 mov r5, r8
- 8000bb0: 1a12 subs r2, r2, r0
- 8000bb2: b2a4 uxth r4, r4
- 8000bb4: fbb2 f0f7 udiv r0, r2, r7
- 8000bb8: fb07 2210 mls r2, r7, r0, r2
- 8000bbc: ea44 4402 orr.w r4, r4, r2, lsl #16
- 8000bc0: fb0e fe00 mul.w lr, lr, r0
- 8000bc4: 45a6 cmp lr, r4
- 8000bc6: d908 bls.n 8000bda <__udivmoddi4+0x14e>
- 8000bc8: eb1c 0404 adds.w r4, ip, r4
- 8000bcc: f100 32ff add.w r2, r0, #4294967295 ; 0xffffffff
- 8000bd0: d202 bcs.n 8000bd8 <__udivmoddi4+0x14c>
- 8000bd2: 45a6 cmp lr, r4
- 8000bd4: f200 80bb bhi.w 8000d4e <__udivmoddi4+0x2c2>
- 8000bd8: 4610 mov r0, r2
- 8000bda: eba4 040e sub.w r4, r4, lr
- 8000bde: ea40 4005 orr.w r0, r0, r5, lsl #16
- 8000be2: e79f b.n 8000b24 <__udivmoddi4+0x98>
- 8000be4: f1c1 0720 rsb r7, r1, #32
- 8000be8: 408b lsls r3, r1
- 8000bea: fa22 fc07 lsr.w ip, r2, r7
- 8000bee: ea4c 0c03 orr.w ip, ip, r3
- 8000bf2: fa05 f401 lsl.w r4, r5, r1
- 8000bf6: fa20 f307 lsr.w r3, r0, r7
- 8000bfa: 40fd lsrs r5, r7
- 8000bfc: ea4f 491c mov.w r9, ip, lsr #16
- 8000c00: 4323 orrs r3, r4
- 8000c02: fbb5 f8f9 udiv r8, r5, r9
- 8000c06: fa1f fe8c uxth.w lr, ip
- 8000c0a: fb09 5518 mls r5, r9, r8, r5
- 8000c0e: 0c1c lsrs r4, r3, #16
- 8000c10: ea44 4405 orr.w r4, r4, r5, lsl #16
- 8000c14: fb08 f50e mul.w r5, r8, lr
- 8000c18: 42a5 cmp r5, r4
- 8000c1a: fa02 f201 lsl.w r2, r2, r1
- 8000c1e: fa00 f001 lsl.w r0, r0, r1
- 8000c22: d90b bls.n 8000c3c <__udivmoddi4+0x1b0>
- 8000c24: eb1c 0404 adds.w r4, ip, r4
- 8000c28: f108 3aff add.w sl, r8, #4294967295 ; 0xffffffff
- 8000c2c: f080 8088 bcs.w 8000d40 <__udivmoddi4+0x2b4>
- 8000c30: 42a5 cmp r5, r4
- 8000c32: f240 8085 bls.w 8000d40 <__udivmoddi4+0x2b4>
- 8000c36: f1a8 0802 sub.w r8, r8, #2
- 8000c3a: 4464 add r4, ip
- 8000c3c: 1b64 subs r4, r4, r5
- 8000c3e: b29d uxth r5, r3
- 8000c40: fbb4 f3f9 udiv r3, r4, r9
- 8000c44: fb09 4413 mls r4, r9, r3, r4
- 8000c48: ea45 4404 orr.w r4, r5, r4, lsl #16
- 8000c4c: fb03 fe0e mul.w lr, r3, lr
- 8000c50: 45a6 cmp lr, r4
- 8000c52: d908 bls.n 8000c66 <__udivmoddi4+0x1da>
- 8000c54: eb1c 0404 adds.w r4, ip, r4
- 8000c58: f103 35ff add.w r5, r3, #4294967295 ; 0xffffffff
- 8000c5c: d26c bcs.n 8000d38 <__udivmoddi4+0x2ac>
- 8000c5e: 45a6 cmp lr, r4
- 8000c60: d96a bls.n 8000d38 <__udivmoddi4+0x2ac>
- 8000c62: 3b02 subs r3, #2
- 8000c64: 4464 add r4, ip
- 8000c66: ea43 4308 orr.w r3, r3, r8, lsl #16
- 8000c6a: fba3 9502 umull r9, r5, r3, r2
- 8000c6e: eba4 040e sub.w r4, r4, lr
- 8000c72: 42ac cmp r4, r5
- 8000c74: 46c8 mov r8, r9
- 8000c76: 46ae mov lr, r5
- 8000c78: d356 bcc.n 8000d28 <__udivmoddi4+0x29c>
- 8000c7a: d053 beq.n 8000d24 <__udivmoddi4+0x298>
- 8000c7c: b156 cbz r6, 8000c94 <__udivmoddi4+0x208>
- 8000c7e: ebb0 0208 subs.w r2, r0, r8
- 8000c82: eb64 040e sbc.w r4, r4, lr
- 8000c86: fa04 f707 lsl.w r7, r4, r7
- 8000c8a: 40ca lsrs r2, r1
- 8000c8c: 40cc lsrs r4, r1
- 8000c8e: 4317 orrs r7, r2
- 8000c90: e9c6 7400 strd r7, r4, [r6]
- 8000c94: 4618 mov r0, r3
- 8000c96: 2100 movs r1, #0
- 8000c98: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8000c9c: f1c3 0120 rsb r1, r3, #32
- 8000ca0: fa02 fc03 lsl.w ip, r2, r3
- 8000ca4: fa20 f201 lsr.w r2, r0, r1
- 8000ca8: fa25 f101 lsr.w r1, r5, r1
- 8000cac: 409d lsls r5, r3
- 8000cae: 432a orrs r2, r5
- 8000cb0: ea4f 471c mov.w r7, ip, lsr #16
- 8000cb4: fa1f fe8c uxth.w lr, ip
- 8000cb8: fbb1 f0f7 udiv r0, r1, r7
- 8000cbc: fb07 1510 mls r5, r7, r0, r1
- 8000cc0: 0c11 lsrs r1, r2, #16
- 8000cc2: ea41 4105 orr.w r1, r1, r5, lsl #16
- 8000cc6: fb00 f50e mul.w r5, r0, lr
- 8000cca: 428d cmp r5, r1
- 8000ccc: fa04 f403 lsl.w r4, r4, r3
- 8000cd0: d908 bls.n 8000ce4 <__udivmoddi4+0x258>
- 8000cd2: eb1c 0101 adds.w r1, ip, r1
- 8000cd6: f100 38ff add.w r8, r0, #4294967295 ; 0xffffffff
- 8000cda: d22f bcs.n 8000d3c <__udivmoddi4+0x2b0>
- 8000cdc: 428d cmp r5, r1
- 8000cde: d92d bls.n 8000d3c <__udivmoddi4+0x2b0>
- 8000ce0: 3802 subs r0, #2
- 8000ce2: 4461 add r1, ip
- 8000ce4: 1b49 subs r1, r1, r5
- 8000ce6: b292 uxth r2, r2
- 8000ce8: fbb1 f5f7 udiv r5, r1, r7
- 8000cec: fb07 1115 mls r1, r7, r5, r1
- 8000cf0: ea42 4201 orr.w r2, r2, r1, lsl #16
- 8000cf4: fb05 f10e mul.w r1, r5, lr
- 8000cf8: 4291 cmp r1, r2
- 8000cfa: d908 bls.n 8000d0e <__udivmoddi4+0x282>
- 8000cfc: eb1c 0202 adds.w r2, ip, r2
- 8000d00: f105 38ff add.w r8, r5, #4294967295 ; 0xffffffff
- 8000d04: d216 bcs.n 8000d34 <__udivmoddi4+0x2a8>
- 8000d06: 4291 cmp r1, r2
- 8000d08: d914 bls.n 8000d34 <__udivmoddi4+0x2a8>
- 8000d0a: 3d02 subs r5, #2
- 8000d0c: 4462 add r2, ip
- 8000d0e: 1a52 subs r2, r2, r1
- 8000d10: ea45 4100 orr.w r1, r5, r0, lsl #16
- 8000d14: e738 b.n 8000b88 <__udivmoddi4+0xfc>
- 8000d16: 4631 mov r1, r6
- 8000d18: 4630 mov r0, r6
- 8000d1a: e708 b.n 8000b2e <__udivmoddi4+0xa2>
- 8000d1c: 4639 mov r1, r7
- 8000d1e: e6e6 b.n 8000aee <__udivmoddi4+0x62>
- 8000d20: 4610 mov r0, r2
- 8000d22: e6fb b.n 8000b1c <__udivmoddi4+0x90>
- 8000d24: 4548 cmp r0, r9
- 8000d26: d2a9 bcs.n 8000c7c <__udivmoddi4+0x1f0>
- 8000d28: ebb9 0802 subs.w r8, r9, r2
- 8000d2c: eb65 0e0c sbc.w lr, r5, ip
- 8000d30: 3b01 subs r3, #1
- 8000d32: e7a3 b.n 8000c7c <__udivmoddi4+0x1f0>
- 8000d34: 4645 mov r5, r8
- 8000d36: e7ea b.n 8000d0e <__udivmoddi4+0x282>
- 8000d38: 462b mov r3, r5
- 8000d3a: e794 b.n 8000c66 <__udivmoddi4+0x1da>
- 8000d3c: 4640 mov r0, r8
- 8000d3e: e7d1 b.n 8000ce4 <__udivmoddi4+0x258>
- 8000d40: 46d0 mov r8, sl
- 8000d42: e77b b.n 8000c3c <__udivmoddi4+0x1b0>
- 8000d44: 3d02 subs r5, #2
- 8000d46: 4462 add r2, ip
- 8000d48: e732 b.n 8000bb0 <__udivmoddi4+0x124>
- 8000d4a: 4608 mov r0, r1
- 8000d4c: e70a b.n 8000b64 <__udivmoddi4+0xd8>
- 8000d4e: 4464 add r4, ip
- 8000d50: 3802 subs r0, #2
- 8000d52: e742 b.n 8000bda <__udivmoddi4+0x14e>
-
-08000d54 <__aeabi_idiv0>:
- 8000d54: 4770 bx lr
- 8000d56: bf00 nop
-
-08000d58 :
-
-/**
- * delay x ms
-**/
-void DEV_Delay_ms(UDOUBLE xms)
-{
- 8000d58: b580 push {r7, lr}
- 8000d5a: b082 sub sp, #8
- 8000d5c: af00 add r7, sp, #0
- 8000d5e: 6078 str r0, [r7, #4]
- HAL_Delay(xms);
- 8000d60: 6878 ldr r0, [r7, #4]
- 8000d62: f000 ffdd bl 8001d20
-}
- 8000d66: bf00 nop
- 8000d68: 3708 adds r7, #8
- 8000d6a: 46bd mov sp, r7
- 8000d6c: bd80 pop {r7, pc}
-
-08000d6e :
-
-
-void GPIO_Config(void)
-{
- 8000d6e: b480 push {r7}
- 8000d70: af00 add r7, sp, #0
- //DEV_GPIO_Mode(INT_PIN, 0);
-}
- 8000d72: bf00 nop
- 8000d74: 46bd mov sp, r7
- 8000d76: f85d 7b04 ldr.w r7, [sp], #4
- 8000d7a: 4770 bx lr
-
-08000d7c :
-function: I2C Function initialization and transfer
-parameter:
-Info:
-******************************************************************************/
-void DEV_I2C_Init(uint8_t Add)
-{
- 8000d7c: b480 push {r7}
- 8000d7e: b083 sub sp, #12
- 8000d80: af00 add r7, sp, #0
- 8000d82: 4603 mov r3, r0
- 8000d84: 71fb strb r3, [r7, #7]
-#if DEV_I2C
- DEV_I2C_Device = 1;
- 8000d86: 4b06 ldr r3, [pc, #24] ; (8000da0 )
- 8000d88: 2201 movs r2, #1
- 8000d8a: 701a strb r2, [r3, #0]
- I2C_ADDR = Add;
- 8000d8c: 4a05 ldr r2, [pc, #20] ; (8000da4 )
- 8000d8e: 79fb ldrb r3, [r7, #7]
- 8000d90: 7013 strb r3, [r2, #0]
-#endif
-}
- 8000d92: bf00 nop
- 8000d94: 370c adds r7, #12
- 8000d96: 46bd mov sp, r7
- 8000d98: f85d 7b04 ldr.w r7, [sp], #4
- 8000d9c: 4770 bx lr
- 8000d9e: bf00 nop
- 8000da0: 20000088 .word 0x20000088
- 8000da4: 20000089 .word 0x20000089
-
-08000da8 :
-
-void I2C_Write_Byte(uint8_t Cmd, uint8_t value)
-{
- 8000da8: b580 push {r7, lr}
- 8000daa: b088 sub sp, #32
- 8000dac: af04 add r7, sp, #16
- 8000dae: 4603 mov r3, r0
- 8000db0: 460a mov r2, r1
- 8000db2: 71fb strb r3, [r7, #7]
- 8000db4: 4613 mov r3, r2
- 8000db6: 71bb strb r3, [r7, #6]
-#if DEV_I2C
- UBYTE Buf[1] = {0};
- 8000db8: 2300 movs r3, #0
- 8000dba: 733b strb r3, [r7, #12]
- Buf[0] = value;
- 8000dbc: 79bb ldrb r3, [r7, #6]
- 8000dbe: 733b strb r3, [r7, #12]
- HAL_I2C_Mem_Write(h2c1, I2C_ADDR, Cmd, I2C_MEMADD_SIZE_8BIT, Buf, 1, 0x20);
- 8000dc0: 4b0a ldr r3, [pc, #40] ; (8000dec )
- 8000dc2: 6818 ldr r0, [r3, #0]
- 8000dc4: 4b0a ldr r3, [pc, #40] ; (8000df0 )
- 8000dc6: 781b ldrb r3, [r3, #0]
- 8000dc8: b299 uxth r1, r3
- 8000dca: 79fb ldrb r3, [r7, #7]
- 8000dcc: b29a uxth r2, r3
- 8000dce: 2320 movs r3, #32
- 8000dd0: 9302 str r3, [sp, #8]
- 8000dd2: 2301 movs r3, #1
- 8000dd4: 9301 str r3, [sp, #4]
- 8000dd6: f107 030c add.w r3, r7, #12
- 8000dda: 9300 str r3, [sp, #0]
- 8000ddc: 2301 movs r3, #1
- 8000dde: f001 fd19 bl 8002814
-#endif
-}
- 8000de2: bf00 nop
- 8000de4: 3710 adds r7, #16
- 8000de6: 46bd mov sp, r7
- 8000de8: bd80 pop {r7, pc}
- 8000dea: bf00 nop
- 8000dec: 20000084 .word 0x20000084
- 8000df0: 20000089 .word 0x20000089
-
-08000df4 :
-
-int I2C_Read_Byte(uint8_t Cmd)
-{
- 8000df4: b580 push {r7, lr}
- 8000df6: b088 sub sp, #32
- 8000df8: af04 add r7, sp, #16
- 8000dfa: 4603 mov r3, r0
- 8000dfc: 71fb strb r3, [r7, #7]
-#if DEV_I2C
- UBYTE Buf[1]={0};
- 8000dfe: 2300 movs r3, #0
- 8000e00: 733b strb r3, [r7, #12]
- HAL_I2C_Mem_Read(h2c1, I2C_ADDR+1, Cmd, I2C_MEMADD_SIZE_8BIT, Buf, 1, 0x20);
- 8000e02: 4b0c ldr r3, [pc, #48] ; (8000e34 )
- 8000e04: 6818 ldr r0, [r3, #0]
- 8000e06: 4b0c ldr r3, [pc, #48] ; (8000e38 )
- 8000e08: 781b ldrb r3, [r3, #0]
- 8000e0a: b29b uxth r3, r3
- 8000e0c: 3301 adds r3, #1
- 8000e0e: b299 uxth r1, r3
- 8000e10: 79fb ldrb r3, [r7, #7]
- 8000e12: b29a uxth r2, r3
- 8000e14: 2320 movs r3, #32
- 8000e16: 9302 str r3, [sp, #8]
- 8000e18: 2301 movs r3, #1
- 8000e1a: 9301 str r3, [sp, #4]
- 8000e1c: f107 030c add.w r3, r7, #12
- 8000e20: 9300 str r3, [sp, #0]
- 8000e22: 2301 movs r3, #1
- 8000e24: f001 fe0a bl 8002a3c
- return Buf[0];
- 8000e28: 7b3b ldrb r3, [r7, #12]
-#endif
-}
- 8000e2a: 4618 mov r0, r3
- 8000e2c: 3710 adds r7, #16
- 8000e2e: 46bd mov sp, r7
- 8000e30: bd80 pop {r7, pc}
- 8000e32: bf00 nop
- 8000e34: 20000084 .word 0x20000084
- 8000e38: 20000089 .word 0x20000089
-
-08000e3c :
-
-int I2C_Read_Word(uint8_t Cmd)
-{
- 8000e3c: b580 push {r7, lr}
- 8000e3e: b088 sub sp, #32
- 8000e40: af04 add r7, sp, #16
- 8000e42: 4603 mov r3, r0
- 8000e44: 71fb strb r3, [r7, #7]
-#if DEV_I2C
- UBYTE Buf[2]={0, 0};
- 8000e46: 2300 movs r3, #0
- 8000e48: 81bb strh r3, [r7, #12]
- HAL_I2C_Mem_Read(h2c1, I2C_ADDR+1, Cmd, I2C_MEMADD_SIZE_8BIT, Buf, 2, 0x20);
- 8000e4a: 4b0d ldr r3, [pc, #52] ; (8000e80 )
- 8000e4c: 6818 ldr r0, [r3, #0]
- 8000e4e: 4b0d ldr r3, [pc, #52] ; (8000e84 )
- 8000e50: 781b ldrb r3, [r3, #0]
- 8000e52: b29b uxth r3, r3
- 8000e54: 3301 adds r3, #1
- 8000e56: b299 uxth r1, r3
- 8000e58: 79fb ldrb r3, [r7, #7]
- 8000e5a: b29a uxth r2, r3
- 8000e5c: 2320 movs r3, #32
- 8000e5e: 9302 str r3, [sp, #8]
- 8000e60: 2302 movs r3, #2
- 8000e62: 9301 str r3, [sp, #4]
- 8000e64: f107 030c add.w r3, r7, #12
- 8000e68: 9300 str r3, [sp, #0]
- 8000e6a: 2301 movs r3, #1
- 8000e6c: f001 fde6 bl 8002a3c
- return ((Buf[1] << 8) | (Buf[0] & 0xff));
- 8000e70: 7b7b ldrb r3, [r7, #13]
- 8000e72: 021b lsls r3, r3, #8
- 8000e74: 7b3a ldrb r2, [r7, #12]
- 8000e76: 4313 orrs r3, r2
-#endif
-}
- 8000e78: 4618 mov r0, r3
- 8000e7a: 3710 adds r7, #16
- 8000e7c: 46bd mov sp, r7
- 8000e7e: bd80 pop {r7, pc}
- 8000e80: 20000084 .word 0x20000084
- 8000e84: 20000089 .word 0x20000089
-
-08000e88 :
-function: Module Initialize, the library and initialize the pins, SPI protocol
-parameter:
-Info:
-******************************************************************************/
-UBYTE DEV_ModuleInit(I2C_HandleTypeDef *communicator)
-{
- 8000e88: b580 push {r7, lr}
- 8000e8a: b082 sub sp, #8
- 8000e8c: af00 add r7, sp, #0
- 8000e8e: 6078 str r0, [r7, #4]
- h2c1 = communicator;
- 8000e90: 4a06 ldr r2, [pc, #24] ; (8000eac )
- 8000e92: 687b ldr r3, [r7, #4]
- 8000e94: 6013 str r3, [r2, #0]
- GPIO_Config();
- 8000e96: f7ff ff6a bl 8000d6e
- DEV_I2C_Init(0x29<<1);
- 8000e9a: 2052 movs r0, #82 ; 0x52
- 8000e9c: f7ff ff6e bl 8000d7c
- return 0;
- 8000ea0: 2300 movs r3, #0
-}
- 8000ea2: 4618 mov r0, r3
- 8000ea4: 3708 adds r7, #8
- 8000ea6: 46bd mov sp, r7
- 8000ea8: bd80 pop {r7, pc}
- 8000eaa: bf00 nop
- 8000eac: 20000084 .word 0x20000084
-
-08000eb0 :
-
-/* Private user code ---------------------------------------------------------*/
-/* USER CODE BEGIN 0 */
-
-void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
-{
- 8000eb0: b580 push {r7, lr}
- 8000eb2: b086 sub sp, #24
- 8000eb4: af00 add r7, sp, #0
- 8000eb6: 4603 mov r3, r0
- 8000eb8: 80fb strh r3, [r7, #6]
- if(GPIO_Pin == GPIO_PIN_13) {
- 8000eba: 88fb ldrh r3, [r7, #6]
- 8000ebc: f5b3 5f00 cmp.w r3, #8192 ; 0x2000
- 8000ec0: d113 bne.n 8000eea
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
- 8000ec2: 2201 movs r2, #1
- 8000ec4: 2120 movs r1, #32
- 8000ec6: f04f 4090 mov.w r0, #1207959552 ; 0x48000000
- 8000eca: f001 fbd7 bl 800267c
-
- const uint8_t test[] = "it works\n";
- 8000ece: 4a09 ldr r2, [pc, #36] ; (8000ef4 )
- 8000ed0: f107 030c add.w r3, r7, #12
- 8000ed4: ca07 ldmia r2, {r0, r1, r2}
- 8000ed6: c303 stmia r3!, {r0, r1}
- 8000ed8: 801a strh r2, [r3, #0]
-
- HAL_UART_Transmit(&huart2, test, sizeof(test), 25);
- 8000eda: f107 010c add.w r1, r7, #12
- 8000ede: 2319 movs r3, #25
- 8000ee0: 220a movs r2, #10
- 8000ee2: 4805 ldr r0, [pc, #20] ; (8000ef8