Index: firmware/App/Monitors/Conductivity.h =================================================================== diff -u -rdc3647b737971d298748796d2455b3e021325d8a -rae31b4c999dccae70fb40fb9d98a4380ce2c7415 --- firmware/App/Monitors/Conductivity.h (.../Conductivity.h) (revision dc3647b737971d298748796d2455b3e021325d8a) +++ firmware/App/Monitors/Conductivity.h (.../Conductivity.h) (revision ae31b4c999dccae70fb40fb9d98a4380ce2c7415) @@ -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) 02-Feb-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,6 +35,9 @@ // ********** 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 { @@ -41,14 +46,47 @@ F32 d29Cond; ///< CD3 conductivity sensor value F32 d43Cond; ///< CD4 conductivity sensor value F32 d74Cond; ///< CD5 conductivity sensor value -} CONDUCTIVITY_DATA_T; +} DD_CONDUCTIVITY_DATA_T; +/// Conductivity data struct. +typedef struct +{ + F32 p9Conductivity; ///< (P9) conductivity sensor value + F32 p18Conductivity; ///< (P18) conductivity sensor value +} 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 ); -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 ); /**@}*/