/************************************************************************** * * Copyright (c) 2019-2020 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) 14-Jan-2021 * * @author (original) Sean * @date (original) 14-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; F32 deliveredRinsebackVolumeMl; U32 rinsebackFlowRateMlMin; U32 timeout; U32 countdown; F32 safetyRinsebackVolumeMl; } RINSEBACK_DATA_PAYLOAD_T; #pragma pack(pop) // ********** public function prototypes ********** void initRinseback( void ); void transitionToRinseback( void ); void execRinseback( void ); void signalRinsebackUserAction( REQUESTED_RINSEBACK_USER_ACTIONS_T action ); // from user RINSEBACK_STATE_T getCurrentRinsebackState( void ); BOOL testSetRinsebackVolumeOverride( F32 vol ); BOOL testResetRinsebackVolumeOverride( void ); BOOL testSetRinsebackSafetyVolumeOverride( F32 vol ); BOOL testResetRinsebackSafetyVolumeOverride( void ); BOOL testSetRinsebackPublishIntervalOverride( U32 ms ); BOOL testResetRinsebackPublishIntervalOverride( void ); /**@}*/ #endif