/************************************************************************** * * Copyright (c) 2025-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 TubeSetAutoEject.h * * @author (last) Praneeth Bunne * @date (last) 29-Apr-2026 * * @author (original) Praneeth Bunne * @date (original) 29-Apr-2026 * ***************************************************************************/ #ifndef __TUBE_SET_AUTO_EJECT_H__ #define __TUBE_SET_AUTO_EJECT_H__ #include "TDCommon.h" #include "TDDefs.h" /** * @defgroup TubeSetAutoEject TubeSetAutoEject * @brief TubeSetAutoEject provide services to * Treatment and Post-Treatment modes.. * * @addtogroup TubeSetAutoEject * @{ */ // ********** public definitions ********** // Enumeration of Tube Set Auto-Eject states. enum Tube_Set_Auto_Eject_States { TUBE_SET_AUTO_EJECT_STATE_AWAIT_CONFIRMATION = 0, // Waiting for user confirmation to auto-eject TUBE_SET_AUTO_EJECT_STATE_HOMING, // Homing blood pump TUBE_SET_AUTO_EJECT_STATE_EXTENDING_EJECTOR, // Extending ejector state TUBE_SET_AUTO_EJECT_STATE_EJECTING, // Ejecting tubeset state TUBE_SET_AUTO_EJECT_STATE_RETRACTING_EJECTOR, // Retracting ejector state NUM_OF_TUBE_SET_AUTO_EJECT_SUB_STATES, // Num of auto-eject sub-states }; /// Type for TD Tube Set Auto-Eject service enumeration typedef enum Tube_Set_Auto_Eject_States TUBE_SET_AUTO_EJECT_STATE_T; // ********** public function prototypes ********** void initTubeSetAutoEject( void ); // Initialize this service void execTubeSetAutoEject( void ); // Execute the service state machine (call from ModePostTreat and ModeTreatment) BOOL isTubeSetAutoEjectComplete( void ); // Returns True once auto-eject finished successfully BOOL handleAutoEjectRequest( MESSAGE_T *message); // Handle UI auto-eject confirmation request /**@}*/ #endif