updated the state_machine and added it to main
This commit is contained in:
@ -17,13 +17,13 @@
|
||||
#define RELAY_CLOSE_WAIT 10 // ms
|
||||
|
||||
typedef enum { // valid transitions: (all could transition to error)
|
||||
INACTIVE, // INACTIVE -> PRECHARGE, CHARGING, ERROR
|
||||
PRECHARGE, // PRECHARGE -> INACTIVE, READY, DISCHARGE, ERROR
|
||||
READY, // READY -> ACTIVE, DISCHARGE, ERROR
|
||||
ACTIVE, // ACTIVE -> READY, DISCHARGE, ERROR
|
||||
DISCHARGE, // DISCHARGE -> INACTIVE, PRECHARGE, ERROR
|
||||
CHARGING, // CHARGING -> INACTIVE, DISCHARGE, ERROR
|
||||
ERROR, // ERROR -> INACTIVE, DISCHARGE, ERROR
|
||||
STATE_INACTIVE, // INACTIVE -> PRECHARGE, CHARGING, ERROR
|
||||
STATE_PRECHARGE, // PRECHARGE -> INACTIVE, READY, DISCHARGE, ERROR
|
||||
STATE_READY, // READY -> ACTIVE, DISCHARGE, ERROR
|
||||
STATE_ACTIVE, // ACTIVE -> READY, DISCHARGE, ERROR
|
||||
STATE_DISCHARGE, // DISCHARGE -> INACTIVE, PRECHARGE, ERROR
|
||||
STATE_CHARGING, // CHARGING -> INACTIVE, DISCHARGE, ERROR
|
||||
STATE_ERROR, // ERROR -> INACTIVE, DISCHARGE, ERROR
|
||||
} State;
|
||||
|
||||
typedef struct {
|
||||
@ -60,10 +60,10 @@ State sm_update_discharge();
|
||||
State sm_update_charging();
|
||||
State sm_update_error();
|
||||
|
||||
typedef enum { RELAY_POS, RELAY_PRECHARGE } Relay;
|
||||
typedef enum { RELAY_MAIN, RELAY_PRECHARGE } Relay;
|
||||
void sm_set_relay_positions(State state);
|
||||
void sm_set_relay_position(Relay relay, int closed);
|
||||
void sm_check_close_wait(int *is_closed, int should_close);
|
||||
void sm_set_relay(Relay relay, bool closed);
|
||||
void sm_check_precharge_discharge(int *is_closed, int should_close);
|
||||
|
||||
void sm_handle_ams_in(const uint8_t *data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user