PER Firmware
Loading...
Searching...
No Matches
driver_interface.h
Go to the documentation of this file.
1
8#ifndef DRIVER_INTERFACE_H
9#define DRIVER_INTERFACE_H
10
11#include <stdint.h>
12
13typedef enum {
14 UPDATE_PAGE,
15 MENU_UP,
16 MENU_DOWN,
17 BACK_PAGE,
18 FORWARD_PAGE,
19 SELECT_BUTTON,
20 START_BUTTON,
21 MARK_DATA,
22 TOGGLE_REGEN,
23 RIGHT_WHEEL_MINUS,
24 RIGHT_WHEEL_PLUS,
25 LEFT_WHEEL_MINUS,
26 LEFT_WHEEL_PLUS
27} driver_interface_action_t;
28
29typedef enum {
30 DI_STATE_LCD_INIT = 0,
31 DI_STATE_BUTTONS_INIT = 1,
32 DI_STATE_ACTIVE = 2
33} driver_interface_state_t;
34
35static constexpr uint32_t DRIVER_INTERFACE_PERIOD_MS = 50;
36void driver_interface_periodic(void);
37
38// Button EXTI handlers
39void EXTI0_IRQHandler(void);
40void EXTI1_IRQHandler(void);
41void EXTI4_IRQHandler(void);
42void EXTI9_5_IRQHandler(void);
43void EXTI15_10_IRQHandler(void);
44
45#endif // DRIVER_INTERFACE_H