Index: firmware/App/Controllers/Valves.h =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -r069dee3a2428d3c6bb281db1844a372ae6e2063a --- firmware/App/Controllers/Valves.h (.../Valves.h) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Controllers/Valves.h (.../Valves.h) (revision 069dee3a2428d3c6bb281db1844a372ae6e2063a) @@ -7,8 +7,8 @@ * * @file Valves.h * -* @author (last) Varshini Nagabooshanam -* @date (last) 19-Jan-2026 +* @author (last) Sean Nash +* @date (last) 04-May-2026 * * @author (original) Sean Nash * @date (original) 24-Oct-2024 @@ -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 );