Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r981882ba5ad72f45d836aae606dadd273a888058 -r0a62c26f8c74795bd1a695de879e1a33524481ed --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 981882ba5ad72f45d836aae606dadd273a888058) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 0a62c26f8c74795bd1a695de879e1a33524481ed) @@ -367,9 +367,13 @@ { // Door closed required from Auto-loading onwards, set to false if not required in subsequent states doorClosedRequired( TRUE ); - confirmTubesetPlaced = FALSE; - setBloodPumpTargetFlowRate( AUTO_LOAD_BLOOD_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - subState = PRE_TX_INSTALL_STATE_AUTO_LOAD; + + if ( STATE_CLOSED == getSwitchState( H9_SWCH ) ) + { + confirmTubesetPlaced = FALSE; + setBloodPumpTargetFlowRate( AUTO_LOAD_BLOOD_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + subState = PRE_TX_INSTALL_STATE_AUTO_LOAD; + } } return subState; @@ -419,7 +423,6 @@ BOOL notInValidState = FALSE; TD_OP_MODE_T mode = getCurrentOperationMode(); UI_RESPONSE_PAYLOAD_T response; - REQUEST_REJECT_REASON_CODE_T rejReason = REQUEST_REJECT_REASON_INVALID_PAYLOAD_LENGTH; if ( 0 == message->hdr.payloadLen ) { @@ -428,18 +431,21 @@ if ( ( mode != MODE_PRET ) || ( TRUE == notInValidState ) ) { - rejReason = REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE; + response.rejectionReason = REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE; } else { - confirmTubesetPlaced = TRUE; - result = TRUE; - rejReason = REQUEST_REJECT_REASON_NONE; + confirmTubesetPlaced = TRUE; + result = TRUE; + response.rejectionReason = REQUEST_REJECT_REASON_NONE; } } + else + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_MESSAGE_PAYLOAD_LENGTH, (U32)message->hdr.payloadLen ); + } response.accepted = result; - response.rejectionReason = rejReason; sendMessage( MSG_ID_TD_ADJUST_DISPOSABLES_CONFIRM_RESPONSE, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08*)(&response), sizeof( UI_RESPONSE_PAYLOAD_T ) ); return result;