Index: firmware/App/Modes/ModeROPermeateSample.c =================================================================== diff -u -rac305d5eedc7fb0e85adef5cd4aa34e58e94e3b8 -rfab0257d4913c021698418277e742c2a61e0368e --- firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision ac305d5eedc7fb0e85adef5cd4aa34e58e94e3b8) +++ firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision fab0257d4913c021698418277e742c2a61e0368e) @@ -496,7 +496,7 @@ dispenseMessageStatus = DISPENSE_MSG_READY; roPermeateSampledispensedVolumeML = 0.0F; setROPermeateSampleStateTransition( state ); - handleSendROPermeateSampleDispenseReadyToHD(); // TODO should we send this multiple times until confirmation? + sendROPermeateSampleDispenseReadyToHD(); // TODO should we send this multiple times until confirmation? } } } @@ -703,6 +703,10 @@ { switch( state ) { + case DG_RO_PERM_SAMPLE_STATE_START: + // Do nothing + break; + case DG_RO_PERM_SAMPLE_STATE_DRAIN_R1: // Valves setValveState( VPI, VALVE_STATE_CLOSED ); @@ -912,12 +916,19 @@ break; case DISPENSE_MSG_DISPENSING: + // Do nothing + break; + default: - // Do nothing. In these states, we do not need to do anything with actuators + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_DG_RO_PERMEATE_SAMPLE_INVALID_MESSAGE, dispenseMessageStatus ) break; } break; + case DG_RO_PERM_SAMPLE_STATE_CANCEL_BASIC_PATH: + // Do nothing + break; + case DG_RO_PERM_SAMPLE_STATE_CANCEL_WATER_PATH: // Prepare to start draining reservoir 2 first // Valves @@ -954,7 +965,7 @@ break; default: - // Do nothing + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_DG_RO_PERMEATE_SAMPLE_INVALID_EXEC_STATE, state ) break; } }