#ifndef __FT_USER_INPUTS_H
#define __FT_USER_INPUTS_H

#include "events.h"

#include "stm32g4xx_hal.h"
#include "stm32g4xx_hal_gpio.h"

typedef struct {
  GPIO_PinState left;
  GPIO_PinState right;
  GPIO_PinState r2d;
  GPIO_PinState enter;
  GPIO_PinState enc0a;
  GPIO_PinState enc0b;
  GPIO_PinState enc1a;
  GPIO_PinState enc1b;
} ButtonsState;

ButtonsState get_buttons_state();

void handle_button_press(const ButtonPressEvent* ev);

void handle_button_press_mission_select(const ButtonPressEvent* ev);

#endif // __FT_USER_INPUTS_H
