Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r2df21d2472a8d79d78af7e359518acf3614accc5 -ra60ec05d359c0d3f014015e9080b6dbcef0fea28 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 2df21d2472a8d79d78af7e359518acf3614accc5) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision a60ec05d359c0d3f014015e9080b6dbcef0fea28) @@ -15,6 +15,12 @@ **************************************************************************/ #include "AlarmLamp.h" +#ifdef EMC_TEST_BUILD // TODO - test code +#include "BloodFlow.h" +#include "Buttons.h" +#include "DialInFlow.h" +#include "DialOutFlow.h" +#endif #include "OperationModes.h" #include "ModeFault.h" @@ -64,6 +70,33 @@ *************************************************************************/ U32 execFaultMode( void ) { +#ifdef EMC_TEST_BUILD // TODO - test code + static BOOL toggle = FALSE; + static BOOL button_state = FALSE; + BOOL stop = isStopButtonPressed(); + + if ( TRUE == stop ) + { + 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 ); + } + } + } + button_state = stop; +#endif + return 0; // TODO - return current state }