diff options
| author | J08nY | 2020-02-27 13:38:47 +0100 |
|---|---|---|
| committer | J08nY | 2020-02-27 13:38:47 +0100 |
| commit | 4eafe2d49fc7406861609c5af12b850741bbe5a0 (patch) | |
| tree | 49355d5cce44be8bd100fa8260b3b488f15be4a5 /pyecsca/codegen/hal/stm32f0 | |
| parent | a071822d9966ac150e7ed3d4efffbf3feaa500f5 (diff) | |
| download | pyecsca-codegen-4eafe2d49fc7406861609c5af12b850741bbe5a0.tar.gz pyecsca-codegen-4eafe2d49fc7406861609c5af12b850741bbe5a0.tar.zst pyecsca-codegen-4eafe2d49fc7406861609c5af12b850741bbe5a0.zip | |
Proper LED thingies.
Diffstat (limited to 'pyecsca/codegen/hal/stm32f0')
| -rw-r--r-- | pyecsca/codegen/hal/stm32f0/stm32f0_hal.c | 40 | ||||
| -rw-r--r-- | pyecsca/codegen/hal/stm32f0/stm32f0_hal.h | 2 |
2 files changed, 40 insertions, 2 deletions
diff --git a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c index ee70dd7..613a20a 100644 --- a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c +++ b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c @@ -27,8 +27,7 @@ void platform_init(void) RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; - uint32_t flash_latency = 0; - HAL_RCC_ClockConfig(&RCC_ClkInitStruct, flash_latency); + HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0); #else RCC_OscInitTypeDef RCC_OscInitStruct; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI; @@ -44,6 +43,17 @@ void platform_init(void) RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0); #endif + + __HAL_RCC_GPIOC_CLK_ENABLE(); + GPIO_InitTypeDef GpioInit; + GpioInit.Pin = GPIO_PIN_13 | GPIO_PIN_14; + GpioInit.Mode = GPIO_MODE_OUTPUT_PP; + GpioInit.Pull = GPIO_NOPULL; + GpioInit.Speed = GPIO_SPEED_FREQ_HIGH; + HAL_GPIO_Init(GPIOC, &GpioInit); + + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, RESET); + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_14, RESET); } void init_uart(void) @@ -69,6 +79,8 @@ void init_uart(void) HAL_UART_Init(&UartHandle); } +static bool trig; + void trigger_setup(void) { __HAL_RCC_GPIOA_CLK_ENABLE(); @@ -81,15 +93,23 @@ void trigger_setup(void) HAL_GPIO_Init(GPIOA, &GpioInit); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, RESET); + trig = false; } void trigger_high(void) { + trig = true; HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, SET); } +bool trigger_status(void) +{ + return trig; +} + void trigger_low(void) { + trig = false; HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, RESET); } @@ -106,3 +126,19 @@ void putch(char c) HAL_UART_Transmit(&UartHandle, &d, 1, 5000); } +void led_error(unsigned int x) +{ + if (!x) + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, RESET); + else + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, SET); +} + +void led_ok(unsigned int x) +{ + if (!x) + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_14, RESET); + else + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_14, SET); +} + diff --git a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h index 1cbdefc..d432304 100644 --- a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h +++ b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h @@ -1,5 +1,6 @@ #ifndef STM32F0_HAL_H #define STM32F0_HAL_H +#include <stdbool.h> void init_uart(void); void putch(char c); @@ -8,6 +9,7 @@ char getch(void); void trigger_setup(void); void trigger_low(void); +bool trigger_status(void); void trigger_high(void); void led_error(unsigned int status); |
