/************************************************************************** * * Copyright (c) 2024-2024 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 WaterQualityMonitor.h * * @author (last) Michael Garthwaite * @date (last) 21-Nov-2024 * * @author (original) Michael Garthwaite * @date (original) 21-Nov-2024 * ***************************************************************************/ #ifndef __WATER_QUALITY_MONITOR_H #define __WATER_QUALITY_MONITOR_H #include "FPCommon.h" #include "FPDefs.h" /** * @defgroup WaterQualityMonitor WaterQualityMonitor * @brief WaterQualityMonitor module monitors the inlet water conditions for FP sub-system. * Considers temperature, pressure, flows, and conductivity. * WaterQualityMonitor manufacturer: Custom built modules. * * @addtogroup WaterQualityMonitor * @{ */ // ********** public definitions ********** /// Temperature sensors data structure. typedef struct { F32 p10Temp; ///< P10 temperature from inlet conductivity sensor. F32 p19Temp; ///< P19 temperature from outlet conductivity sensor. F32 m1Temp; ///< Temperature before pressure regulator (M1) F32 m3Temp; ///< Temperature after pressure regulator (M3) F32 p8Temp; ///< Temperature before inlet conductivity sensor (P8) F32 p13Temp; ///< Temperature before RO filter (P13) F32 p17Temp; ///< Temperature after RO filter (P17) F32 x1Temp; ///< Temperature before RO pump (X1) F32 x2Temp; ///< Temperature RO Concentrate F32 x3Temp; ///< Temperature RO Concentrate drop F32 x4Temp; ///< Temperature drain drop F32 p7Temp; ///< Temperature RO inlet F32 p16Temp; ///< Temperature RO outlet } TEMPERATURE_SENSORS_DATA_T; // ********** public definitions ********** void initWaterQualityMonitor( void ); void execWaterQualityMonitor( void ); void checkInletPressures( void ); void checkROPressures( void ); void checkPressureRelief( void ); void checkInletTemperatures( void ); void checkInletConductivity( void ); void checkOutletConductivity( void ); BOOL testTemperatureSensorsDataPublishIntervalOverride( MESSAGE_T *message ); #endif