Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -rfd21f03d28eec499fb5c01bf595c57893db94406 -r708e22d3862fe0efb7e864697d10b5c5d023780e --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision fd21f03d28eec499fb5c01bf595c57893db94406) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 708e22d3862fe0efb7e864697d10b5c5d023780e) @@ -254,10 +254,10 @@ ( readValveFPStates != commandedFPValveStates )) { valveStateMismatchTimerCounter++; // increment valve state mismatch counter by 1 - if ( valveStateMismatchTimerCounter > MAX_VALVE_STATE_MISMATCH_TIMER_COUNT ) - { - activateAlarmNoData( ALARM_ID_DD_VALVE_CONTROL_FAILURE ); - } +// if ( valveStateMismatchTimerCounter > MAX_VALVE_STATE_MISMATCH_TIMER_COUNT ) +// { +// activateAlarmNoData( ALARM_ID_DD_VALVE_CONTROL_FAILURE ); +// } } else { Index: firmware/App/Modes/FPModes/ModeGenPermeate.c =================================================================== diff -u -r7f41fd21bfcfa660c343116fbb8efbbf98d31a9d -r708e22d3862fe0efb7e864697d10b5c5d023780e --- firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 7f41fd21bfcfa660c343116fbb8efbbf98d31a9d) +++ firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 708e22d3862fe0efb7e864697d10b5c5d023780e) @@ -176,11 +176,11 @@ SEND_EVENT_WITH_2_U32_DATA( FP_EVENT_GENP_CHANGE, prevState, genPermeateState ) } - checkInletPressures(); + //checkInletPressures(); - checkPermeateHighFlow(); + //checkPermeateHighFlow(); - checkPermeateLowFlow(); + //checkPermeateLowFlow(); checkInletTemperatures(); @@ -339,12 +339,12 @@ FP_GENP_MODE_STATE_T state = FP_GENP_TANK_FILL_STATE; PERMEATE_TANK_STATE_T permemeateTankState = getPermeateTankState(); - checkROInletPressure(); + //checkROInletPressure(); - if ( TRUE == didTimeout( tankFillAlarmTimer, getTankFillAlarmTimeout() ) ) - { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_FP_GEN_PERMEATE_TANK_FILL_TIMEOUT, permemeateTankState ) - } +// if ( TRUE == didTimeout( tankFillAlarmTimer, getTankFillAlarmTimeout() ) ) +// { +// SET_ALARM_WITH_1_U32_DATA( ALARM_ID_FP_GEN_PERMEATE_TANK_FILL_TIMEOUT, permemeateTankState ) +// } // Wait for set timeout before transition to closed loop control if ( TRUE == didTimeout( timeInState, PUMP_REST_TIMEOUT_MS ) && stateTransitioned == TRUE ) { @@ -354,7 +354,7 @@ // Wait for RO rejection to stabilize after transition from full to fill + RO Rejection moving average duration if ( TRUE == didTimeout( timeInState, RO_REJECTION_WAIT_TIME_MS ) ) { - checkRORejectionRatio(); + //checkRORejectionRatio(); } if ( permemeateTankState == PERMEATE_TANK_FULL_STATE ) { @@ -378,7 +378,6 @@ if ( TRUE == didTimeout( tankFullAlarmTimer, getTankFullAlarmTimeout() ) ) { - //TODO : Commented for July demo //SET_ALARM_WITH_1_U32_DATA( ALARM_ID_FP_GEN_PERMEATE_TANK_FULL_TIMEOUT, permemeateTankState ) } Index: firmware/App/Modes/FPModes/ModePreGenPermeate.c =================================================================== diff -u -r5514c6bf48facd532e58b0790d9f02aaa6776b28 -r708e22d3862fe0efb7e864697d10b5c5d023780e --- firmware/App/Modes/FPModes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 5514c6bf48facd532e58b0790d9f02aaa6776b28) +++ firmware/App/Modes/FPModes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 708e22d3862fe0efb7e864697d10b5c5d023780e) @@ -345,35 +345,35 @@ FP_PRE_GENP_MODE_STATE_T state = FP_PRE_GENP_VERIFY_WATER; F32 roCurrentDutyCycle = getCurrentROPumpDutyCyclePCT(); - checkROInletPressure(); + //checkROInletPressure(); //Stay in this state for 25 seconds to stablize flow control if ( TRUE == didTimeout( verifyWaterTimer, FLOW_CONTROL_STABLIZED_TIMEOUT_MS ) ) { // check next 5 seconds for water quality // check permeate high flow rate is within range - checkPermeateHighFlow(); + //checkPermeateHighFlow(); // check low flow rate is within range - checkPermeateLowFlow(); + //checkPermeateLowFlow(); // check inlet conductivity is within range - checkInletConductivity(); + //checkInletConductivity(); // check permeate conductivity is within range - checkOutletConductivity(); + //checkOutletConductivity(); // check RO duty cycle in range checkRODutyCycle(); // check p21 is set to 15 PSI - checkPressureRelief(); + //checkPressureRelief(); // check RO rejection ratio - checkRORejectionRatio(); + //checkRORejectionRatio(); // check RO pressure (p13) - checkROPressures(); + //checkROPressures(); } // if ( TRUE == 1 ))// TODO Alarm and Stop State Rework Index: firmware/App/Modes/FPModes/StateFlushConcentrate.c =================================================================== diff -u -r2d295ca85f19e95da42476a57ca6b4496baf980a -r708e22d3862fe0efb7e864697d10b5c5d023780e --- firmware/App/Modes/FPModes/StateFlushConcentrate.c (.../StateFlushConcentrate.c) (revision 2d295ca85f19e95da42476a57ca6b4496baf980a) +++ firmware/App/Modes/FPModes/StateFlushConcentrate.c (.../StateFlushConcentrate.c) (revision 708e22d3862fe0efb7e864697d10b5c5d023780e) @@ -177,7 +177,7 @@ isTankFilled = FALSE; } - checkROInletPressure(); + //checkROInletPressure(); } return state; Index: firmware/App/Modes/FPModes/StateFlushPermeate.c =================================================================== diff -u -r2d295ca85f19e95da42476a57ca6b4496baf980a -r708e22d3862fe0efb7e864697d10b5c5d023780e --- firmware/App/Modes/FPModes/StateFlushPermeate.c (.../StateFlushPermeate.c) (revision 2d295ca85f19e95da42476a57ca6b4496baf980a) +++ firmware/App/Modes/FPModes/StateFlushPermeate.c (.../StateFlushPermeate.c) (revision 708e22d3862fe0efb7e864697d10b5c5d023780e) @@ -171,14 +171,14 @@ isTankFilled = FALSE; } - checkROInletPressure(); + //checkROInletPressure(); } // check low flow rate is within range - checkPermeateLowFlow(); + //checkPermeateLowFlow(); // check permeate high flow rate is within range - checkPermeateHighFlow(); + //checkPermeateHighFlow(); if ( TRUE == didTimeout( permeateFlushTimer, getPermeateFlushTimeout() ) ) { @@ -189,7 +189,7 @@ checkInletPressures(); // inlet water conductivity p9 < 2000 - checkInletConductivity(); + //checkInletConductivity(); // inlet water temperature p10 range 5 - 30 checkInletTemperatures(); Index: firmware/App/Modes/ModeGenDialysate.h =================================================================== diff -u -r847659965e5823e2e25db62c14f4611db9527f8a -r708e22d3862fe0efb7e864697d10b5c5d023780e --- firmware/App/Modes/ModeGenDialysate.h (.../ModeGenDialysate.h) (revision 847659965e5823e2e25db62c14f4611db9527f8a) +++ firmware/App/Modes/ModeGenDialysate.h (.../ModeGenDialysate.h) (revision 708e22d3862fe0efb7e864697d10b5c5d023780e) @@ -32,7 +32,7 @@ // ********** public definitions ********** #define FRESH_DIAL_PUMP_INITIAL_RPM 2500 ///< Nominal RPM target for fresh dialysate pump to maintain required pressure. -#define FRESH_DIAL_PUMP_INITIAL_RPM_B1_9_B2_0 1250 ///< Nominal RPM target for fresh dialysate pump for beta 1.9 and 2.0 hardware. +#define FRESH_DIAL_PUMP_INITIAL_RPM_B1_9_B2_0 1600 ///< Nominal RPM target for fresh dialysate pump for beta 1.9 and 2.0 hardware. #define SPENT_DIAL_PUMP_INITIAL_RPM 2300 ///< Nominal RPM target for spent dialysate pump to maintain required pressure. #define DIAL_PUMP_DRAIN_RPM 1000 ///< Nominal RPM target for dialysate pump to drain the dry bicart. #define SPENT_DIAL_PUMP_FILL_RPM 200 ///< Nominal RPM target for spent chamber fill operations. Index: firmware/App/Monitors/WaterQualityMonitor.c =================================================================== diff -u -r7f41fd21bfcfa660c343116fbb8efbbf98d31a9d -r708e22d3862fe0efb7e864697d10b5c5d023780e --- firmware/App/Monitors/WaterQualityMonitor.c (.../WaterQualityMonitor.c) (revision 7f41fd21bfcfa660c343116fbb8efbbf98d31a9d) +++ firmware/App/Monitors/WaterQualityMonitor.c (.../WaterQualityMonitor.c) (revision 708e22d3862fe0efb7e864697d10b5c5d023780e) @@ -92,26 +92,26 @@ void initWaterQualityMonitor( void ) { // Pressure alarms - initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); + //initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_CRITICAL_OUT_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_LOW_RANGE, INLET_PRES_OUT_OF_RANGE_TIMEOUT_MS, INLET_PRES_OUT_OF_RANGE_CLEAR_MS ); + //initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_LOW_RANGE, INLET_PRES_OUT_OF_RANGE_TIMEOUT_MS, INLET_PRES_OUT_OF_RANGE_CLEAR_MS ); - initPersistentAlarm( ALARM_ID_FP_PRESSURE_RELIEF_OUT_LOW_RANGE, INLET_WATER_PRES_RELIEF_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_RELIEF_OUT_OF_RANGE_TIMEOUT_MS ); + //initPersistentAlarm( ALARM_ID_FP_PRESSURE_RELIEF_OUT_LOW_RANGE, INLET_WATER_PRES_RELIEF_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_RELIEF_OUT_OF_RANGE_TIMEOUT_MS ); initPersistentAlarm( ALARM_ID_FP_PRESSURE_RELIEF_OUT_HIGH_RANGE, INLET_WATER_PRES_RELIEF_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_RELIEF_OUT_OF_RANGE_TIMEOUT_MS ); // Temperature Alarms initPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_LOW_RANGE, INLET_TEMPERATURE_PERSISTENCE_CLEAR_MS, INLET_TEMPERATURE_PERSISTENCE_TIMER_MS ); initPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_HIGH_RANGE, INLET_TEMPERATURE_PERSISTENCE_CLEAR_MS, INLET_TEMPERATURE_PERSISTENCE_TIMER_MS ); // Conductivity Alarms - initPersistentAlarm( ALARM_ID_FP_INLET_CONDUCTIVITY_OUT_HIGH_RANGE, INLET_WATER_COND_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_COND_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_FP_RO_OUTLET_CONDUCTIVITY_HIGH_RANGE, INLET_WATER_COND_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_COND_OUT_OF_RANGE_TIMEOUT_MS ); + //initPersistentAlarm( ALARM_ID_FP_INLET_CONDUCTIVITY_OUT_HIGH_RANGE, INLET_WATER_COND_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_COND_OUT_OF_RANGE_TIMEOUT_MS ); + //initPersistentAlarm( ALARM_ID_FP_RO_OUTLET_CONDUCTIVITY_HIGH_RANGE, INLET_WATER_COND_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_COND_OUT_OF_RANGE_TIMEOUT_MS ); //Flow Alarms. Clearing timeout is not applicable for Fault alarms - initPersistentAlarm( ALARM_ID_FP_PERMEATE_FLOW_OUT_HIGH_RANGE, 0, PERMEATE_FLOW_OUT_RANGE_PERSISTENCE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE, 0, PERMEATE_FLOW_OUT_RANGE_PERSISTENCE_TIMEOUT_MS ); + //initPersistentAlarm( ALARM_ID_FP_PERMEATE_FLOW_OUT_HIGH_RANGE, 0, PERMEATE_FLOW_OUT_RANGE_PERSISTENCE_TIMEOUT_MS ); + //initPersistentAlarm( ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE, 0, PERMEATE_FLOW_OUT_RANGE_PERSISTENCE_TIMEOUT_MS ); // duty cycle warning alarm initPersistentAlarm( ALARM_ID_FP_POWER_BUDGET_OUT_OF_RANGE, RO_PUMP_DUTY_CYCLE_WARNING_CLEAR_MS, RO_PUMP_DUTY_CYCLE_WARNING_TIMEOUT_MS ); @@ -153,7 +153,7 @@ isPresOutOfLowRange = ( ( pressureM3 < MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ) ? TRUE : FALSE ); isPresOutOfHighRange = ( ( ( pressureM3 > MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ) && ( pressureM3 < MAX_INLET_WATER_PRESSURE_FAULT_HIGH_PSIG ) ) ? TRUE : FALSE ); isPresOutOfHighRangeFault = ( ( pressureM3 > MAX_INLET_WATER_PRESSURE_FAULT_HIGH_PSIG ) ? TRUE : FALSE ); - checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_LOW_RANGE, isPresOutOfLowRange, pressureM3, MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); + //checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_LOW_RANGE, isPresOutOfLowRange, pressureM3, MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_HIGH_RANGE, isPresOutOfHighRange, pressureM3, MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ); checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_CRITICAL_OUT_RANGE, isPresOutOfHighRangeFault, pressureM3, MAX_INLET_WATER_PRESSURE_FAULT_HIGH_PSIG ); } @@ -176,7 +176,7 @@ F32 maxAllowedPermeateFlow = (F32)getTargetROPumpFlowRateMLPM() * MAX_PERMEATE_FLOW_FAULT_THRESHOLD; isFlowOutOfRange = ( ( permeateFlow > maxAllowedPermeateFlow ) ? TRUE : FALSE ); - checkPersistentAlarm( ALARM_ID_FP_PERMEATE_FLOW_OUT_HIGH_RANGE, isFlowOutOfRange, permeateFlow, maxAllowedPermeateFlow ); + //checkPersistentAlarm( ALARM_ID_FP_PERMEATE_FLOW_OUT_HIGH_RANGE, isFlowOutOfRange, permeateFlow, maxAllowedPermeateFlow ); } /*********************************************************************//** @@ -196,13 +196,13 @@ F32 minimumAllowedPermeateFlow = (F32)getTargetROPumpFlowRateMLPM() - PERMEATE_FLOW_FAULT_MIN_THRESHOLD; isFlowOutOfRange = ( ( permeateFlow < minimumAllowedPermeateFlow ) ? TRUE : FALSE ); - if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE, isFlowOutOfRange ) ) - { - if ( isROPumpLowflowAlarmExempt() != TRUE ) - { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE, permeateFlow, minimumAllowedPermeateFlow ); - } - } +// if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE, isFlowOutOfRange ) ) +// { +// if ( isROPumpLowflowAlarmExempt() != TRUE ) +// { +// SET_ALARM_WITH_2_F32_DATA( ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE, permeateFlow, minimumAllowedPermeateFlow ); +// } +// } } /*********************************************************************//** @@ -240,7 +240,7 @@ if ( pressureP13 > MAX_INLET_RO_PUMP_PRESSURE_WARNING_HIGH_PSIG ) { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_RO_INLET_PRESSURE_OUT_HIGH_RANGE, pressureP13, MAX_INLET_RO_PUMP_PRESSURE_WARNING_HIGH_PSIG ) + //SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_RO_INLET_PRESSURE_OUT_HIGH_RANGE, pressureP13, MAX_INLET_RO_PUMP_PRESSURE_WARNING_HIGH_PSIG ) } } @@ -311,8 +311,8 @@ isPresReliefOutOfLowRange = ( ( pressureP17 < MIN_PRESSURE_RELIEF_WARNING_LOW_PSIG ) ? TRUE : FALSE ); isPresReliefOutOfHighRange = ( ( pressureP17 > MAX_PRESSURE_RELIEF_WARNING_HIGH_PSIG ) ? TRUE : FALSE ); - checkPersistentAlarm( ALARM_ID_FP_PRESSURE_RELIEF_OUT_LOW_RANGE, isPresReliefOutOfLowRange, pressureP17, MIN_PRESSURE_RELIEF_WARNING_LOW_PSIG ); - checkPersistentAlarm( ALARM_ID_FP_PRESSURE_RELIEF_OUT_HIGH_RANGE, isPresReliefOutOfHighRange, pressureP17, MAX_PRESSURE_RELIEF_WARNING_HIGH_PSIG ); + //checkPersistentAlarm( ALARM_ID_FP_PRESSURE_RELIEF_OUT_LOW_RANGE, isPresReliefOutOfLowRange, pressureP17, MIN_PRESSURE_RELIEF_WARNING_LOW_PSIG ); + //checkPersistentAlarm( ALARM_ID_FP_PRESSURE_RELIEF_OUT_HIGH_RANGE, isPresReliefOutOfHighRange, pressureP17, MAX_PRESSURE_RELIEF_WARNING_HIGH_PSIG ); } /*********************************************************************//** @@ -372,7 +372,7 @@ isConductivtyOutOfLowRange = ( ( conductivityP9 > INLET_CONDUCTIVITY_HIGH_THRESHOLD_US ) ? TRUE : FALSE ); if ( getTestConfigStatus( TEST_CONFIG_FP_DISABLE_CONDUCTIVITY_ALARMS ) != TRUE ) { - checkPersistentAlarm( ALARM_ID_FP_INLET_CONDUCTIVITY_OUT_HIGH_RANGE, isConductivtyOutOfLowRange, conductivityP9, INLET_CONDUCTIVITY_HIGH_THRESHOLD_US ); + //checkPersistentAlarm( ALARM_ID_FP_INLET_CONDUCTIVITY_OUT_HIGH_RANGE, isConductivtyOutOfLowRange, conductivityP9, INLET_CONDUCTIVITY_HIGH_THRESHOLD_US ); } } @@ -394,7 +394,7 @@ isConductivityOutOfLowRange = ( ( conductivityP18 > OUTLET_CONDUCTIVITY_HIGH_THRESHOLD_US ) ? TRUE : FALSE ); if ( getTestConfigStatus( TEST_CONFIG_FP_DISABLE_CONDUCTIVITY_ALARMS ) != TRUE ) { - checkPersistentAlarm( ALARM_ID_FP_RO_OUTLET_CONDUCTIVITY_HIGH_RANGE, isConductivityOutOfLowRange, conductivityP18, OUTLET_CONDUCTIVITY_HIGH_THRESHOLD_US ); + //checkPersistentAlarm( ALARM_ID_FP_RO_OUTLET_CONDUCTIVITY_HIGH_RANGE, isConductivityOutOfLowRange, conductivityP18, OUTLET_CONDUCTIVITY_HIGH_THRESHOLD_US ); } } @@ -417,7 +417,7 @@ { if ( getTestConfigStatus( TEST_CONFIG_FP_DISABLE_CONDUCTIVITY_ALARMS ) != TRUE ) { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_REJECTION_RATIO_LOW_RANGE, avgRORR, MIN_RO_REJECTION_RATIO_PCT ) + //SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_REJECTION_RATIO_LOW_RANGE, avgRORR, MIN_RO_REJECTION_RATIO_PCT ) } } }