Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r10be818de220ab197fc272ca35720962052cfb07 -r9e24f089135cc3f0842aa34e79a9a0fe23d92cdf --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 10be818de220ab197fc272ca35720962052cfb07) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 9e24f089135cc3f0842aa34e79a9a0fe23d92cdf) @@ -162,6 +162,7 @@ F32 const cp1Error = fabs( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP1 ) - concentratePumps[ CONCENTRATEPUMPS_CP1 ].currentPumpSpeed ) / concentratePumps[ CONCENTRATEPUMPS_CP1 ].currentPumpSpeed; F32 const cp2Error = fabs( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP2 ) - concentratePumps[ CONCENTRATEPUMPS_CP2 ].currentPumpSpeed ) / concentratePumps[ CONCENTRATEPUMPS_CP2 ].currentPumpSpeed; + // TODO add the right limit argument checkPersistentAlarm( PERSISTENT_ALARM_CP1_SPEED_CONTROL_ERROR, cp1Error > CONCENTRATE_PUMP_ERROR_TOLERANCE, cp1Error, 0 ); checkPersistentAlarm( PERSISTENT_ALARM_CP2_SPEED_CONTROL_ERROR, cp2Error > CONCENTRATE_PUMP_ERROR_TOLERANCE, cp2Error, 0 ); Index: firmware/App/Controllers/ConductivitySensors.c =================================================================== diff -u -r10be818de220ab197fc272ca35720962052cfb07 -r9e24f089135cc3f0842aa34e79a9a0fe23d92cdf --- firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 10be818de220ab197fc272ca35720962052cfb07) +++ firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 9e24f089135cc3f0842aa34e79a9a0fe23d92cdf) @@ -199,6 +199,7 @@ BOOL const isCondTooHigh = ( conductivity > COND_SENSOR_CPI_CPO_MAX_VALUE ); BOOL const isCondTooLow = ( conductivity < COND_SENSOR_CPI_CPO_MIN_VALUE ); + // TODO add the right limit value checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_HIGH_CONDUCTIVITY, isCondTooHigh, conductivity, 0 ); checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_CONDUCTIVITY, isCondTooLow, conductivity, 0 ); } @@ -218,6 +219,7 @@ F32 const cpo = getConductivityValue( CONDUCTIVITYSENSORS_CPO_SENSOR ); BOOL const isRORejectionRatioOutOfRange = ( roRejectionRatio > MAX_RO_REJECTION_RATIO_ALLOW ) || ( cpo >= MAX_CPO_CONDUCTIVITY_ALLOW ); + // TODO add the right limit value checkPersistentAlarm( PERSISTENT_ALARM_RO_REJECTION_RATIO_OUT_OF_RANGE, isRORejectionRatioOutOfRange, roRejectionRatio, 0 ); #endif } @@ -238,6 +240,7 @@ BOOL const isPostAcidConductivityOutOfRange = ( postAcidConductivity <= CONCENTRATE_POST_ACID_MIN_CONDUCTIVITY ) || ( postAcidConductivity >= CONCENTRATE_POST_ACID_MAX_CONDUCTIVITY ); BOOL const isPostBicarbConductivityOutOfRange = ( postBicarbonateConductivity <= CONCENTRATE_POST_BICARB_MIN_CONDUCTIVITY ) || ( postBicarbonateConductivity >= CONCENTRATE_POST_BICARB_MAX_CONDUCTIVITY ); + // TODO add the right limit value checkPersistentAlarm( PERSISTENT_ALARM_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE, isPostAcidConductivityOutOfRange, postAcidConductivity, 0 ); checkPersistentAlarm( PERSISTENT_ALARM_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE, isPostBicarbConductivityOutOfRange, postBicarbonateConductivity, 0 ); } Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r10be818de220ab197fc272ca35720962052cfb07 -r9e24f089135cc3f0842aa34e79a9a0fe23d92cdf --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 10be818de220ab197fc272ca35720962052cfb07) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 9e24f089135cc3f0842aa34e79a9a0fe23d92cdf) @@ -247,6 +247,7 @@ F32 const pressure = getMeasuredDGPressure( PRESSURE_SENSOR_RO_PUMP_INLET ); BOOL const isPressureTooLow = ( pressure < MIN_INLET_WATER_PRESSURE ); + // TODO add the right limit value checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_PRESSURE, isPressureTooLow, pressure, 0 ); } @@ -263,6 +264,7 @@ F32 const pressure = getMeasuredDGPressure( PRESSURE_SENSOR_RO_PUMP_INLET ); BOOL const isPressureTooLow = ( pressure < MIN_INLET_WATER_PRESSURE ); + // TODO add the right limit value checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_PRESSURE_FAULT, isPressureTooLow, pressure, 0 ); } Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -r10be818de220ab197fc272ca35720962052cfb07 -r9e24f089135cc3f0842aa34e79a9a0fe23d92cdf --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 10be818de220ab197fc272ca35720962052cfb07) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 9e24f089135cc3f0842aa34e79a9a0fe23d92cdf) @@ -320,6 +320,7 @@ BOOL const isWaterTempTooHigh = temperature > MAX_WATER_INPUT_TEMPERATURE; BOOL const isWaterTempTooLow = temperature < MIN_WATER_INPUT_TEMPERATURE; + // TODO add the right limit value checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_HIGH_TEMPERATURE, isWaterTempTooHigh, temperature, 0 ); checkPersistentAlarm( PERSISTENT_ALARM_INLET_WATER_LOW_TEMPERATURE, isWaterTempTooLow, temperature, 0 ); }