/************************************************************************** * * Copyright (c) 2021-2022 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 DialysateFlow.h * * @author (last) Dara Navaei * @date (last) 07-Mar-2022 * * @author (original) Hung Nguyen * @date (original) 20-Oct-2021 * ***************************************************************************/ #ifndef __DIALYSATE_FLOW_H__ #define __DIALYSATE_FLOW_H__ #include "DGCommon.h" /** * @defgroup DialysateFlow * @brief Dialysate flow rate monitor module. Monitors the dialysate flow meter. * The dialysate flow meter is manufactured by Swiss Flow, PN: 0045 * * @addtogroup DialysateFlow * @{ */ // ********** public definitions ********** #define MAX_DIALYSATE_FLOWRATE_LPM 2.00F ///< Maximum target Dialysate flow rate in L/min. #define MIN_DIALYSATE_FLOWRATE_LPM 0.05F ///< Minimum target Dialysate flow rate in L/min. /// Dialysate flow meter data struct. typedef struct { F32 measuredDialysateFlowRate; ///< Dialysate flow meter rate average measurement. } DIALYSATE_FLOW_METER_DATA_T; // ********** public function prototypes ********** void initDialysateFlowMeter( void ); SELF_TEST_STATUS_T execDialysateFlowMeterSelfTest( void ); void execDialysateFlowMeterMonitor( void ); F32 getMeasuredDialysateFlowRate( void ); BOOL testSetDialysateFlowDataPublishIntervalOverride( U32 value ); BOOL testResetDialysateFlowDataPublishIntervalOverride( void ); BOOL testSetMeasuredDialysateFlowRateOverride( F32 flow ); BOOL testResetMeasuredDialysateFlowRateOverride( void ); /**@}*/ #endif