/************************************************************************** * * Copyright (c) 2026-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 StatePreTxHeparinSetup.h * * @author (last) Vijay Pamula * @date (last) 06-Jun-2026 * * @author (original) Vijay Pamula * @date (original) 06-Jun-2026 * ***************************************************************************/ #ifndef __STATE_PRE_TX_HEPARIN_SETUP_H__ #define __STATE_PRE_TX_HEPARIN_SETUP_H__ #include "TDCommon.h" #include "TDDefs.h" /** * @defgroup StatePreTxHeparinSetup StatePreTxHeparinSetup * @brief Pre-treatment heparin setup state unit. This state controls * syringe pump preload, syringe load confirmation, seek, prime, bolus, * and paused recovery before patient connection. * * @addtogroup StatePreTxHeparinSetup * @{ */ // ********** public definitions ********** /// Enumeration of Pre-Treatment HeparinSetup sub-states. typedef enum { PRE_TX_HEPARIN_SETUP_PRELOAD_STATE = 0, ///< Preload heparin syringe state. PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE, ///< Await syringe load confirmation state. PRE_TX_HEPARIN_SETUP_SEEK_STATE, ///< Seek syringe plunger state. PRE_TX_HEPARIN_SETUP_PRIME_STATE, ///< Prime heparin line state. PRE_TX_HEPARIN_SETUP_OCCLUSION_CHECK_STATE, ///< Heparin setup occlusion check state. PRE_TX_HEPARIN_SETUP_BOLUS_STATE, ///< Deliver heparin bolus state. PRE_TX_HEPARIN_SETUP_PAUSED_STATE, ///< Paused state. NUM_OF_PRE_TX_HEPARIN_SETUP_STATES ///< Number of pre-treatment heparin setup substates. } PRE_TX_HEPARIN_SETUP_STATE_T; // ********** public function prototypes ********** void initPreTxHeparinSetup( void ); // Initialize this unit void transitionToPreTxHeparinSetup( void ); // Prepares for transition to pre-treatment heparin setup state void execPreTxHeparinSetup( void ); // Execute the pre-treatment heparin setup state machine U32 getPreTxHeparinSetupState( void ); // Gets current pre-treatment heparin setup state void signalResumePreTxHeparinSetup( void ); // Signal resume request for pre-treatment heparin setup void signalPreTxHeparinSyringeLoadConfirmed( void ); // Signal syringe load confirmation for pre-treatment heparin setup /**@}*/ #endif