commit a911da71d223e535dab2c550fa18ddf8cdaf0604
parent 82b5f9936d4bcb6c6cf72248c5d8937297c527cb
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date: Wed, 8 Oct 2025 14:24:36 -0300
Port `display.*` files to HAL
Diffstat:
8 files changed, 458 insertions(+), 504 deletions(-)
diff --git a/.cproject b/.cproject
@@ -80,8 +80,8 @@
</folderInfo>
<sourceEntries>
<entry excluding="Src/syscalls.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Core"/>
- <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="app"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
</sourceEntries>
</configuration>
</storageModule>
@@ -177,4 +177,5 @@
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
+ <storageModule moduleId="refreshScope"/>
</cproject>
\ No newline at end of file
diff --git a/.mxproject b/.mxproject
@@ -1,25 +1,25 @@
+[PreviousLibFiles]
+LibFiles=Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usart.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_bus.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_system.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_utils.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_exti.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usart.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_bus.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_system.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_utils.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_exti.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm1.h;
+
+[PreviousUsedCubeIDEFiles]
+SourceFiles=Core/Src/main.c;Core/Src/stm32f1xx_it.c;Core/Src/stm32f1xx_hal_msp.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Core/Src/system_stm32f1xx.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Core/Src/system_stm32f1xx.c;;;
+HeaderPath=Drivers/STM32F1xx_HAL_Driver/Inc;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32F1xx/Include;Drivers/CMSIS/Include;Core/Inc;
+CDefines=USE_HAL_DRIVER;STM32F103xB;USE_HAL_DRIVER;USE_HAL_DRIVER;
+
[PreviousGenFiles]
AdvancedFolderStructure=true
HeaderFileListSize=3
-HeaderFiles#0=..\Core\Inc\stm32f1xx_it.h
-HeaderFiles#1=..\Core\Inc\stm32f1xx_hal_conf.h
-HeaderFiles#2=..\Core\Inc\main.h
+HeaderFiles#0=../Core/Inc/stm32f1xx_it.h
+HeaderFiles#1=../Core/Inc/stm32f1xx_hal_conf.h
+HeaderFiles#2=../Core/Inc/main.h
HeaderFolderListSize=1
-HeaderPath#0=..\Core\Inc
+HeaderPath#0=../Core/Inc
HeaderFiles=;
SourceFileListSize=3
-SourceFiles#0=..\Core\Src\stm32f1xx_it.c
-SourceFiles#1=..\Core\Src\stm32f1xx_hal_msp.c
-SourceFiles#2=..\Core\Src\main.c
+SourceFiles#0=../Core/Src/stm32f1xx_it.c
+SourceFiles#1=../Core/Src/stm32f1xx_hal_msp.c
+SourceFiles#2=../Core/Src/main.c
SourceFolderListSize=1
-SourcePath#0=..\Core\Src
+SourcePath#0=../Core/Src
SourceFiles=;
-[PreviousLibFiles]
-LibFiles=Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_usart.h;Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_bus.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_system.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_utils.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_exti.h;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_usart.h;Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_bus.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_system.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_utils.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_exti.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xb.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h;Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\system_stm32f1xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
-
-[PreviousUsedCubeIDEFiles]
-SourceFiles=Core\Src\main.c;Core\Src\stm32f1xx_it.c;Core\Src\stm32f1xx_hal_msp.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c;Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\system_stm32f1xx.c;Core\Src\system_stm32f1xx.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c;Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\system_stm32f1xx.c;Core\Src\system_stm32f1xx.c;;;
-HeaderPath=Drivers\STM32F1xx_HAL_Driver\Inc;Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;Drivers\CMSIS\Device\ST\STM32F1xx\Include;Drivers\CMSIS\Include;Core\Inc;
-CDefines=USE_HAL_DRIVER;STM32F103xB;USE_HAL_DRIVER;USE_HAL_DRIVER;
-
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
@@ -57,21 +57,33 @@ void Error_Handler(void);
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
-#define B1_Pin GPIO_PIN_13
-#define B1_GPIO_Port GPIOC
-#define B1_EXTI_IRQn EXTI15_10_IRQn
-#define USART_TX_Pin GPIO_PIN_2
+#define B1_Pin GPIO_PIN_13
+#define B1_GPIO_Port GPIOC
+#define B1_EXTI_IRQn EXTI15_10_IRQn
+#define USART_TX_Pin GPIO_PIN_2
#define USART_TX_GPIO_Port GPIOA
-#define USART_RX_Pin GPIO_PIN_3
+#define USART_RX_Pin GPIO_PIN_3
#define USART_RX_GPIO_Port GPIOA
-#define LD2_Pin GPIO_PIN_5
-#define LD2_GPIO_Port GPIOA
-#define TMS_Pin GPIO_PIN_13
-#define TMS_GPIO_Port GPIOA
-#define TCK_Pin GPIO_PIN_14
-#define TCK_GPIO_Port GPIOA
-#define SWO_Pin GPIO_PIN_3
-#define SWO_GPIO_Port GPIOB
+#define LD2_Pin GPIO_PIN_5
+#define LD2_GPIO_Port GPIOA
+#define D6_Pin GPIO_PIN_10
+#define D6_GPIO_Port GPIOB
+#define D9_Pin GPIO_PIN_7
+#define D9_GPIO_Port GPIOC
+#define D7_Pin GPIO_PIN_8
+#define D7_GPIO_Port GPIOA
+#define D8_Pin GPIO_PIN_9
+#define D8_GPIO_Port GPIOA
+#define TMS_Pin GPIO_PIN_13
+#define TMS_GPIO_Port GPIOA
+#define TCK_Pin GPIO_PIN_14
+#define TCK_GPIO_Port GPIOA
+#define SWO_Pin GPIO_PIN_3
+#define SWO_GPIO_Port GPIOB
+#define D5_Pin GPIO_PIN_4
+#define D5_GPIO_Port GPIOB
+#define D4_Pin GPIO_PIN_5
+#define D4_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */
diff --git a/Core/Src/main.c b/Core/Src/main.c
@@ -213,7 +213,13 @@ static void MX_GPIO_Init(void)
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(GPIOA, LD2_Pin|D7_Pin|D8_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, D6_Pin|D5_Pin|D4_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(D9_GPIO_Port, D9_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin : B1_Pin */
GPIO_InitStruct.Pin = B1_Pin;
@@ -221,12 +227,26 @@ static void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
- /*Configure GPIO pin : LD2_Pin */
- GPIO_InitStruct.Pin = LD2_Pin;
+ /*Configure GPIO pins : LD2_Pin D7_Pin D8_Pin */
+ GPIO_InitStruct.Pin = LD2_Pin|D7_Pin|D8_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : D6_Pin D5_Pin D4_Pin */
+ GPIO_InitStruct.Pin = D6_Pin|D5_Pin|D4_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : D9_Pin */
+ GPIO_InitStruct.Pin = D9_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- HAL_GPIO_Init(LD2_GPIO_Port, &GPIO_InitStruct);
+ HAL_GPIO_Init(D9_GPIO_Port, &GPIO_InitStruct);
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
diff --git a/app/inc/display.h b/app/inc/display.h
@@ -1,31 +1,13 @@
-//=====[#include guards - begin]===============================================
-
#ifndef _DISPLAY_H_
#define _DISPLAY_H_
#include <stdint.h>
-//=====[Declaration of public defines]=========================================
-
-//=====[Declaration of public data types]======================================
-
-typedef enum {
- DISPLAY_CONNECTION_GPIO_4BITS,
- DISPLAY_CONNECTION_GPIO_8BITS,
-} displayConnection_t;
-
-typedef struct {
- displayConnection_t connection;
-} display_t;
-
-//=====[Declarations (prototypes) of public functions]=========================
-
-void displayInit( displayConnection_t connection );
-
-void displayCharPositionWrite( uint8_t charPositionX, uint8_t charPositionY );
-
-void displayStringWrite( const char * str );
+void display_init(void);
+void display_char_position_write(uint8_t x, uint8_t y);
+void display_string_write(const char *str);
-//=====[#include guards - end]=================================================
+void display_cursor_off(void);
+void display_cursor_on(void);
#endif // _DISPLAY_H_
diff --git a/app/src/display.c b/app/src/display.c
@@ -1,18 +1,12 @@
-//=====[Libraries]=============================================================
-//#include "mbed.h"
-//#include "arm_book_lib.h"
-
#include "display.h"
#include "main.h"
#include <stdbool.h>
-/* Demo includes */
+// Demo includes
#include "logger.h"
#include "dwt.h"
#include "systick.h"
-/********************** arm_book Defines *******************************/
-//#include "arm_book_lib.h"
// Functional states
#ifndef OFF
#define OFF 0
@@ -29,7 +23,6 @@
#define HIGH ( !LOW )
#endif
-//=====[Declaration of private defines]========================================
#define DISPLAY_IR_CLEAR_DISPLAY 0b00000001
#define DISPLAY_IR_ENTRY_MODE_SET 0b00000100
#define DISPLAY_IR_DISPLAY_CONTROL 0b00001000
@@ -66,248 +59,173 @@
#define DISPLAY_RW_WRITE 0
#define DISPLAY_RW_READ 1
-#define DISPLAY_PIN_RS 4
-#define DISPLAY_PIN_RW 5
-#define DISPLAY_PIN_EN 6
-#define DISPLAY_PIN_D0 7
-#define DISPLAY_PIN_D1 8
-#define DISPLAY_PIN_D2 9
-#define DISPLAY_PIN_D3 10
-#define DISPLAY_PIN_D4 11
-#define DISPLAY_PIN_D5 12
-#define DISPLAY_PIN_D6 13
-#define DISPLAY_PIN_D7 14
-
-#define DISPLAY_DEL_37US 37ul
-#define DISPLAY_DEL_01US 01ul
-
-//=====[Declaration of private data types]=====================================
-
-//=====[Declaration and initialization of public global objects]===============
-
-/*
-DigitalOut displayD0( D0 );
-DigitalOut displayD1( D1 );
-DigitalOut displayD2( D2 );
-DigitalOut displayD3( D3 );
-*/
-DigitalOut displayD4( D4 );
-DigitalOut displayD5( D5 );
-DigitalOut displayD6( D6 );
-DigitalOut displayD7( D7 );
-DigitalOut displayRs( D8 );
-DigitalOut displayEn( D9 );
-
-//=====[Declaration of external public global variables]=======================
-
-//=====[Declaration and initialization of private global variables]============
-static display_t display;
-static bool initial8BitCommunicationIsCompleted;
-
-//=====[Declarations (prototypes) of private functions]========================
-static void displayPinWrite( uint8_t pinName, int value );
-static void displayDataBusWrite( uint8_t dataByte );
-static void displayCodeWrite( bool type, uint8_t dataBus );
-
-//=====[Implementations of public functions]===================================
-void displayInit( displayConnection_t connection )
-{
- display.connection = connection;
-
- initial8BitCommunicationIsCompleted = false;
-
- delay( 50 );
-
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_FUNCTION_SET |
- DISPLAY_IR_FUNCTION_SET_8BITS );
- delay( 5 );
-
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_FUNCTION_SET |
- DISPLAY_IR_FUNCTION_SET_8BITS );
- delay( 1 );
-
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_FUNCTION_SET |
- DISPLAY_IR_FUNCTION_SET_8BITS );
- delay( 1 );
-
- switch( display.connection ) {
- case DISPLAY_CONNECTION_GPIO_8BITS:
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_FUNCTION_SET |
- DISPLAY_IR_FUNCTION_SET_8BITS |
- DISPLAY_IR_FUNCTION_SET_2LINES |
- DISPLAY_IR_FUNCTION_SET_5x8DOTS );
- delay( 1 );
- break;
+#define DISPLAY_PIN_RS 8
+#define DISPLAY_PIN_EN 9
+#define DISPLAY_PIN_D4 4
+#define DISPLAY_PIN_D5 5
+#define DISPLAY_PIN_D6 6
+#define DISPLAY_PIN_D7 7
- case DISPLAY_CONNECTION_GPIO_4BITS:
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_FUNCTION_SET |
- DISPLAY_IR_FUNCTION_SET_4BITS );
- delay( 1 );
+#define DISPLAY_DEL_37US 37ul
+#define DISPLAY_DEL_01US 01ul
- initial8BitCommunicationIsCompleted = true;
+// private global vars
+static bool display_initialized;
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_FUNCTION_SET |
- DISPLAY_IR_FUNCTION_SET_4BITS |
- DISPLAY_IR_FUNCTION_SET_2LINES |
- DISPLAY_IR_FUNCTION_SET_5x8DOTS );
- delay( 1 );
- break;
- }
+// declaration of private functions
+static void display_pin_write(uint8_t pin_name, int value);
+static void display_data_bus_write(uint8_t data_byte);
+static void display_code_write(bool type, uint8_t data_bus);
+
+// public functions
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_DISPLAY_CONTROL |
- DISPLAY_IR_DISPLAY_CONTROL_DISPLAY_OFF |
- DISPLAY_IR_DISPLAY_CONTROL_CURSOR_OFF |
- DISPLAY_IR_DISPLAY_CONTROL_BLINK_OFF );
- delay( 1 );
-
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_CLEAR_DISPLAY );
- delay( 1 );
-
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_ENTRY_MODE_SET |
- DISPLAY_IR_ENTRY_MODE_SET_INCREMENT |
- DISPLAY_IR_ENTRY_MODE_SET_NO_SHIFT );
- delay( 1 );
-
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_DISPLAY_CONTROL |
- DISPLAY_IR_DISPLAY_CONTROL_DISPLAY_ON |
- DISPLAY_IR_DISPLAY_CONTROL_CURSOR_OFF |
- DISPLAY_IR_DISPLAY_CONTROL_BLINK_OFF );
- delay( 1 );
+void display_init(void)
+{
+ display_initialized = false;
+
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_FUNCTION_SET |
+ DISPLAY_IR_FUNCTION_SET_4BITS |
+ DISPLAY_IR_FUNCTION_SET_2LINES |
+ DISPLAY_IR_FUNCTION_SET_5x8DOTS);
+
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_DISPLAY_CONTROL |
+ DISPLAY_IR_DISPLAY_CONTROL_DISPLAY_OFF |
+ DISPLAY_IR_DISPLAY_CONTROL_CURSOR_ON |
+ DISPLAY_IR_DISPLAY_CONTROL_BLINK_ON);
+
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_CLEAR_DISPLAY);
+
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_ENTRY_MODE_SET |
+ DISPLAY_IR_ENTRY_MODE_SET_INCREMENT |
+ DISPLAY_IR_ENTRY_MODE_SET_NO_SHIFT);
+
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_DISPLAY_CONTROL |
+ DISPLAY_IR_DISPLAY_CONTROL_DISPLAY_ON |
+ DISPLAY_IR_DISPLAY_CONTROL_CURSOR_ON |
+ DISPLAY_IR_DISPLAY_CONTROL_BLINK_ON);
+
+ display_initialized = true;
}
-void displayCharPositionWrite( uint8_t charPositionX, uint8_t charPositionY )
+void display_char_position_write(uint8_t x, uint8_t y)
{
- switch( charPositionY ) {
+ switch(x)
+ {
case 0:
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_SET_DDRAM_ADDR |
- ( DISPLAY_20x4_LINE1_FIRST_CHARACTER_ADDRESS +
- charPositionX ) );
- delay( 1 );
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_SET_DDRAM_ADDR |
+ (DISPLAY_20x4_LINE1_FIRST_CHARACTER_ADDRESS + x));
break;
case 1:
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_SET_DDRAM_ADDR |
- ( DISPLAY_20x4_LINE2_FIRST_CHARACTER_ADDRESS +
- charPositionX ) );
- delay( 1 );
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_SET_DDRAM_ADDR |
+ (DISPLAY_20x4_LINE2_FIRST_CHARACTER_ADDRESS + x));
break;
case 2:
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_SET_DDRAM_ADDR |
- ( DISPLAY_20x4_LINE3_FIRST_CHARACTER_ADDRESS +
- charPositionX ) );
- delay( 1 );
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_SET_DDRAM_ADDR |
+ (DISPLAY_20x4_LINE3_FIRST_CHARACTER_ADDRESS + x));
break;
case 3:
- displayCodeWrite( DISPLAY_RS_INSTRUCTION,
- DISPLAY_IR_SET_DDRAM_ADDR |
- ( DISPLAY_20x4_LINE4_FIRST_CHARACTER_ADDRESS +
- charPositionX ) );
- delay( 1 );
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_SET_DDRAM_ADDR |
+ (DISPLAY_20x4_LINE4_FIRST_CHARACTER_ADDRESS + x));
break;
+ default: break;
}
}
-void displayStringWrite( const char * str )
+void display_string_write(const char * str)
{
while (*str) {
- displayCodeWrite(DISPLAY_RS_DATA, *str++);
+ display_code_write(DISPLAY_RS_DATA, *str++);
}
}
-//=====[Implementations of private functions]==================================
-static void displayCodeWrite( bool type, uint8_t dataBus )
+void display_cursor_off(void)
{
- if ( type == DISPLAY_RS_INSTRUCTION )
- displayPinWrite( DISPLAY_PIN_RS, DISPLAY_RS_INSTRUCTION );
- else
- displayPinWrite( DISPLAY_PIN_RS, DISPLAY_RS_DATA );
- displayPinWrite( DISPLAY_PIN_RW, DISPLAY_RW_WRITE );
- displayDataBusWrite( dataBus );
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_DISPLAY_CONTROL |
+ DISPLAY_IR_DISPLAY_CONTROL_DISPLAY_ON |
+ DISPLAY_IR_DISPLAY_CONTROL_CURSOR_OFF |
+ DISPLAY_IR_DISPLAY_CONTROL_BLINK_OFF);
}
-static void displayPinWrite( uint8_t pinName, int value )
+void display_cursor_on(void)
+{
+ display_code_write(DISPLAY_RS_INSTRUCTION,
+ DISPLAY_IR_DISPLAY_CONTROL |
+ DISPLAY_IR_DISPLAY_CONTROL_DISPLAY_ON |
+ DISPLAY_IR_DISPLAY_CONTROL_CURSOR_ON |
+ DISPLAY_IR_DISPLAY_CONTROL_BLINK_ON);
+}
+
+// private functions
+
+static void display_code_write( bool type, uint8_t data_bus )
{
- switch( display.connection ) {
- case DISPLAY_CONNECTION_GPIO_8BITS:
- switch( pinName ) {
- /*
- case DISPLAY_PIN_D0: displayD0 = value; break;
- case DISPLAY_PIN_D1: displayD1 = value; break;
- case DISPLAY_PIN_D2: displayD2 = value; break;
- case DISPLAY_PIN_D3: displayD3 = value; break;
- case DISPLAY_PIN_D4: displayD4 = value; break;
- case DISPLAY_PIN_D5: displayD5 = value; break;
- case DISPLAY_PIN_D6: displayD6 = value; break;
- case DISPLAY_PIN_D7: displayD7 = value; break;
- case DISPLAY_PIN_RS: displayRs = value; break;
- case DISPLAY_PIN_EN: displayEn = value; break;
- case DISPLAY_PIN_RW: break;
- */
- default: break;
- }
- break;
-
- case DISPLAY_CONNECTION_GPIO_4BITS:
- switch( pinName ) {
- case DISPLAY_PIN_D4: displayD4 = value; break;
- case DISPLAY_PIN_D5: displayD5 = value; break;
- case DISPLAY_PIN_D6: displayD6 = value; break;
- case DISPLAY_PIN_D7: displayD7 = value; break;
- case DISPLAY_PIN_RS: displayRs = value; break;
- case DISPLAY_PIN_EN: displayEn = value; break;
- case DISPLAY_PIN_RW: break;
- default: break;
- }
- break;
+ if (type == DISPLAY_RS_INSTRUCTION) {
+ display_pin_write( DISPLAY_PIN_RS, DISPLAY_RS_INSTRUCTION );
}
+ else {
+ display_pin_write(DISPLAY_PIN_RS, DISPLAY_RS_DATA);
+ }
+
+ display_data_bus_write(data_bus);
}
-static void displayDataBusWrite( uint8_t dataBus )
+static void display_pin_write(uint8_t pin_name, int value)
{
- displayPinWrite( DISPLAY_PIN_EN, OFF );
- displayPinWrite( DISPLAY_PIN_D7, dataBus & 0b10000000 );
- displayPinWrite( DISPLAY_PIN_D6, dataBus & 0b01000000 );
- displayPinWrite( DISPLAY_PIN_D5, dataBus & 0b00100000 );
- displayPinWrite( DISPLAY_PIN_D4, dataBus & 0b00010000 );
- switch( display.connection ) {
- case DISPLAY_CONNECTION_GPIO_8BITS:
- displayPinWrite( DISPLAY_PIN_D3, dataBus & 0b00001000 );
- displayPinWrite( DISPLAY_PIN_D2, dataBus & 0b00000100 );
- displayPinWrite( DISPLAY_PIN_D1, dataBus & 0b00000010 );
- displayPinWrite( DISPLAY_PIN_D0, dataBus & 0b00000001 );
+ switch(pin_name)
+ {
+ case DISPLAY_PIN_D4:
+ HAL_GPIO_WritePin(D4_GPIO_Port, D4_Pin, value);
break;
-
- case DISPLAY_CONNECTION_GPIO_4BITS:
- if ( initial8BitCommunicationIsCompleted == true) {
- displayPinWrite( DISPLAY_PIN_EN, ON );
- delay( 1 );
- displayPinWrite( DISPLAY_PIN_EN, OFF );
- delay( 1 );
- displayPinWrite( DISPLAY_PIN_D7, dataBus & 0b00001000 );
- displayPinWrite( DISPLAY_PIN_D6, dataBus & 0b00000100 );
- displayPinWrite( DISPLAY_PIN_D5, dataBus & 0b00000010 );
- displayPinWrite( DISPLAY_PIN_D4, dataBus & 0b00000001 );
- }
+ case DISPLAY_PIN_D5:
+ HAL_GPIO_WritePin(D5_GPIO_Port, D5_Pin, value);
+ break;
+ case DISPLAY_PIN_D6:
+ HAL_GPIO_WritePin(D6_GPIO_Port, D6_Pin, value);
+ break;
+ case DISPLAY_PIN_D7:
+ HAL_GPIO_WritePin(D7_GPIO_Port, D7_Pin, value);
+ break;
+ case DISPLAY_PIN_RS:
+ HAL_GPIO_WritePin(D8_GPIO_Port, D8_Pin, value);
break;
+ case DISPLAY_PIN_EN:
+ HAL_GPIO_WritePin(D9_GPIO_Port, D9_Pin, value);
+ break;
+ default: break;
+ }
+}
+static void display_data_bus_write( uint8_t data_bus )
+{
+ display_pin_write( DISPLAY_PIN_EN, OFF );
+ display_pin_write( DISPLAY_PIN_D7, data_bus & 0b10000000 );
+ display_pin_write( DISPLAY_PIN_D6, data_bus & 0b01000000 );
+ display_pin_write( DISPLAY_PIN_D5, data_bus & 0b00100000 );
+ display_pin_write( DISPLAY_PIN_D4, data_bus & 0b00010000 );
+
+ if ( display_initialized == true) {
+ display_pin_write( DISPLAY_PIN_EN, ON );
+ display_pin_write( DISPLAY_PIN_EN, OFF );
+ display_pin_write( DISPLAY_PIN_D7, data_bus & 0b00001000 );
+ display_pin_write( DISPLAY_PIN_D6, data_bus & 0b00000100 );
+ display_pin_write( DISPLAY_PIN_D5, data_bus & 0b00000010 );
+ display_pin_write( DISPLAY_PIN_D4, data_bus & 0b00000001 );
}
- displayPinWrite( DISPLAY_PIN_EN, ON );
- delay( 1 );
- displayPinWrite( DISPLAY_PIN_EN, OFF );
- delay( 1 );
+
+ display_pin_write( DISPLAY_PIN_EN, ON );
+ display_pin_write( DISPLAY_PIN_EN, OFF );
+ HAL_Delay(1);
}
diff --git a/app/src/task_test.c b/app/src/task_test.c
@@ -36,6 +36,7 @@
*/
/********************** inclusions *******************************************/
+
/* Project includes */
#include "main.h"
@@ -50,23 +51,23 @@
#include "display.h"
/********************** macros and definitions *******************************/
-#define G_TASK_TEST_CNT_INIT 0ul
-#define G_TASK_TEST_TICK_CNT_INI 0ul
+#define G_TASK_TEST_CNT_INIT 0ul
+#define G_TASK_TEST_TICK_CNT_INI 0ul
-#define DEL_TEST_XX_MIN 0ul
-#define DEL_TEST_XX_MED 500ul
-#define DEL_TEST_XX_MAX 1000ul
+#define DEL_TEST_XX_MIN 0ul
+#define DEL_TEST_XX_MED 500ul
+#define DEL_TEST_XX_MAX 1000ul
/********************** internal data declaration ****************************/
task_test_dta_t task_test_dta =
- {DEL_TEST_XX_MIN};
+{DEL_TEST_XX_MIN};
/********************** internal functions declaration ***********************/
void task_test_statechart(void);
/********************** internal data definition *****************************/
-const char *p_task_test = "Task Test (Test Code Integration)";
-const char *p_task_test_ = "Non-Blocking & Update By Time Code";
+const char *p_task_test = "Task Test (Test Code Integration)";
+const char *p_task_test_ = "Non-Blocking & Update By Time Code";
/********************** external data declaration ****************************/
uint32_t g_task_test_cnt;
@@ -75,94 +76,83 @@ volatile uint32_t g_task_test_tick_cnt;
/********************** external functions definition ************************/
void task_test_init(void *parameters)
{
- task_test_dta_t *p_task_test_dta;
- uint32_t tick;
-
- /* Print out: Task Initialized */
- LOGGER_INFO(" ");
- LOGGER_INFO(" %s is running - %s", GET_NAME(task_test_init), p_task_test);
- LOGGER_INFO(" %s is a %s", GET_NAME(task_test), p_task_test_);
+ task_test_dta_t *p_task_test_dta;
+ uint32_t tick;
- /* Init & Print out: Task execution counter */
- g_task_test_cnt = G_TASK_TEST_CNT_INIT;
- LOGGER_INFO(" %s = %lu", GET_NAME(g_task_test_cnt), g_task_test_cnt);
+ /* Print out: Task Initialized */
+ LOGGER_INFO(" ");
+ LOGGER_INFO(" %s is running - %s", GET_NAME(task_test_init), p_task_test);
+ LOGGER_INFO(" %s is a %s", GET_NAME(task_test), p_task_test_);
- /* Update Task Test Configuration & Data Pointer */
- p_task_test_dta = &task_test_dta;
+ /* Init & Print out: Task execution counter */
+ g_task_test_cnt = G_TASK_TEST_CNT_INIT;
+ LOGGER_INFO(" %s = %lu", GET_NAME(g_task_test_cnt), g_task_test_cnt);
- tick = DEL_TEST_XX_MAX;
- p_task_test_dta->tick = tick;
- LOGGER_INFO(" %s = %lu", GET_NAME(tick), (uint32_t)tick);
+ /* Update Task Test Configuration & Data Pointer */
+ p_task_test_dta = &task_test_dta;
- /* Init & Print out: LCD Display */
- displayInit( DISPLAY_CONNECTION_GPIO_4BITS );
+ tick = DEL_TEST_XX_MAX;
+ p_task_test_dta->tick = tick;
+ LOGGER_INFO(" %s = %lu", GET_NAME(tick), (uint32_t)tick);
- displayCharPositionWrite(0, 0);
- displayStringWrite("TdSE Bienvenidos");
+ /* Init & Print out: LCD Display */
+ display_init();
+ display_cursor_off();
- displayCharPositionWrite(0, 1);
- displayStringWrite("Test Nro: ");
+ display_char_position_write(0, 0);
+ display_string_write("Hello, World!");
}
void task_test_update(void *parameters)
{
- bool b_time_update_required = false;
+ bool b_time_update_required = false;
- /* Protect shared resource */
- __asm("CPSID i"); /* disable interrupts */
+ /* Protect shared resource */
+ __asm("CPSID i"); /* disable interrupts */
if (G_TASK_TEST_TICK_CNT_INI < g_task_test_tick_cnt)
{
- /* Update Tick Counter */
- g_task_test_tick_cnt--;
- b_time_update_required = true;
+ /* Update Tick Counter */
+ g_task_test_tick_cnt--;
+ b_time_update_required = true;
}
__asm("CPSIE i"); /* enable interrupts */
while (b_time_update_required)
{
- /* Update Task Counter */
- g_task_test_cnt++;
-
- /* Run Task Statechart */
- task_test_statechart();
-
- /* Protect shared resource */
- __asm("CPSID i"); /* disable interrupts */
- if (G_TASK_TEST_TICK_CNT_INI < g_task_test_tick_cnt)
- {
- /* Update Tick Counter */
- g_task_test_tick_cnt--;
- b_time_update_required = true;
- }
- else
- {
- b_time_update_required = false;
- }
- __asm("CPSIE i"); /* enable interrupts */
+ /* Update Task Counter */
+ g_task_test_cnt++;
+
+ /* Run Task Statechart */
+ task_test_statechart();
+
+ /* Protect shared resource */
+ __asm("CPSID i"); /* disable interrupts */
+ if (G_TASK_TEST_TICK_CNT_INI < g_task_test_tick_cnt)
+ {
+ /* Update Tick Counter */
+ g_task_test_tick_cnt--;
+ b_time_update_required = true;
+ }
+ else
+ {
+ b_time_update_required = false;
+ }
+ __asm("CPSIE i"); /* enable interrupts */
}
}
void task_test_statechart(void)
{
- task_test_dta_t *p_task_test_dta;
- char test_str[8];
+ task_test_dta_t *p_task_test_dta;
- /* Update Task Test Configuration & Data Pointer */
+ /* Update Task Test Configuration & Data Pointer */
p_task_test_dta = &task_test_dta;
if (DEL_TEST_XX_MIN < p_task_test_dta->tick)
- {
- p_task_test_dta->tick--;
- }
- else
- {
- p_task_test_dta->tick = DEL_TEST_XX_MAX ;
-
- /* Print out: LCD Display */
- snprintf(test_str, sizeof(test_str), "%lu", (g_task_test_cnt/1000ul));
- displayCharPositionWrite(10, 1);
- displayStringWrite(test_str);
- }
+ {
+ p_task_test_dta->tick--;
+ }
+ else
+ {
+ }
}
-
-/********************** end of file ******************************************/
diff --git a/tdse-tp3_02-code_integration.ioc b/tdse-tp3_02-code_integration.ioc
@@ -1,162 +1,193 @@
-#MicroXplorer Configuration settings - do not modify
-CAD.formats=
-CAD.pinconfig=
-CAD.provider=
-File.Version=6
-KeepUserPlacement=false
-Mcu.CPN=STM32F103RBT6
-Mcu.Family=STM32F1
-Mcu.IP0=NVIC
-Mcu.IP1=RCC
-Mcu.IP2=SYS
-Mcu.IP3=USART2
-Mcu.IPNb=4
-Mcu.Name=STM32F103R(8-B)Tx
-Mcu.Package=LQFP64
-Mcu.Pin0=PC13-TAMPER-RTC
-Mcu.Pin1=PC14-OSC32_IN
-Mcu.Pin10=PB3
-Mcu.Pin11=VP_SYS_VS_Systick
-Mcu.Pin2=PC15-OSC32_OUT
-Mcu.Pin3=PD0-OSC_IN
-Mcu.Pin4=PD1-OSC_OUT
-Mcu.Pin5=PA2
-Mcu.Pin6=PA3
-Mcu.Pin7=PA5
-Mcu.Pin8=PA13
-Mcu.Pin9=PA14
-Mcu.PinsNb=12
-Mcu.ThirdPartyNb=0
-Mcu.UserConstants=
-Mcu.UserName=STM32F103RBTx
-MxCube.Version=6.13.0
-MxDb.Version=DB.6.0.130
-NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-NVIC.EXTI15_10_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
-NVIC.ForceEnableDMAVector=true
-NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
-NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:false
-NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
-PA13.GPIOParameters=GPIO_Label
-PA13.GPIO_Label=TMS
-PA13.Locked=true
-PA13.Mode=Serial_Wire
-PA13.Signal=SYS_JTMS-SWDIO
-PA14.GPIOParameters=GPIO_Label
-PA14.GPIO_Label=TCK
-PA14.Locked=true
-PA14.Mode=Serial_Wire
-PA14.Signal=SYS_JTCK-SWCLK
-PA2.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode
-PA2.GPIO_Label=USART_TX
-PA2.GPIO_Mode=GPIO_MODE_AF_PP
-PA2.GPIO_PuPd=GPIO_NOPULL
-PA2.GPIO_Speed=GPIO_SPEED_FREQ_LOW
-PA2.Locked=true
-PA2.Mode=Asynchronous
-PA2.Signal=USART2_TX
-PA3.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode
-PA3.GPIO_Label=USART_RX
-PA3.GPIO_Mode=GPIO_MODE_AF_PP
-PA3.GPIO_PuPd=GPIO_NOPULL
-PA3.GPIO_Speed=GPIO_SPEED_FREQ_LOW
-PA3.Locked=true
-PA3.Mode=Asynchronous
-PA3.Signal=USART2_RX
-PA5.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
-PA5.GPIO_Label=LD2 [Green Led]
-PA5.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_PP
-PA5.GPIO_PuPd=GPIO_NOPULL
-PA5.GPIO_Speed=GPIO_SPEED_FREQ_LOW
-PA5.Locked=true
-PA5.Signal=GPIO_Output
-PB3.GPIOParameters=GPIO_Label
-PB3.GPIO_Label=SWO
-PB3.Locked=true
-PB3.Signal=SYS_JTDO-TRACESWO
-PC13-TAMPER-RTC.GPIOParameters=GPIO_PuPd,GPIO_Label
-PC13-TAMPER-RTC.GPIO_Label=B1 [Blue PushButton]
-PC13-TAMPER-RTC.GPIO_PuPd=GPIO_NOPULL
-PC13-TAMPER-RTC.Locked=true
-PC13-TAMPER-RTC.Signal=GPXTI13
-PC14-OSC32_IN.Locked=true
-PC14-OSC32_IN.Mode=LSE-External-Oscillator
-PC14-OSC32_IN.Signal=RCC_OSC32_IN
-PC15-OSC32_OUT.Locked=true
-PC15-OSC32_OUT.Mode=LSE-External-Oscillator
-PC15-OSC32_OUT.Signal=RCC_OSC32_OUT
-PD0-OSC_IN.Locked=true
-PD0-OSC_IN.Mode=HSE-External-Clock-Source
-PD0-OSC_IN.Signal=RCC_OSC_IN
-PD1-OSC_OUT.Locked=true
-PD1-OSC_OUT.Mode=HSE-External-Clock-Source
-PD1-OSC_OUT.Signal=RCC_OSC_OUT
-PinOutPanel.RotationAngle=0
-ProjectManager.AskForMigrate=true
-ProjectManager.BackupPrevious=false
-ProjectManager.CompilerOptimize=6
-ProjectManager.ComputerToolchain=false
-ProjectManager.CoupleFile=false
-ProjectManager.CustomerFirmwarePackage=
-ProjectManager.DefaultFWLocation=true
-ProjectManager.DeletePrevious=true
-ProjectManager.DeviceId=STM32F103RBTx
-ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.6
-ProjectManager.FreePins=false
-ProjectManager.HalAssertFull=false
-ProjectManager.HeapSize=0x200
-ProjectManager.KeepUserCode=true
-ProjectManager.LastFirmware=true
-ProjectManager.LibraryCopy=1
-ProjectManager.MainLocation=Core/Src
-ProjectManager.NoMain=false
-ProjectManager.PreviousToolchain=
-ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=tdse-tp3_02-code_integration.ioc
-ProjectManager.ProjectName=tdse-tp3_02-code_integration
-ProjectManager.ProjectStructure=
-ProjectManager.RegisterCallBack=
-ProjectManager.StackSize=0x400
-ProjectManager.TargetToolchain=STM32CubeIDE
-ProjectManager.ToolChainLocation=
-ProjectManager.UAScriptAfterPath=
-ProjectManager.UAScriptBeforePath=
-ProjectManager.UnderRoot=true
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_USART2_UART_Init-USART2-false-HAL-true
-RCC.ADCFreqValue=32000000
-RCC.AHBFreq_Value=64000000
-RCC.APB1CLKDivider=RCC_HCLK_DIV2
-RCC.APB1Freq_Value=32000000
-RCC.APB1TimFreq_Value=64000000
-RCC.APB2Freq_Value=64000000
-RCC.APB2TimFreq_Value=64000000
-RCC.FCLKCortexFreq_Value=64000000
-RCC.FamilyName=M
-RCC.HCLKFreq_Value=64000000
-RCC.IPParameters=ADCFreqValue,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,RTCClockSelection,RTCFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value
-RCC.MCOFreq_Value=64000000
-RCC.PLLCLKFreq_Value=64000000
-RCC.PLLMCOFreq_Value=32000000
-RCC.PLLMUL=RCC_PLL_MUL16
-RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE
-RCC.RTCFreq_Value=32768
-RCC.SYSCLKFreq_VALUE=64000000
-RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-RCC.TimSysFreq_Value=64000000
-RCC.USBFreq_Value=64000000
-RCC.VCOOutput2Freq_Value=4000000
-SH.GPXTI13.0=GPIO_EXTI13
-SH.GPXTI13.ConfNb=1
-USART2.IPParameters=VirtualMode
-USART2.VirtualMode=VM_ASYNC
-VP_SYS_VS_Systick.Mode=SysTick
-VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-board=NUCLEO-F103RB
-boardIOC=true
-isbadioc=false
+#MicroXplorer Configuration settings - do not modify
+CAD.formats=
+CAD.pinconfig=
+CAD.provider=
+File.Version=6
+KeepUserPlacement=false
+Mcu.CPN=STM32F103RBT6
+Mcu.Family=STM32F1
+Mcu.IP0=NVIC
+Mcu.IP1=RCC
+Mcu.IP2=SYS
+Mcu.IP3=USART2
+Mcu.IPNb=4
+Mcu.Name=STM32F103R(8-B)Tx
+Mcu.Package=LQFP64
+Mcu.Pin0=PC13-TAMPER-RTC
+Mcu.Pin1=PC14-OSC32_IN
+Mcu.Pin10=PA8
+Mcu.Pin11=PA9
+Mcu.Pin12=PA13
+Mcu.Pin13=PA14
+Mcu.Pin14=PB3
+Mcu.Pin15=PB4
+Mcu.Pin16=PB5
+Mcu.Pin17=VP_SYS_VS_Systick
+Mcu.Pin2=PC15-OSC32_OUT
+Mcu.Pin3=PD0-OSC_IN
+Mcu.Pin4=PD1-OSC_OUT
+Mcu.Pin5=PA2
+Mcu.Pin6=PA3
+Mcu.Pin7=PA5
+Mcu.Pin8=PB10
+Mcu.Pin9=PC7
+Mcu.PinsNb=18
+Mcu.ThirdPartyNb=0
+Mcu.UserConstants=
+Mcu.UserName=STM32F103RBTx
+MxCube.Version=6.13.0
+MxDb.Version=DB.6.0.130
+NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+NVIC.EXTI15_10_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
+NVIC.ForceEnableDMAVector=true
+NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
+NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:false
+NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:false
+PA13.GPIOParameters=GPIO_Label
+PA13.GPIO_Label=TMS
+PA13.Locked=true
+PA13.Mode=Serial_Wire
+PA13.Signal=SYS_JTMS-SWDIO
+PA14.GPIOParameters=GPIO_Label
+PA14.GPIO_Label=TCK
+PA14.Locked=true
+PA14.Mode=Serial_Wire
+PA14.Signal=SYS_JTCK-SWCLK
+PA2.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode
+PA2.GPIO_Label=USART_TX
+PA2.GPIO_Mode=GPIO_MODE_AF_PP
+PA2.GPIO_PuPd=GPIO_NOPULL
+PA2.GPIO_Speed=GPIO_SPEED_FREQ_LOW
+PA2.Locked=true
+PA2.Mode=Asynchronous
+PA2.Signal=USART2_TX
+PA3.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode
+PA3.GPIO_Label=USART_RX
+PA3.GPIO_Mode=GPIO_MODE_AF_PP
+PA3.GPIO_PuPd=GPIO_NOPULL
+PA3.GPIO_Speed=GPIO_SPEED_FREQ_LOW
+PA3.Locked=true
+PA3.Mode=Asynchronous
+PA3.Signal=USART2_RX
+PA5.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
+PA5.GPIO_Label=LD2 [Green Led]
+PA5.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_PP
+PA5.GPIO_PuPd=GPIO_NOPULL
+PA5.GPIO_Speed=GPIO_SPEED_FREQ_LOW
+PA5.Locked=true
+PA5.Signal=GPIO_Output
+PA8.GPIOParameters=GPIO_Label
+PA8.GPIO_Label=D7
+PA8.Locked=true
+PA8.Signal=GPIO_Output
+PA9.GPIOParameters=GPIO_Label
+PA9.GPIO_Label=D8
+PA9.Locked=true
+PA9.Signal=GPIO_Output
+PB10.GPIOParameters=GPIO_Label
+PB10.GPIO_Label=D6
+PB10.Locked=true
+PB10.Signal=GPIO_Output
+PB3.GPIOParameters=GPIO_Label
+PB3.GPIO_Label=SWO
+PB3.Locked=true
+PB3.Signal=SYS_JTDO-TRACESWO
+PB4.GPIOParameters=GPIO_Label
+PB4.GPIO_Label=D5
+PB4.Locked=true
+PB4.Signal=GPIO_Output
+PB5.GPIOParameters=GPIO_Label
+PB5.GPIO_Label=D4
+PB5.Locked=true
+PB5.Signal=GPIO_Output
+PC13-TAMPER-RTC.GPIOParameters=GPIO_PuPd,GPIO_Label
+PC13-TAMPER-RTC.GPIO_Label=B1 [Blue PushButton]
+PC13-TAMPER-RTC.GPIO_PuPd=GPIO_NOPULL
+PC13-TAMPER-RTC.Locked=true
+PC13-TAMPER-RTC.Signal=GPXTI13
+PC14-OSC32_IN.Locked=true
+PC14-OSC32_IN.Mode=LSE-External-Oscillator
+PC14-OSC32_IN.Signal=RCC_OSC32_IN
+PC15-OSC32_OUT.Locked=true
+PC15-OSC32_OUT.Mode=LSE-External-Oscillator
+PC15-OSC32_OUT.Signal=RCC_OSC32_OUT
+PC7.GPIOParameters=GPIO_Label
+PC7.GPIO_Label=D9
+PC7.Locked=true
+PC7.Signal=GPIO_Output
+PD0-OSC_IN.Locked=true
+PD0-OSC_IN.Mode=HSE-External-Clock-Source
+PD0-OSC_IN.Signal=RCC_OSC_IN
+PD1-OSC_OUT.Locked=true
+PD1-OSC_OUT.Mode=HSE-External-Clock-Source
+PD1-OSC_OUT.Signal=RCC_OSC_OUT
+PinOutPanel.RotationAngle=0
+ProjectManager.AskForMigrate=true
+ProjectManager.BackupPrevious=false
+ProjectManager.CompilerLinker=GCC
+ProjectManager.CompilerOptimize=6
+ProjectManager.ComputerToolchain=false
+ProjectManager.CoupleFile=false
+ProjectManager.CustomerFirmwarePackage=
+ProjectManager.DefaultFWLocation=true
+ProjectManager.DeletePrevious=true
+ProjectManager.DeviceId=STM32F103RBTx
+ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.6
+ProjectManager.FreePins=false
+ProjectManager.HalAssertFull=false
+ProjectManager.HeapSize=0x200
+ProjectManager.KeepUserCode=true
+ProjectManager.LastFirmware=true
+ProjectManager.LibraryCopy=1
+ProjectManager.MainLocation=Core/Src
+ProjectManager.NoMain=false
+ProjectManager.PreviousToolchain=
+ProjectManager.ProjectBuild=false
+ProjectManager.ProjectFileName=tdse-tp3_02-code_integration.ioc
+ProjectManager.ProjectName=tdse-tp3_02-code_integration
+ProjectManager.ProjectStructure=
+ProjectManager.RegisterCallBack=
+ProjectManager.StackSize=0x400
+ProjectManager.TargetToolchain=STM32CubeIDE
+ProjectManager.ToolChainLocation=
+ProjectManager.UAScriptAfterPath=
+ProjectManager.UAScriptBeforePath=
+ProjectManager.UnderRoot=true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_USART2_UART_Init-USART2-false-HAL-true
+RCC.ADCFreqValue=32000000
+RCC.AHBFreq_Value=64000000
+RCC.APB1CLKDivider=RCC_HCLK_DIV2
+RCC.APB1Freq_Value=32000000
+RCC.APB1TimFreq_Value=64000000
+RCC.APB2Freq_Value=64000000
+RCC.APB2TimFreq_Value=64000000
+RCC.FCLKCortexFreq_Value=64000000
+RCC.FamilyName=M
+RCC.HCLKFreq_Value=64000000
+RCC.IPParameters=ADCFreqValue,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,RTCClockSelection,RTCFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value
+RCC.MCOFreq_Value=64000000
+RCC.PLLCLKFreq_Value=64000000
+RCC.PLLMCOFreq_Value=32000000
+RCC.PLLMUL=RCC_PLL_MUL16
+RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE
+RCC.RTCFreq_Value=32768
+RCC.SYSCLKFreq_VALUE=64000000
+RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
+RCC.TimSysFreq_Value=64000000
+RCC.USBFreq_Value=64000000
+RCC.VCOOutput2Freq_Value=4000000
+SH.GPXTI13.0=GPIO_EXTI13
+SH.GPXTI13.ConfNb=1
+USART2.IPParameters=VirtualMode
+USART2.VirtualMode=VM_ASYNC
+VP_SYS_VS_Systick.Mode=SysTick
+VP_SYS_VS_Systick.Signal=SYS_VS_Systick
+board=NUCLEO-F103RB
+boardIOC=true
+isbadioc=false