steering-wheel-stm/Core/Inc/state.h

45 lines
672 B
C
Raw Permalink Normal View History

2022-05-27 17:20:16 +02:00
#ifndef __STATE_H
#define __STATE_H
typedef enum {
VIEW_MISSION_SELECT = 0,
VIEW_AMI = 1,
VIEW_DRIVER = 2,
VIEW_TESTING = 3
} STWView;
2022-05-28 02:00:50 +02:00
typedef enum {
MISSION_NONE,
MISSION_ACCELERATION,
MISSION_SKIDPAD,
MISSION_AUTOCROSS,
MISSION_TRACKDRIVE,
MISSION_EBS_TEST,
MISSION_INSPECTION,
MISSION_MANUAL
} Mission;
typedef struct {
Mission selection;
} MissionSelectState;
typedef struct {
Mission current_mission;
} AMIState;
typedef union {
MissionSelectState mission_select;
AMIState ami;
} ViewState;
2022-05-27 17:20:16 +02:00
typedef struct {
STWView view;
2022-05-28 02:00:50 +02:00
ViewState view_state;
2022-05-27 17:20:16 +02:00
} STWState;
extern STWState stw_state;
void state_init();
#endif // __STATE_H