/************************************************************************** * * Copyright (c) 2019-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 ModePreTreat.h * * @author (last) Vinayakam Mani * @date (last) 02-Apr-2024 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 * ***************************************************************************/ #ifndef __MODE_PRE_TREAT_H__ #define __MODE_PRE_TREAT_H__ #include "HDCommon.h" #include "HDDefs.h" #include "DGDefs.h" /** * @defgroup HDPreTreatmentMode HDPreTreatmentMode * @brief Pre-TreatmentMode module. * * @addtogroup HDPreTreatmentMode * @{ */ // ********** public definitions ********** /// Payload record structure for a pre-treatment state message. typedef struct { U32 preTreatmentSubMode; ///< Current pre-treatment sub-mode U32 sampleWaterState; ///< Current sample water state U32 consumableSelfTestsState; ///< Current consumable self-tests state U32 noCartSelfTestsState; ///< Current no cartridge self-tests state U32 installState; ///< Current disposable installation state U32 drySelfTestsState; ///< Current dry self-tests state U32 primeState; ///< Current prime state U32 recircState; ///< Current re-circulate state U32 patientConnectionState; ///< Current patient connection state U32 wetSelfTestsState; ///< CUrrent wet self-tests state U32 preTreatmentRsrvrState; ///< Current pre-treatment reservoir state } PRE_TREATMENT_STATE_DATA_T; // ********** public function prototypes ********** void initPreTreatmentMode( void ); // Initialize this module U32 transitionToPreTreatmentMode( void ); // Prepares for transition to pre-treatment mode U32 execPreTreatmentMode( void ); // Execute the pre-treatment mode state machine (call from OperationModes) void signalUserConfirmInstallation( void ); // Signal that user confirms disposable has been installed void signalUserContinueToTreatment( void ); // Signal that user requests to continue to treatment void setUserSetUFVolumeStatus( BOOL status ); // Set status that indicates UF volume setting has been set void signalUserConfirmPatientConnection( void ); // Signal that user confirms patient connection has been completed void signalUserStartTreatment( void ); // Signal that user requests to start treatment void signalAllowDGFlushFills( void ); // Signal that indicates the HD may begin flush fills at DG void signalAllowDGFillRes1( void ); // Signal that indicates the HD may begin filling reservoir 1 (after flushes completed) void signalAllowDGFillRes2( void ); // Signal that indicates the HD may begin filling reservoir 2 (after flushes completed) // Set the trimmer heating parameters void setPreTreatmentHeatingParams( F32 targetTempC, U32 targetVolML, F32 targetFillFlowLPM, U32 dialysateFlowMLPM ); void signalAlarmActionToPreTreatmentMode( ALARM_ACTION_T action ); // Execute alarm action as appropriate for pre-treatment mode BOOL getReservoirFillStatus( DG_RESERVOIR_ID_T reservoirID ); // Get the fill complete status for given reservoir HD_PRE_TREATMENT_MODE_STATE_T getPreTreatmentSubState( void ); // Get the current pre-treatment sub mode. BOOL testSetPreTreatmentModePublishIntervalOverride( U32 ms ); BOOL testResetPreTreatmentModePublishIntervalOverride( void ); /**@}*/ #endif