/************************************************************************** * * Copyright (c) 2023-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 ModeROPermeateSample.h * * @author (last) Dara Navaei * @date (last) 09-Jun-2023 * * @author (original) Dara Navaei * @date (original) 24-May-2023 * ***************************************************************************/ #ifndef __MODE_ROPERMEATESAMPLE_H__ #define __MODE_ROPERMEATESAMPLE_H__ #include "DGCommon.h" #include "DGDefs.h" /** * @defgroup DGROPermeateSampleMode DGROPermeateSampleMode * @brief RO permeate sample mode module. Manages RO permeate sample mode function via a state machine. * * @addtogroup DGROPermeateSampleMode * @{ */ // ********** public definitions ********** /// RO permeate sample broadcast data structure typedef struct { U32 roPermeateSampleState; ///< RO permeate sample mode state. U32 overallElapsedTimeMS; ///< RO permeate sample mode overall elapsed time in milliseconds. U32 stateElapsedTimeMS; ///< RO permeate sample mode current state elapsed time in milliseconds. F32 roPermeateSampleDispensedVolML; ///< RO permeate sample mode dispensed volume in milliliters. U32 dispenseMessageStatus; ///< RO permeate sample mode dispense message status. } MODE_RO_PERMEATE_SAMPLE_DATA_T; // ********** public function prototypes ********** void initROPermeateSampleMode( void ); U32 transitionToROPermeateSampleMode( void ); U32 execROPermeateSampleMode( void ); DG_RO_PERM_STATE_T getCurrentROPermeateSampleState( void ); BOOL stopDGROPermeateSample( void ); void setROPermeateSampleDispenseRequest( U32 request ); /**@}*/ #endif