/************************************************************************** * * Copyright (c) 2020-2025 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 Prime.h * * @author (last) Darren Cox * @date (last) 10-Mar-2022 * * @author (original) Quang Nguyen * @date (original) 08-Dec-2020 * ***************************************************************************/ #ifndef __PRIME_H__ #define __PRIME_H__ #include "HDCommon.h" #include "HDDefs.h" /** * @defgroup Prime Prime * @brief Prime sub-mode of pre-treatment mode. This sub-mode handles blood and dialysate circuits priming functionality. * This sub-mode also executes wet self-tests after prime is completed. * * @addtogroup Prime * @{ */ // ********** public definitions ********** /// Payload record structure for a priming status data broadcast message. typedef struct { U32 totalTime; ///< Total priming time in seconds. U32 remainingTime; ///< Remaining time for priming in seconds. } PRIMING_DATA_PAYLOAD_T; // ********** public function prototypes ********** void initPrime( void ); // Initialize prime sub-mode (of pre-treatment mode). void transitionToPrime( void ); // Transition to prime sub-mode (of pre-treatment mode). void execPrime( void ); // Execute the prime state machine. U32 getPrimeState( void ); // Get the current state of the prime state machine. U32 getDialyzerBloodVolume( void ); // Get the blood volume (in mL) associated with a given dialyzer type. U32 getDialyzerDialysateVolume( void ); // Get the dialysate volume (in mL) associated with a given dialyzer type. void signalStartPrime( void ); // User has requested to start prime void signalResumePrime( void ); // User has requested to resume prime /**@}*/ #endif