Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r47a7da55aea88cd7a2b06870226122d0cc8be540 -ra60ec05d359c0d3f014015e9080b6dbcef0fea28 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 47a7da55aea88cd7a2b06870226122d0cc8be540) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision a60ec05d359c0d3f014015e9080b6dbcef0fea28) @@ -92,7 +92,11 @@ *************************************************************************/ U32 execStandbyMode( void ) { - BOOL stop = isStopButtonPressed(); +#ifdef EMC_TEST_BUILD + static BOOL toggle = FALSE; + static BOOL button_state = FALSE; +#endif +BOOL stop = isStopButtonPressed(); DG_OP_MODE_T dgOpMode = getDGOpMode(); // TODO - the DG mode & sub-mode come as a pair at interval - they MUST be kept together. U32 dgSubMode = getDGSubMode(); @@ -202,8 +206,30 @@ // TODO - test code if ( TRUE == stop ) { +#ifdef EMC_TEST_BUILD + if ( stop != button_state ) + { + toggle = ( toggle == TRUE ? FALSE : TRUE ); + if ( TRUE == toggle ) + { + setBloodPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialOutPumpTargetRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + } + else + { + setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + } + } +#else requestNewOperationMode( MODE_TPAR ); +#endif } +#ifdef EMC_TEST_BUILD + button_state = stop; +#endif break; default: