Files @ 34a13647cf13
Branch filter:

Location: windsonde/Source/system/gpio.c

ethanzonca
Pressure reading now works! Needs pullups added...
//
// 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);
}