Index: firmware/App/Controllers/ConductivitySensors.c =================================================================== diff -u -r261cfc6d93996e76e26c1e9c3f5740077ad2ec22 -re304bc0cb86a7748e50682522fe8b2b5629a9f9c --- firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 261cfc6d93996e76e26c1e9c3f5740077ad2ec22) +++ firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision e304bc0cb86a7748e50682522fe8b2b5629a9f9c) @@ -56,6 +56,7 @@ #define MAX_CONDUCTIVITY_SENSOR_FAILURE_WINDOW_MS ( 60 * MS_PER_SECOND ) ///< Conductivity sensor error window. #define RO_REJECTION_RATIO_OUT_OF_RANGE_VALUE 1.0F ///< Out of range value for RO rejection ratio when CPi conductivity is zero. + #define MAX_RO_REJECTION_RATIO_ALLOW 0.10F ///< Maximum RO rejection ratio. #define MAX_CPO_CONDUCTIVITY_ALLOW 30.0F ///< Maximum CPo sensor conductivity value. @@ -273,11 +274,9 @@ /*********************************************************************//** * @brief * The checkInletWaterConductivity function checks inlet water conductivity value - * and triggers an alarm when conductivity value is not within the specified - * values. + * and triggers an alarm when conductivity value is out of allowed range. * @details Inputs: CPi sensor conductivity - * @details Outputs: Trigger warning alarm if conductivity is in the warning - * range. Trigger alarm if conductivity is below minimum conductivity. + * @details Outputs: Trigger alarms when conductivity is out of allowed range * @return none *************************************************************************/ void checkInletWaterConductivity( void ) Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -rcd3f58205f4dab89291b29ee73b7fa9c31773abc -re304bc0cb86a7748e50682522fe8b2b5629a9f9c --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision cd3f58205f4dab89291b29ee73b7fa9c31773abc) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision e304bc0cb86a7748e50682522fe8b2b5629a9f9c) @@ -185,6 +185,7 @@ if( heater < NUM_OF_DG_HEATERS ) { +#ifndef DISABLE_HEATERS_AND_TEMPS // Assume the target temperature has not changed heatersStatus[ heater ].hasTargetTempChanged = FALSE; @@ -195,6 +196,7 @@ heatersStatus[ heater ].hasTargetTempChanged = TRUE; result = TRUE; } +#endif } else { @@ -228,6 +230,7 @@ { BOOL status = FALSE; + if( heater < NUM_OF_DG_HEATERS ) { if ( HEATER_EXEC_STATE_OFF == heatersStatus[ heater ].state ) Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r33d262afee2fd0dd9d714ed86a21b8907ed84e25 -re304bc0cb86a7748e50682522fe8b2b5629a9f9c --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 33d262afee2fd0dd9d714ed86a21b8907ed84e25) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision e304bc0cb86a7748e50682522fe8b2b5629a9f9c) @@ -233,7 +233,7 @@ // For now maximum allowed pressure is inserted into the target pressure override // if the target flow rate exceeded the max pressure, it will set the maximum pressure targetROPumpMaxPressure = maxPressure; - targetROPumpFlowRateLPM = roFlowRate; + targetROPumpFlowRateLPM = roFlowRate; roPumpControlMode = PUMP_CONTROL_MODE_CLOSED_LOOP; roPumpState = RO_PUMP_RAMP_UP_TO_TARGET_FLOW_STATE; // Get the initial guess of the duty cycle @@ -376,12 +376,11 @@ measuredROFlowRateLPM.data = flow - ( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP1_ACID ) / ML_PER_LITER ) - ( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP2_BICARB ) / ML_PER_LITER ); - // If the flow is less than a certain value, FPGA will return 0xFFFF meaning that - // the flow is 0. - if ( FLOW_SENSOR_ZERO_READING == roFlowReading ) - { - measuredROFlowRateLPM.data = 0.0; - } + // If the flow is less than a certain value, FPGA will return 0xFFFF meaning that the flow is 0. + if ( FLOW_SENSOR_ZERO_READING == roFlowReading ) + { + measuredROFlowRateLPM.data = 0.0; + } measuredFlowReadingsSum = 0; flowFilterCounter = 0; Index: firmware/App/Controllers/ROPump.h =================================================================== diff -u -r261cfc6d93996e76e26c1e9c3f5740077ad2ec22 -re304bc0cb86a7748e50682522fe8b2b5629a9f9c --- firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision 261cfc6d93996e76e26c1e9c3f5740077ad2ec22) +++ firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision e304bc0cb86a7748e50682522fe8b2b5629a9f9c) @@ -22,7 +22,7 @@ /** * @defgroup ROPump ROPump - * @brief RO Pump monitor and controller module. Controls and monitors the RO pump. + * @brief RO Pump monitor and controller module. Controls and monitors the RO pump and the flow meter. * The flow meter is manufactured by SwissFlow, PN: 82015311. * The diaphragm (RO) pump is manufactured by Aquatec, PN: 5889-2MM1-V724DY. * Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -r33d262afee2fd0dd9d714ed86a21b8907ed84e25 -re304bc0cb86a7748e50682522fe8b2b5629a9f9c --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 33d262afee2fd0dd9d714ed86a21b8907ed84e25) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision e304bc0cb86a7748e50682522fe8b2b5629a9f9c) @@ -322,9 +322,6 @@ // Persistent alarm for the temperature sensors range check initPersistentAlarm( ALARM_ID_DG_TEMPERATURE_SENSOR_OUT_OF_RANGE, TEMP_SENSORS_OUT_OF_RANGE_TIME_OUT_MS, TEMP_SENSORS_OUT_OF_RANGE_TIME_OUT_MS ); - // Persistent alarm for the temperature sensors range check - initPersistentAlarm( ALARM_ID_DG_TEMPERATURE_SENSORS_ADC_FAULT, TEMP_SENSORS_OUT_OF_RANGE_TIME_OUT_MS, TEMP_SENSORS_OUT_OF_RANGE_TIME_OUT_MS ); - // Persistent alarm for the temperature sensors error bit fault check initPersistentAlarm( ALARM_ID_DG_TEMPERATURE_SENSOR_ERROR_BIT_FAULT, TEMP_SENSORS_ERROR_BIT_TIMEOUT_MS, TEMP_SENSORS_ERROR_BIT_TIMEOUT_MS ); Index: firmware/App/DGCommon.h =================================================================== diff -u -r33d262afee2fd0dd9d714ed86a21b8907ed84e25 -re304bc0cb86a7748e50682522fe8b2b5629a9f9c --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 33d262afee2fd0dd9d714ed86a21b8907ed84e25) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision e304bc0cb86a7748e50682522fe8b2b5629a9f9c) @@ -25,7 +25,7 @@ #define DG_VERSION_MAJOR 0 #define DG_VERSION_MINOR 6 #define DG_VERSION_MICRO 0 -#define DG_VERSION_BUILD 30 +#define DG_VERSION_BUILD 220 // ********** build switches ********** Index: firmware/App/Services/AlarmMgmtSWFaults.h =================================================================== diff -u -r33d262afee2fd0dd9d714ed86a21b8907ed84e25 -re304bc0cb86a7748e50682522fe8b2b5629a9f9c --- firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision 33d262afee2fd0dd9d714ed86a21b8907ed84e25) +++ firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision e304bc0cb86a7748e50682522fe8b2b5629a9f9c) @@ -85,6 +85,7 @@ SW_FAULT_ID_PERSISTENT_ALARM_INVALID_INDEX, SW_FAULT_ID_CONCENTRATE_PUMP_EXEC_INVALID_STATE, // 55 SW_FAULT_ID_CONCENTRATE_PUMP_INVALID_PUMP_ID, + SW_FAULT_ID_SERVICE_MODE_INVALID_EXEC_STATE, SW_FAULT_ID_SEMAPHORE_IN_USE_TIMEOUT, SW_FAULT_ID_UV_REACTORS_INVALID_EXEC_STATE, SW_FAULT_ID_UV_REACTORS_INVALID_SELF_TEST_STATE,