Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -r887e9a3dfbce1255c6469d33e49afe191af21d25 -raa956c7f159913b79e823241ac1bc1494986d058 --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 887e9a3dfbce1255c6469d33e49afe191af21d25) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision aa956c7f159913b79e823241ac1bc1494986d058) @@ -36,6 +36,8 @@ /// Interval at which treatment end progress is to be published to UI. #define TREATMENT_END_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) +/// Target flow rate for blood while waiting for user to initiate final rinseback. +#define TX_END_BP_FLOW_RATE_ML_MIN 150 /// Max time to wait for user to initiate final rinseback. static const U32 TX_END_TIMEOUT_MS = ( ( 10 * 60 * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ); @@ -147,7 +149,7 @@ setValvePosition( VBA, VALVE_POSITION_B_OPEN ); setValvePosition( VBV, VALVE_POSITION_B_OPEN ); // Start blood pump at Tx End slow flow rate - setBloodPumpTargetFlowRate( getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ), MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setBloodPumpTargetFlowRate( TX_END_BP_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); bloodSittingTimerCtr = 0; // Continue air trap leveling control startAirTrapControl(); Index: vectorcast/Hercules_RM46_HD_Project/environment/TREATMENTEND/TREATMENTEND.tst =================================================================== diff -u -r887e9a3dfbce1255c6469d33e49afe191af21d25 -raa956c7f159913b79e823241ac1bc1494986d058 --- vectorcast/Hercules_RM46_HD_Project/environment/TREATMENTEND/TREATMENTEND.tst (.../TREATMENTEND.tst) (revision 887e9a3dfbce1255c6469d33e49afe191af21d25) +++ vectorcast/Hercules_RM46_HD_Project/environment/TREATMENTEND/TREATMENTEND.tst (.../TREATMENTEND.tst) (revision aa956c7f159913b79e823241ac1bc1494986d058) @@ -642,18 +642,26 @@ TEST.SUBPROGRAM:setupForTxEndWait4RinsebackState TEST.NEW TEST.NAME:setupForTxEndWait4RinsebackState.001 +TEST.IMPORT_FAILURES: +(E) @LINE: 651 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +(E) @LINE: 652 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: TEST.VALUE:TreatmentEnd.<>.bloodSittingTimerCtr:0 TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.action:ALARM_USER_ACTION_RESUME TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.enabled:0 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:100 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 TEST.VALUE:uut_prototype_stubs.setValvePosition.valve:VBA,VBV TEST.VALUE:uut_prototype_stubs.setValvePosition.position:VALVE_POSITION_B_OPEN TEST.EXPECTED:TreatmentEnd.<>.bloodSittingTimerCtr:0 -TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:450 +TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:150 TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP TEST.EXPECTED:uut_prototype_stubs.setValvePosition.valve:VBA,VBV @@ -750,18 +758,26 @@ TEST.SUBPROGRAM:transitionToTreatmentEnd TEST.NEW TEST.NAME:transitionToTreatmentEnd.001 +TEST.IMPORT_FAILURES: +(E) @LINE: 758 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +(E) @LINE: 759 TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 + >>> Could not find function getTreatmentParameterU32 + >>> in unit uut_prototype_stubs. + >>> Value Line Error - Command Ignored +TEST.END_IMPORT_FAILURES: TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.action:ALARM_USER_ACTION_RESUME,ALARM_USER_ACTION_RINSEBACK,ALARM_USER_ACTION_END_TREATMENT TEST.VALUE:uut_prototype_stubs.setAlarmUserActionEnabled.enabled:1 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:100 TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.VALUE:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.param:TREATMENT_PARAM_BLOOD_FLOW -TEST.VALUE:uut_prototype_stubs.getTreatmentParameterU32.return:450 TEST.VALUE:uut_prototype_stubs.setValvePosition.valve:VDI,VDO,VBA,VBV TEST.VALUE:uut_prototype_stubs.setValvePosition.position:(2)VALVE_POSITION_C_CLOSE,(2)VALVE_POSITION_B_OPEN TEST.EXPECTED:uut_prototype_stubs.setAlarmUserActionEnabled.action:ALARM_USER_ACTION_RESUME,ALARM_USER_ACTION_RINSEBACK,ALARM_USER_ACTION_END_TREATMENT TEST.EXPECTED:uut_prototype_stubs.setAlarmUserActionEnabled.enabled:0,(2)1 -TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:450 +TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.flowRate:150 TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.dir:MOTOR_DIR_FORWARD TEST.EXPECTED:uut_prototype_stubs.setBloodPumpTargetFlowRate.mode:PUMP_CONTROL_MODE_CLOSED_LOOP TEST.EXPECTED:uut_prototype_stubs.setValvePosition.valve:VDI,VDO,VBA,VBV