Index: firmware/App/Controllers/Valves.h =================================================================== diff -u -red8321235c296b3c2e431692cc4f3e3db8a41a81 -rce66580e076bffa157868ff7e422556f78a95cac --- firmware/App/Controllers/Valves.h (.../Valves.h) (revision ed8321235c296b3c2e431692cc4f3e3db8a41a81) +++ firmware/App/Controllers/Valves.h (.../Valves.h) (revision ce66580e076bffa157868ff7e422556f78a95cac) @@ -14,65 +14,66 @@ * @date (original) 09-Nov-2024 * ***************************************************************************/ - -#ifndef __VALVES_H__ -#define __VALVES_H__ - + +#ifndef __VALVES_H__ +#define __VALVES_H__ + #include "ROCommon.h" - -/** - * @defgroup Valves Valves - * @brief Valves driver unit. Controls all RO valves through FPGA Interface. - * - * @addtogroup Valves - * @{ + +/** + * @defgroup Valves Valves + * @brief Valves driver unit. Controls all RO valves through FPGA Interface. + * + * @addtogroup Valves + * @{ */ - -/// Enumeration of valves. -typedef enum Valves + +/// Enumeration of valves. +typedef enum Valves { - VWI = 0, ///< Valve (M4) + VWI = 0, ///< Valve (M4 VWi) FIRST_VALVE = VWI, ///< First valve - VFB, ///< Valve (M7) - VFF, ///< Valve (P6) - VPI, ///< Valve (P11) - VCR, ///< Valve (P33) - VCB, ///< Valve (P34) - VCD, ///< Valve (P37) - VROD, ///< Valve (P39) - NUM_OF_VALVES ///< Number of valves + VROD, ///< Valve (P39 VROd) + VFF, ///< Valve (P6 VFF) + VPI, ///< Valve (P11 VPi) + VCR, ///< Valve (P33 VCr) + VCB, ///< Valve (P34 VCb) + VCD, ///< Valve (P37 VCd) + VFB, ///< Valve (M7 VFB) + SPP, ///< Valve (P20 SPP) + NUM_OF_VALVES ///< Number of valves } VALVES_T; /// Enumeration of available valve state names per valve type (from SA and DG SRS documents). typedef enum ValveStateNames { - VALVE_STATE_OPEN = 0, ///< Open valve state, - VALVE_STATE_CLOSED, ///< Closed valve state, + VALVE_STATE_CLOSED = 0, ///< Closed valve state, + VALVE_STATE_OPEN, ///< Open valve state, NUM_OF_VALVE_STATES ///< number of valve states } VALVE_STATE_NAMES_T; #pragma pack(push, 1) /// Valves publish structure typedef struct { - U16 valvesStatus; ///< 2 way valves status. - U08 valvesSensedState[ NUM_OF_VALVES ]; ///< RO valves sensed states. + U16 valvesCmdState; ///< Commanded RO valve states (bits). + U08 valvesSensedState[ NUM_OF_VALVES ]; ///< Sensed RO valve states. } RO_VALVES_DATA_T; -#pragma pack(pop) - -// ********** public function prototypes ********** - -void initValves( void ); -void execValves( void ); +#pragma pack(pop) +// ********** public function prototypes ********** + +void initValves( void ); +void execValves( void ); + BOOL setValveState( VALVES_T valve, VALVE_STATE_NAMES_T valveState ); BOOL setValveStateDelayed( VALVES_T valve, VALVE_STATE_NAMES_T valveState, U32 delayMs ); VALVE_STATE_NAMES_T getValveStateName( VALVES_T valveID ); - + BOOL testValvesStatesPublishIntervalOverride( MESSAGE_T *message ); BOOL testValveStateOverride( MESSAGE_T *message ); BOOL testValveSensedStateOverride( MESSAGE_T *message ); - -/**@}*/ - -#endif + +/**@}*/ + +#endif