Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r0e481a88f8c97fcc1ab18914d3e3b40631372d8a -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 0e481a88f8c97fcc1ab18914d3e3b40631372d8a) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -229,7 +229,7 @@ case VALVE_STATE_CLOSED: if ( ( D53_VALV == valveID ) || ( D52_VALV == valveID ) || ( D8_VALV == valveID ) || ( D54_VALV == valveID ) || ( D14_VALV == valveID ) || ( D65_VALV == valveID ) || ( D64_VALV == valveID ) || ( D31_VALV == valveID ) || ( D34_VALV == valveID ) || ( D35_VALV == valveID ) || - ( D40_VALV == valveID ) || ( D47_VALV == valveID ) || ( D3_VALV == valveID ) || ( M4_VALV == valveID ) || ( D23_VALV == valveID ) || + ( D40_VALV == valveID ) || ( D47_VALV == valveID ) || ( D3_VALV == valveID ) || ( DD_M4_VALV == valveID ) || ( D23_VALV == valveID ) || #ifdef __PUMPTEST__ ( UF1 == valveID ) || ( UF2 == valveID ) || #endif Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -ra85a030e1a424b6546c57e5e80f21500103e13ea -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision a85a030e1a424b6546c57e5e80f21500103e13ea) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -188,7 +188,7 @@ setValveStateDelayed( D40_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); setValveStateDelayed( D47_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); setValveStateDelayed( D3_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); - setValveStateDelayed( M4_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( DD_M4_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); // De-energize Balancing chamber and Ultrafiltration valves for ( i = FIRST_BC_VALVE; i <= LAST_BC_VALVE; i++ ) @@ -245,7 +245,7 @@ setValveStateDelayed( D40_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); setValveStateDelayed( D47_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); setValveStateDelayed( D3_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); - setValveStateDelayed( M4_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( DD_M4_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); // De-energize portion of balancing chamber valves. setValveStateDelayed( D19_VALV, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -r9e6e86f604c8cce7c1704ae55d1e026de3422782 -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 9e6e86f604c8cce7c1704ae55d1e026de3422782) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -189,7 +189,7 @@ case DD_GEND_DIALYSATE_BYPASS_STATE: //Previous state - setValveState( M4_VALV, VALVE_STATE_OPEN ); + setValveState( DD_M4_VALV, VALVE_STATE_OPEN ); // Get the target temperature from TD targetHydChamberFluidTemp.data = getTDTargetDialysateTemperature(); // Turn on the primary heater @@ -215,7 +215,7 @@ case DD_GEND_DIALYSATE_DELIVERY_STATE: //Previous state - setValveState( M4_VALV, VALVE_STATE_OPEN ); + setValveState( DD_M4_VALV, VALVE_STATE_OPEN ); // Get the target temperature from TD targetHydChamberFluidTemp.data = getTDTargetDialysateTemperature(); setHeaterTargetTemperature( D5_HEAT, getGenDialysateTargetTemperature() ); @@ -292,14 +292,6 @@ pendingStopDDGenDialRequest = FALSE; requestNewOperationMode( DD_MODE_STAN ); } - // Continuous water inlet pressure check - else if ( ( genDialysateState != DD_GEND_DIALYSATE_DELIVERY_PAUSE ) && - ( TRUE == areInletWaterConditionsAlarmsActive() ) ) - { - //Check RO alarms as required - setModeGenDStateTransition( DD_GEND_DIALYSATE_DELIVERY_PAUSE ); - genDialysateState = DD_GEND_DIALYSATE_DELIVERY_PAUSE; - } else { // execute current gen dialysate state @@ -354,7 +346,7 @@ LEVEL_STATE_T floaterLevel = getLevelStatus( D6_LEVL ); //Make sure Water Inlet Valve is open - setValveState( M4_VALV, VALVE_STATE_OPEN ); + setValveState( DD_M4_VALV, VALVE_STATE_OPEN ); // High level is met if ( LEVEL_STATE_HIGH == floaterLevel ) Index: firmware/App/Modes/ModePreGenDialysate.c =================================================================== diff -u -rf6fb03f1e20395a61a5d5996f11f802ab8eacb2f -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision f6fb03f1e20395a61a5d5996f11f802ab8eacb2f) +++ firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -269,7 +269,7 @@ case DD_WET_SELF_TEST_NEGATIVE_DEAERATION_PRES_CHECK: //Make sure Water Inlet Valve is open - setValveState( M4_VALV, VALVE_STATE_OPEN ); + setValveState( DD_M4_VALV, VALVE_STATE_OPEN ); // Start timer for hyd chamber negative pressure check state hydChamberPressureCheckStartTimeMS = getMSTimerCount(); Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rf6fb03f1e20395a61a5d5996f11f802ab8eacb2f -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision f6fb03f1e20395a61a5d5996f11f802ab8eacb2f) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -116,11 +116,6 @@ *************************************************************************/ U32 execStandbyMode( void ) { - if ( TRUE == areInletWaterConditionsAlarmsActive() ) - { - standbyState = DD_STANDBY_MODE_STATE_PAUSE; - } - // execute current Standby state switch ( standbyState ) { @@ -143,31 +138,6 @@ /*********************************************************************//** * @brief - * The areInletWaterConditionsAlarmsActive function checks whether the inlet - * water pressure conditions are out of range and any of their alarms are active. - * @details \b Inputs: Input and Output pressure of water inlet pressur regulator. - * @details \b Outputs: None - * @return TRUE if any of the alarms are active, otherwise, FALSE - *************************************************************************/ -BOOL areInletWaterConditionsAlarmsActive( void ) -{ - BOOL status = FALSE; - - //TODO: testing - Comment water pressure check - // Check Inlet Water Pressure - both Water inlet pressure Input, pressure Output after pressure regulator. - // checkInletWaterPressure(); - - // Check any active alarms - status |= isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE ); - status |= isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE ); - status |= isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE ); - status |= isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE ); - - return status; -} - -/*********************************************************************//** - * @brief * The handleStandbyIdleState function executes the idle state of the * standby mode state machine. * @details \b Inputs: pendingSampleWaterRequest, pendingStartDDPreGenRequest, @@ -235,11 +205,6 @@ { DD_STANDBY_MODE_STATE_T state = DD_STANDBY_MODE_STATE_PAUSE; - if ( FALSE == areInletWaterConditionsAlarmsActive() ) - { - state = DD_STANDBY_MODE_STATE_IDLE; - } - return state; } Index: firmware/App/Modes/ModeStandby.h =================================================================== diff -u -rf6fb03f1e20395a61a5d5996f11f802ab8eacb2f -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Modes/ModeStandby.h (.../ModeStandby.h) (revision f6fb03f1e20395a61a5d5996f11f802ab8eacb2f) +++ firmware/App/Modes/ModeStandby.h (.../ModeStandby.h) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -43,7 +43,6 @@ void initStandbyMode( void ); // initialize this unit U32 transitionToStandbyMode( void ); // prepares for transition to standby mode U32 execStandbyMode( void ); // execute the standby mode state machine (call from OperationModes) -BOOL areInletWaterConditionsAlarmsActive( void ); // checks water inlet pressure, temperature and conductivity alarms. BOOL requestDDPreGenStart( void ); // TD requests DD start (go to generation dialysate mode) BOOL requestBCSwitchingOnlyStart( void ); // request to start performing balancing chamber switching only without dosing/pressure validation Index: firmware/App/Monitors/Pressure.c =================================================================== diff -u -r5126b79e4970ffe2ed9db4cccea18a1216c78570 -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision 5126b79e4970ffe2ed9db4cccea18a1216c78570) +++ firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -138,11 +138,6 @@ filteredPressureTempReadings[i].pressureTempReadingsIdx = 0; filteredPressureTempReadings[i].pressureTempReadingsTotal = 0.0F; } - - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); } /*********************************************************************//** @@ -226,84 +221,6 @@ /*********************************************************************//** * @brief - * The checkInletWaterPressure function checks inlet water pressure value - * and triggers an alarm when pressure value is out of allowed range. - * @details \b Inputs: RO pump inlet pressure sensor value - * @details \b Outputs: Triggers low pressure persistent alarm - * @details \b Alarms: ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE when - * the inlet water pressure is less than the low limit. - * @details \b Alarms: ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE when - * the inlet water pressure is greater than the high limit. - * @return none - *************************************************************************/ -void checkInletWaterPressure( void ) -{ - F32 pressureIn = getFilteredPressure( M1_PRES ); - F32 PressureOut = getFilteredPressure( M3_PRES ); - - //Check Water Inlet Input pressure range - if ( VALVE_STATE_OPEN == getValveStateName( M4_VALV ) ) - { - BOOL isPressureTooLow; - BOOL isPressureTooHigh; - F32 maxInletWaterPressureWarningLow = MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG; - F32 minInletWaterPressureWarningLow = MIN_INLET_PRESSURE_TO_CLEAR_WARINING_PSIG; - - isPressureTooLow = ( pressureIn < maxInletWaterPressureWarningLow ? TRUE : FALSE ); - isPressureTooHigh = ( pressureIn > MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ? TRUE : FALSE ); - - if ( TRUE == isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE ) ) - { - isPressureTooLow = ( pressureIn >= minInletWaterPressureWarningLow ? FALSE : TRUE ); - } - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE, isPressureTooLow, pressureIn, maxInletWaterPressureWarningLow ); - - if ( TRUE == isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE ) ) - { - isPressureTooHigh = ( pressureIn <= MIN_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ? FALSE : TRUE ); - } - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE, isPressureTooHigh, pressureIn, MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ); - } - else - { - // M4_VALV is closed - clear all alarms - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE, FALSE, pressureIn, MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE, FALSE, pressureIn, MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ); - } - - //Check Water Inlet Output pressure range - if ( VALVE_STATE_OPEN == getValveStateName( M4_VALV ) ) - { - BOOL isPressureTooLow; - BOOL isPressureTooHigh; - F32 maxInletWaterPressureWarningLow = MIN_INLET_WATER_PRES_OUT_WARNING_LOW_PSIG; - F32 minInletWaterPressureWarningLow = MIN_INLET_PRES_OUT_TO_CLEAR_WARINING_PSIG; - - isPressureTooLow = ( PressureOut < maxInletWaterPressureWarningLow ? TRUE : FALSE ); - isPressureTooHigh = ( PressureOut > MAX_INLET_WATER_PRES_OUT_WARNING_HIGH_PSIG ? TRUE : FALSE ); - - if ( TRUE == isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE ) ) - { - isPressureTooLow = ( PressureOut >= minInletWaterPressureWarningLow ? FALSE : TRUE ); - } - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE, isPressureTooLow, PressureOut, maxInletWaterPressureWarningLow ); - - if ( TRUE == isAlarmActive( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE ) ) - { - isPressureTooHigh = ( PressureOut <= MIN_INLET_WATER_PRES_OUT_WARNING_HIGH_PSIG ? FALSE : TRUE ); - } - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE, isPressureTooHigh, PressureOut, MAX_INLET_WATER_PRES_OUT_WARNING_HIGH_PSIG ); - } - else - { - // M4_VALV is closed - clear all alarms - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE, FALSE, PressureOut, MIN_INLET_WATER_PRES_OUT_WARNING_LOW_PSIG ); - checkPersistentAlarm( ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE, FALSE, PressureOut, MAX_INLET_WATER_PRES_OUT_WARNING_HIGH_PSIG ); - } -} - -/*********************************************************************//** - * @brief * The execPressureSensor function executes the pressure monitor state machine * and publish pressure data. * @details \b Inputs: pressuresState Index: firmware/App/Monitors/Pressure.h =================================================================== diff -u -r313982ccc772f1bbe182877dff7e00381b04e0f4 -r67731d57db9a620418b3b848d8f75ff204902c36 --- firmware/App/Monitors/Pressure.h (.../Pressure.h) (revision 313982ccc772f1bbe182877dff7e00381b04e0f4) +++ firmware/App/Monitors/Pressure.h (.../Pressure.h) (revision 67731d57db9a620418b3b848d8f75ff204902c36) @@ -55,7 +55,6 @@ void initPressure( void ); void execPressureSensor( void ); -void checkInletWaterPressure( void ); F32 getFilteredPressure( PRESSURE_SENSORS_T sensor ); F32 getFilteredPressureSensorTemperature( PRESSURE_SENSORS_T sensor );