/************************************************************************** * * Copyright (c) 2025-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 StateTxRinseback.h * * @author (last) Praneeth Bunne * @date (last) 15-Jun-2026 * * @author (original) Praneeth Bunne * @date (original) 15-Jun-2026 * ***************************************************************************/ #ifndef __STATE_TX_RINSEBACK_H__ #define __STATE_TX_RINSEBACK_H__ #include "TDCommon.h" #include "TDDefs.h" /** * @defgroup StateTxRinseback StateTxRinseback * @brief Treatment Rinseback state unit. * * @addtogroup StateTxRinseback * @{ */ // ********** public definitions ****************** #pragma pack(push,1) /// Payload record structure for a rinseback data broadcast message. typedef struct { F32 targetRinsebackVolumeMl; ///< Target rinse back volume in mL. F32 deliveredRinsebackVolumeMl; ///< Delivered rinse back volume in mL. U32 rinsebackFlowRateMlMin; ///< Rinse back flow rate in mL/min. U32 timeout; ///< Rinseback timeout duration (in seconds). U32 countdown; ///< Countdown. BOOL isCompleted; ///< Is completed. BOOL isRecircAllowed; ///< Is re-circulation allowed from risneback. } RINSEBACK_DATA_PAYLOAD_T; #pragma pack(pop) // ********** public function prototypes ********** void initRinseback( void ); void transitionToRinseback( void ); void execRinseback( void ); void signalRinsebackAlarmResumeUserAction( void ); // User Alarm action to resume BOOL signalRinsebackUserAction( MESSAGE_T *message ); // User rinseback actions RINSEBACK_STATE_T getCurrentRinsebackState( void ); F32 getDeliveredRinsebackVolume( void ); BOOL testRinsebackVolumeOverride( MESSAGE_T *message ); BOOL testRinsebackPublishIntervalOverride( MESSAGE_T *message ); /**@}*/ #endif