File tree Expand file tree Collapse file tree 3 files changed +9
-1
lines changed Expand file tree Collapse file tree 3 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ typedef struct stateMachine_t stateMachine_t;
3737
3838state_t * getCurrState (void );
3939
40+ state_t * setCurrState (state_t * state );
4041state_t * findState (char * name );
4142/*
4243* The state machine is a directed graph. Each edge is a transition
Original file line number Diff line number Diff line change @@ -250,6 +250,10 @@ state_t *getCurrState(void) {
250250 return stateMachine .currState ;
251251}
252252
253+ state_t * setCurrState (state_t * state ) {
254+ stateMachine .currState = state ;
255+ }
256+
253257/***
254258 * runStateMachine -
255259 * Executes the current states action. A mini control loop
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ extern "C"
1515#include " data.h"
1616#include " state_machine.h"
1717#include " hv_iox.h"
18+ #include " braking.h"
1819}
1920
2021
@@ -129,7 +130,9 @@ void *TCPLoop(void *arg)
129130
130131 if (!strncmp (buffer, " emergencyBrake" , MAX_COMMAND_SIZE))
131132 {
132- data->flags ->emergencyBrake = 1 ;
133+ brake ();
134+ setCurrSate (getCurrState () -> fault);
135+
133136 }
134137
135138 if (!strncmp (buffer, " hvEnable" , MAX_COMMAND_SIZE))
You can’t perform that action at this time.
0 commit comments