Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r8fe65bf6222137cc7182ccacff3a5f2fb2f03753 -r6e3bbb4c27eae91fed11b118cced935a04c6b90a --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 8fe65bf6222137cc7182ccacff3a5f2fb2f03753) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 6e3bbb4c27eae91fed11b118cced935a04c6b90a) @@ -55,6 +55,7 @@ #define CONCENTRATE_PUMP_VOLUME_PER_PULSE ( CONCENTRATE_PUMP_VOLUME_PER_REV / CONCENTRATE_PUMP_PULSE_PER_REV ) #define CONCENTRATE_PUMP_DATA_PUBLISH_INTERVAL ( 500 / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the concentrate pump is monitored. + #define CONCENTRATE_PUMP_CONTROL_INTERVAL ( 1 * MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the concentrate pump is controlled. #define CONCENTRATE_PUMP_SPEED_CONTROL_PERSISTENCE_PERIOD ( 5 * MS_PER_SECOND ) ///< Persistence period for concentrate pump speed control error. Index: firmware/App/Controllers/ConductivitySensors.c =================================================================== diff -u -r8fe65bf6222137cc7182ccacff3a5f2fb2f03753 -r6e3bbb4c27eae91fed11b118cced935a04c6b90a --- firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 8fe65bf6222137cc7182ccacff3a5f2fb2f03753) +++ firmware/App/Controllers/ConductivitySensors.c (.../ConductivitySensors.c) (revision 6e3bbb4c27eae91fed11b118cced935a04c6b90a) @@ -55,6 +55,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.0 ///< Maximum CPo sensor conductivity value. @@ -152,6 +153,7 @@ initTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_CONDUCTIVITY_SENSOR_ERROR, MAX_CONDUCTIVITY_SENSOR_FAILURES, MAX_CONDUCTIVITY_SENSOR_FAILURE_WINDOW_MS ); initPersistentAlarm( ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY, COND_SENSOR_PERSISTENCE_PERIOD, COND_SENSOR_PERSISTENCE_PERIOD ); + initPersistentAlarm( ALARM_ID_INLET_WATER_CONDUCTIVITY_IN_HIGH_RANGE, COND_SENSOR_PERSISTENCE_PERIOD, COND_SENSOR_PERSISTENCE_PERIOD ); initPersistentAlarm( ALARM_ID_INLET_WATER_CONDUCTIVITY_IN_LOW_RANGE, COND_SENSOR_PERSISTENCE_PERIOD, COND_SENSOR_PERSISTENCE_PERIOD ); initPersistentAlarm( ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE, RO_REJECTION_RATIO_PERSISTENCE_PERIOD, RO_REJECTION_RATIO_PERSISTENCE_PERIOD ); @@ -239,11 +241,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 -r8fe65bf6222137cc7182ccacff3a5f2fb2f03753 -r6e3bbb4c27eae91fed11b118cced935a04c6b90a --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 8fe65bf6222137cc7182ccacff3a5f2fb2f03753) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 6e3bbb4c27eae91fed11b118cced935a04c6b90a) @@ -175,6 +175,7 @@ { if( heater < NUM_OF_DG_HEATERS ) { +#ifndef DISABLE_HEATERS_AND_TEMPS // Assume the target temperature has not changed heatersStatus[ heater ].hasTargetTempChanged = FALSE; @@ -185,6 +186,7 @@ heatersStatus[ heater ].hasTargetTempChanged = TRUE; // TODO alarm if temperature if out of range or just reject? } +#endif } else { @@ -216,13 +218,16 @@ { BOOL status = FALSE; + if( heater < NUM_OF_DG_HEATERS ) { +#ifndef DISABLE_HEATERS_AND_TEMPS if ( TRUE == heatersStatus[ heater ].hasTargetTempChanged ) { status = TRUE; heatersStatus[ heater ].startHeaterSignal = TRUE; } +#endif } else { Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r8fe65bf6222137cc7182ccacff3a5f2fb2f03753 -r6e3bbb4c27eae91fed11b118cced935a04c6b90a --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 8fe65bf6222137cc7182ccacff3a5f2fb2f03753) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 6e3bbb4c27eae91fed11b118cced935a04c6b90a) @@ -368,12 +368,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/DGCommon.h =================================================================== diff -u -r8fe65bf6222137cc7182ccacff3a5f2fb2f03753 -r6e3bbb4c27eae91fed11b118cced935a04c6b90a --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 8fe65bf6222137cc7182ccacff3a5f2fb2f03753) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision 6e3bbb4c27eae91fed11b118cced935a04c6b90a) @@ -25,7 +25,7 @@ #define DG_VERSION_MAJOR 0 #define DG_VERSION_MINOR 6 #define DG_VERSION_MICRO 0 -#define DG_VERSION_BUILD 24 +#define DG_VERSION_BUILD 152 // ********** build switches ********** @@ -39,10 +39,8 @@ #define DISABLE_COND_STATUS_CHECK 1 // Build switch // #define EMC_TEST_BUILD 1 // Build switch - #define DISABLE_RTC_CONFIG 1 // Not needed TODO investigate and remove - #include #include #endif Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -r8fe65bf6222137cc7182ccacff3a5f2fb2f03753 -r6e3bbb4c27eae91fed11b118cced935a04c6b90a --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 8fe65bf6222137cc7182ccacff3a5f2fb2f03753) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 6e3bbb4c27eae91fed11b118cced935a04c6b90a) @@ -315,15 +315,15 @@ { DG_POST_STATE_T result = postState; - if ( ( SELF_TEST_STATUS_PASSED == testStatus ) || ( SELF_TEST_STATUS_FAILED == testStatus ) ) + if ( ( testStatus == SELF_TEST_STATUS_PASSED ) || ( testStatus == SELF_TEST_STATUS_FAILED ) ) { - BOOL passed = ( SELF_TEST_STATUS_PASSED == testStatus ? TRUE : FALSE ); + BOOL passed = ( testStatus == SELF_TEST_STATUS_PASSED ? TRUE : FALSE ); // Broadcast passed POST result sendPOSTTestResult( (DG_POST_STATE_T)((int)postState), passed ); // Move on to next POST test result = (DG_POST_STATE_T)((int)postState + 1); - if ( SELF_TEST_STATUS_FAILED == testStatus ) + if ( testStatus == SELF_TEST_STATUS_FAILED ) { tempPOSTPassed = FALSE; }