Index: firmware/App/Controllers/Valves.h =================================================================== diff -u -r200dfbd12ee14a4dbe5ee1daaece7bfce9e8a104 -rdc4b4fddff7b3ceb6de191eed9c181d2508544ee --- firmware/App/Controllers/Valves.h (.../Valves.h) (revision 200dfbd12ee14a4dbe5ee1daaece7bfce9e8a104) +++ firmware/App/Controllers/Valves.h (.../Valves.h) (revision dc4b4fddff7b3ceb6de191eed9c181d2508544ee) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2026 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * -* @file ValvesDD.h +* @file Valves.h * -* @author (last) Vinayakam Mani -* @date (last) 14-Aug-2024 +* @author (last) Dara Navaei +* @date (last) 19-Feb-2026 * * @author (original) Vinayakam Mani -* @date (original) 14-Aug-2024 +* @date (original) 26-Aug-2024 * ***************************************************************************/ @@ -37,19 +37,37 @@ NUM_OF_VALVE_STATES ///< number of valve states } VALVE_STATE_NAMES_T; +/// Enumerations for water recovery options +typedef enum recovery_States +{ + NO_RECOVERY = 0, ///< NO recovery + MEDIUM_RECOVERY, ///< Medium recovery + MAX_RECOVERY, ///< Maximum recovery + NUM_OF_RECOVERY_STATES ///< Number of recovery states +} RECOVERY_STATE_T; + #pragma pack(push, 1) /// Valves publish structure typedef struct { U16 valvesStatus; ///< 2 way valves status. U08 valvesBCStatus; ///< Balancing chamber valves status. - U08 valvesUFStatus; ///< Ultrafiltration valves status. - U08 valvesSensedState[ DD_NUM_OF_VALVES ]; ///< DD valves sensed states. + U08 valveSPStatus; ///< Spare valves status. + U08 valvesSensedState[ LAST_DD_VALVE + 1 ]; ///< DD sensed valve states. } DD_VALVES_DATA_T; +/// Valves publish structure +typedef struct +{ + U08 valvesIOState; ///< Commanded IO valve states (bits). + U08 valvesFPState; ///< Commanded FP valve states (bits). + U08 valvesSensedState[ LAST_FP_VALVE - FIRST_IO_VALVE + 1 ]; ///< Sensed FP valve states (enumerations). +} FP_VALVES_DATA_T; + /// Balancing chamber valve states override structure typedef struct { + BOOL reset; ///< Reset (bool) U32 valveStatesBits; ///< Bits indicating whether balancing chamber valve states should be open(1) or closed(0). } DD_BC_VALVE_OVERRIDE_PAYLOAD_T; #pragma pack(pop) @@ -63,14 +81,18 @@ BOOL setValveStateDelayed( DD_VALVES_T valve, VALVE_STATE_NAMES_T valveState, U32 delayMs ); VALVE_STATE_NAMES_T getValveStateName( DD_VALVES_T valveID ); void setHydValvesStatetoClosedState( void ); -void setUFValvesStatetoClosedState( void ); +void setRecoveryValvesConfig( void ); BOOL testValvesStatesPublishIntervalOverride( MESSAGE_T *message ); BOOL testValveStateOverride( MESSAGE_T *message ); BOOL testBCValveStatesOverride( MESSAGE_T *message ); BOOL testValveSensedStateOverride( MESSAGE_T *message ); BOOL testValveOpenCloseStateOverride( MESSAGE_T *message ); +BOOL testIOFPValvesStatesPublishIntervalOverride( MESSAGE_T *message ); +BOOL testIOFPValveStateOverride( MESSAGE_T *message ); +BOOL testIOFPValveSensedStateOverride( MESSAGE_T *message ); + /**@}*/ #endif