Index: firmware/App/Controllers/Valves.h =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -rb777859b2667c350c6ca9fda60a668c9eb5fe02d --- firmware/App/Controllers/Valves.h (.../Valves.h) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Controllers/Valves.h (.../Valves.h) (revision b777859b2667c350c6ca9fda60a668c9eb5fe02d) @@ -61,6 +61,21 @@ } TD_VALVE_DATA_T; #pragma pack(pop) +/// Valve controller states +typedef enum Valve_Control_States +{ + VALVE_STATE_WAIT_FOR_POST = 0, ///< Valve state wait for POST. + VALVE_STATE_RESET_VALVE, ///< Valve state reset valve. + VALVE_STATE_RESET_ENCODER, ///< Valve state reset encoder. + VALVE_STATE_ENABLE_VALVE, ///< Valve state enable valve. + VALVE_STATE_HOMING_NOT_STARTED, ///< Valve state homing not started. + VALVE_STATE_HOMING_FIND_ENERGIZED_EDGE, ///< Valve state homing find energized edge. + VALVE_STATE_HOMING_FIND_DEENERGIZED_EDGE, ///< Valve state homing find de-energized edge. + VALVE_STATE_IDLE, ///< Valve state idle. + VALVE_STATE_IN_TRANSITION, ///< Valve state in transition. + NUM_OF_VALVE_STATES, ///< Number of valve exec states. +} VALVE_STATE_T; + // ********** public function prototypes ********** void initValves(void); @@ -70,6 +85,7 @@ BOOL homeValve( VALVE_T valve, BOOL force, BOOL cartridge ); BOOL setValvePosition( VALVE_T valve, VALVE_POSITION_T position ); VALVE_POSITION_T getValvePosition( VALVE_T valve ); +VALVE_STATE_T getValveState( VALVE_T valve ); BOOL testValvesDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testValveSetABCCmdPosition( MESSAGE_T *message );