Index: firmware/App/Modes/ConsumableSelfTest.c =================================================================== diff -u -r27a68f930508638f2eb6265ebb381c8918cbc37b -rcc067242d41776eb2a598212413e25df5a58b1fe --- firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) +++ firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision cc067242d41776eb2a598212413e25df5a58b1fe) @@ -20,6 +20,7 @@ #include "ModePreTreat.h" #include "NVDataMgmt.h" #include "Reservoirs.h" +#include "Valves.h" /** * @addtogroup ConsumableSelfTest @@ -61,6 +62,20 @@ void transitionToConsumableSelfTest( void ) { initConsumableSelfTest(); + + // Pumps should be off + signalBloodPumpHardStop(); + signalDialInPumpHardStop(); + signalDialOutPumpHardStop(); + stopSyringePump(); + + // Set valves to default positions + setValveAirTrap( STATE_CLOSED ); + setValvePosition( VDI, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VDO, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VBA, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VBV, VALVE_POSITION_A_INSERT_EJECT ); + } /*********************************************************************//** Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r27a68f930508638f2eb6265ebb381c8918cbc37b -rcc067242d41776eb2a598212413e25df5a58b1fe --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision cc067242d41776eb2a598212413e25df5a58b1fe) @@ -161,6 +161,19 @@ cmdStopDGTrimmerHeater(); + // Pumps should be off + signalBloodPumpHardStop(); + signalDialInPumpHardStop(); + signalDialOutPumpHardStop(); + stopSyringePump(); + + // Set valves to default positions + setValveAirTrap( STATE_CLOSED ); + setValvePosition( VDI, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VDO, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VBA, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VBV, VALVE_POSITION_A_INSERT_EJECT ); + // Set user alarm recovery actions allowed in this mode setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, TRUE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_RINSEBACK, FALSE ); @@ -568,12 +581,18 @@ { VALVE_T valve; + // Set valves for ( valve = VDI; valve < NUM_OF_VALVES; ++valve ) { setValvePosition( valve, VALVE_POSITION_A_INSERT_EJECT ); } - setValveAirTrap( STATE_CLOSED ); + + // Pumps should be off + signalBloodPumpHardStop(); + signalDialInPumpHardStop(); + signalDialOutPumpHardStop(); + stopSyringePump(); } /*********************************************************************//** Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r27a68f930508638f2eb6265ebb381c8918cbc37b -rcc067242d41776eb2a598212413e25df5a58b1fe --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision cc067242d41776eb2a598212413e25df5a58b1fe) @@ -121,9 +121,10 @@ setAlarmUserActionEnabled( ALARM_USER_ACTION_END_TREATMENT, FALSE ); // Pumps should be off - setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); - setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); - setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + signalBloodPumpHardStop(); + signalDialInPumpHardStop(); + signalDialOutPumpHardStop(); + stopSyringePump(); // Set valves to default positions setValveAirTrap( STATE_CLOSED ); Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r27a68f930508638f2eb6265ebb381c8918cbc37b -rcc067242d41776eb2a598212413e25df5a58b1fe --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision cc067242d41776eb2a598212413e25df5a58b1fe) @@ -233,6 +233,19 @@ selfTestStartTime = getMSTimerCount(); selfTestPreviousPublishDataTime = getMSTimerCount(); + // Pumps should be off + signalBloodPumpHardStop(); + signalDialInPumpHardStop(); + signalDialOutPumpHardStop(); + stopSyringePump(); + + // Set valves to default positions + setValveAirTrap( STATE_CLOSED ); + setValvePosition( VDI, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VDO, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VBA, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( VBV, VALVE_POSITION_A_INSERT_EJECT ); + resetSelfTestsFlags(); } @@ -257,23 +270,8 @@ currentNoCartSelfTestsState = handleNoCartSelfTestsWaitForClosedDoor(); break; - case NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE: + case NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE: execPresOcclTest(); - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE; - break; - - case NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE: - execBloodFlowTest(); - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE; - break; - - case NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE: - // TODO as of now, the dialysate flow self test only gets the calibration record so it is only called in POST - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE; - break; - - case NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE: - // TODO: Implement self tests currentNoCartSelfTestsState = NO_CART_SELF_TESTS_HOME_VALVES_STATE; break; @@ -654,7 +652,7 @@ // TODO: Use appropriate sensor driver if ( ( STATE_CLOSED == frontDoor ) && ( STATE_CLOSED == pumpTrack ) ) { - state = NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE; + state = NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE; } if ( TRUE == doesAlarmStatusIndicateStop() )