/************************************************************************** * * Copyright (c) 2021-2024 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 Rinseback.h * * @author (last) Sean Nash * @date (last) 23-Jun-2023 * * @author (original) Sean Nash * @date (original) 20-Jan-2021 * ***************************************************************************/ #ifndef __RINSEBACK_H__ #define __RINSEBACK_H__ #include "HDCommon.h" #include "HDDefs.h" /** * @defgroup Rinseback Rinseback * @brief Rinseback sub-mode of treatment mode. * The rinseback state is where operational control goes when user chooses * to do a blood rinseback (mid-treatment or end of treatment) in order to * disconnect from the system. * * @addtogroup Rinseback * @{ */ // ********** 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; ///< Timeout in milliseconds. U32 countdown; ///< Countdown. BOOL isCompleted; ///< Is completed. } RINSEBACK_DATA_PAYLOAD_T; #pragma pack(pop) // ********** public function prototypes ********** void initRinseback( void ); void transitionToRinseback( void ); void execRinseback( void ); void signalRinsebackAlarmResumeUserAction( void ); // from user response to alarm void signalRinsebackUserAction( REQUESTED_RINSEBACK_USER_ACTIONS_T action ); // from user RINSEBACK_STATE_T getCurrentRinsebackState( void ); BOOL testSetRinsebackVolumeOverride( F32 vol ); BOOL testResetRinsebackVolumeOverride( void ); BOOL testSetRinsebackPublishIntervalOverride( U32 ms ); BOOL testResetRinsebackPublishIntervalOverride( void ); /**@}*/ #endif