Index: firmware/App/Monitors/Conductivity.h =================================================================== diff -u -rdc3647b737971d298748796d2455b3e021325d8a -rd47b9bcbd4796a8c51d9e87436422c5868292ac6 --- firmware/App/Monitors/Conductivity.h (.../Conductivity.h) (revision dc3647b737971d298748796d2455b3e021325d8a) +++ firmware/App/Monitors/Conductivity.h (.../Conductivity.h) (revision d47b9bcbd4796a8c51d9e87436422c5868292ac6) @@ -1,24 +1,26 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-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 Conductivity.h * -* @author (last) Vinayakam Mani -* @date (last) 10-Sep-2024 +* @author (last) Michael Garthwaite +* @date (last) 08-Jul-2026 * * @author (original) Vinayakam Mani -* @date (original) 10-Sep-2024 +* @date (original) 13-Sep-2024 * ***************************************************************************/ #ifndef __CONDUCTIVITY_H__ #define __CONDUCTIVITY_H__ #include "DDCommon.h" +#include "DDDefs.h" +#include "ConductivityTeensy.h" #include "ConductivitySensors.h" /** @@ -33,22 +35,81 @@ // ********** public definitions ********** +#define RO_REJECTION_RATIO_OUT_OF_RANGE_VALUE 100.0F ///< Out of range value for RO rejection ratio when CPi conductivity is zero. + +#pragma pack(push, 1) /// Conductivity data struct. typedef struct { - F32 d17Cond; ///< CD1 conductivity sensor value - F32 d27Cond; ///< CD2 conductivity sensor value - F32 d29Cond; ///< CD3 conductivity sensor value - F32 d43Cond; ///< CD4 conductivity sensor value - F32 d74Cond; ///< CD5 conductivity sensor value -} CONDUCTIVITY_DATA_T; + F32 d17Cond; ///< D17 conductivity sensor value + F32 d27Cond; ///< D27 conductivity sensor value + F32 d29Cond; ///< D29 conductivity sensor value + F32 d43Cond; ///< D43 conductivity sensor value + F32 d74Cond; ///< D74 conductivity sensor value + F32 d17CondResist; ///< D17 raw resistance value from conductivity + F32 d27CondResist; ///< D27 raw resistance value from conductivity + F32 d29CondResist; ///< D29 raw resistance value from conductivity + F32 d43CondResist; ///< D43 raw resistance value from conductivity + F32 d74CondResist; ///< D74 raw resistance value from conductivity + F32 d17RTDResist; ///< D17 raw resistance value from RTD + F32 d27RTDResist; ///< D27 raw resistance value from RTD + F32 d29RTDResist; ///< D29 raw resistance value from RTD + F32 d43RTDResist; ///< D43 raw resistance value from RTD + F32 d74RTDResist; ///< D74 raw resistance value from RTD + F32 d17CondUncomp; ///< D17 conductivity sensor value without temperature compensation + F32 d27CondUncomp; ///< D27 conductivity sensor value without temperature compensation + F32 d29CondUncomp; ///< D29 conductivity sensor value without temperature compensation + F32 d43CondUncomp; ///< D43 conductivity sensor value without temperature compensation + F32 d74CondUncomp; ///< D74 conductivity sensor value without temperature compensation +} DD_CONDUCTIVITY_DATA_T; +/// Conductivity data struct. +typedef struct +{ + F32 p9Conductivity; ///< P9 conductivity sensor value + F32 p18Conductivity; ///< P18 conductivity sensor value + F32 p9CondResist; ///< P9 raw resistance value from conductivity + F32 p18CondResist; ///< P18 raw resistance value from conductivity + F32 p9RTDResist; ///< P9 raw resistance value from RTD + F32 p18RTDResist; ///< P18 raw resistance value from RTD + F32 p9CondUncomp; ///< P9 conductivity sensor value without temperature compensation + F32 p18CondUncomp; ///< P18 conductivity sensor value without temperature compensation +} FP_CONDUCTIVITY_DATA_T; + +/// RO rejection ratio data struct. +typedef struct +{ + F32 rawRORejectionRatio; ///< RO rejection ratio during tank full and fill state + F32 rawRORejectionRatioTankFill; ///< RO rejection ratio during tank fill state + F32 avgRORejectionRatio; ///< RO rejection ratio average during tank full and fill state + F32 avgRORejectionRatioTankFill; ///< RO rejection ratio average during tank fill state + U32 genPermeateState; ///< Permeate tank state +} RO_REJECTION_RATIO_DATA_T; + +#pragma pack(pop) + // ********** public function prototypes ********** void initConductivity( void ); void execConductivity( void ); +F32 getFilteredConductivity( CONDUCTIVITY_SENSORS_T sensor ); +F32 getFilteredConductivitySensorTemperature( CONDUCTIVITY_SENSORS_T sensor ); +F32 getRORejectonRatio( void ); +F32 getTankFillRORejectionRatio( void ); +F32 getRORRAverage( void ); +F32 getTankFillRORRAverage( void ); +F32 getFilteredUConductivity( CONDUCTIVITY_SENSORS_T sensor ); -BOOL testConductivitySensorDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testDDConductivitySensorDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testDDConductivitySensorFilteredReadingsOverride( MESSAGE_T *message ); +BOOL testDDConductivitySensorFilteredTemperatureReadingsOverride( MESSAGE_T *message ); +BOOL testFPConductivitySensorDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testFPConductivitySensorFilteredReadingsOverride( MESSAGE_T *message ); +BOOL testFPConductivitySensorFilteredTemperatureReadingsOverride( MESSAGE_T *message ); +BOOL testRORejectionRatioDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testRORejectionRatioFilteredOverride( MESSAGE_T *message ); +BOOL testConductivitySensorReadingsOverride( MESSAGE_T *message ); +BOOL testConductivitySensorTemperatureOverride( MESSAGE_T *message ); /**@}*/