Index: firmware/App/Controllers/ConductivitySensors.h =================================================================== diff -u -r482f4465ccdb813922de506bf780e29f4fb2f84b -rdf0a0b9ce1414b00b381e516714f9089d8e4ae21 --- firmware/App/Controllers/ConductivitySensors.h (.../ConductivitySensors.h) (revision 482f4465ccdb813922de506bf780e29f4fb2f84b) +++ firmware/App/Controllers/ConductivitySensors.h (.../ConductivitySensors.h) (revision df0a0b9ce1414b00b381e516714f9089d8e4ae21) @@ -8,7 +8,7 @@ * @file ConductivitySensors.h * * @author (last) Quang Nguyen -* @date (last) 21-Jul-2020 +* @date (last) 25-Aug-2020 * * @author (original) Quang Nguyen * @date (original) 13-Jul-2020 @@ -23,6 +23,8 @@ /** * @defgroup ConductivitySensors ConductivitySensors * @brief Conductivity Sensors monitor module. Monitors and filters conductivity sensor readings. + * The module uses Atlas Scientific EC OEM for conductivity sensors CPi and CPo with probe type K 1.0 and 0.1 respectively. + * The module uses Emstat Pico from PalmSens to measure electrical resistance and convert to conductivity. * * @addtogroup ConductivitySensors * @{ @@ -35,17 +37,37 @@ { CONDUCTIVITYSENSORS_CPI_SENSOR = 0, ///< Inlet water conductivity sensor CONDUCTIVITYSENSORS_CPO_SENSOR, ///< Outlet water conductivity sensor + CONDUCTIVITYSENSORS_CD1_SENSOR, ///< Post-acid concentrate conductivity sensor + CONDUCTIVITYSENSORS_CD2_SENSOR, ///< Post-bicarbonate concentrate conductivity sensor NUM_OF_CONDUCTIVITY_SENSORS ///< Number of conductivity sensors } CONDUCTIVITY_SENSORS_T; +/// Conductivity data struct. +typedef struct +{ + F32 roRejectionRatio; ///< RO rejection ratio + F32 cpi; ///< CPi conductivity sensor value + F32 cpo; ///< CPo conductivity sensor value + F32 cd1; ///< CD1 conductivity sensor value + F32 cd2; ///< CD2 conductivity sensor value +} CONDUCTIVITY_DATA_T; + // ********** public function prototypes ********** void initConductivitySensors( void ); void execConductivitySensors( void ); +SELF_TEST_STATUS_T execConductivitySensorsSelfTest( void ); + void checkInletWaterConductivity( void ); void checkRORejectionRatio( void ); +BOOL isAcidConductivityInRange( void ); +BOOL isBicarbConductivityInRange( void ); +BOOL isDialysateConductivityInRange( void ); + +F32 getConductivityValue( U32 sensorId ); + BOOL testSetConductivityOverride( U32 sensorId, F32 value ); BOOL testResetConductivityOverride( U32 sensorId );