Files
@ 041562172b4a
Branch filter:
Location: windsonde/Source/system/gpio.c - annotation
041562172b4a
1.0 KiB
text/plain
Doubleinit radio for guaranteed init; GPS fixes
0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be 7ff1c5a59571 7ff1c5a59571 7ff1c5a59571 7ff1c5a59571 7ff1c5a59571 7ff1c5a59571 7ff1c5a59571 0f04af7169be 0f04af7169be 0f04af7169be 0f04af7169be | //
// GPIO: Configure and initialize GPIOs
//
#include "config.h"
#include "system/gpio.h"
#include "stm32f0xx_hal.h"
// Private variables
static uint8_t shutdown_triggered = 0;
static uint32_t shutdown_triggered_time = 0;
// Initialize GPIOs
void gpio_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
// Enable clocks
__GPIOC_CLK_ENABLE();
__GPIOF_CLK_ENABLE();
__GPIOA_CLK_ENABLE();
__GPIOB_CLK_ENABLE();
// LEDs 1/2
GPIO_InitStruct.Pin = PIN_LED_POWER;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
HAL_GPIO_Init(PORT_LED_POWER, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPS_NOTEN_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
HAL_GPIO_Init(GPS_NOTEN_PORT, &GPIO_InitStruct);
HAL_GPIO_WritePin(GPS_NOTEN, 1); // yes, keep the chip disabled
// Toggle the power LED
HAL_GPIO_TogglePin(LED_POWER);
}
|