Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r101bf85b0b425e919b01b4b7fabcbd15fd5bbde5 -rc9d231bd2a7d932eb74f7210707ef63b6bef022c --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 101bf85b0b425e919b01b4b7fabcbd15fd5bbde5) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision c9d231bd2a7d932eb74f7210707ef63b6bef022c) @@ -15,6 +15,8 @@ * ***************************************************************************/ +#include // for memcpy() + #include "AlarmLamp.h" #include "BloodFlow.h" #include "Buttons.h" @@ -149,7 +151,8 @@ for ( param = 0; param < NUM_OF_TREATMENT_PARAMS; param++ ) { resetCriticalData( &treatmentParameters[ param ] ); - // set each treatment parameter to default value + // set each treatment parameter to its type and default value + treatmentParameters[ param ].typ = treatParamsProperties[ param ].dataType; setCriticalData( &treatmentParameters[ param ], treatParamsProperties[ param ].def ); // set staged parameter values to zero stagedParams[ param ].uInt = 0; @@ -221,9 +224,6 @@ *************************************************************************/ U32 execTreatParamsMode( void ) { - BOOL stop = isStopButtonPressed(); - -#ifndef UF_TEST_ENABLED // execute mode state machine switch ( currentTreatmentParamsState ) { @@ -244,7 +244,7 @@ break; } -#else +#ifdef UF_TEST_ENABLED requestNewOperationMode( MODE_PRET ); #endif #ifdef RM46_EVAL_BOARD_TARGET @@ -312,13 +312,13 @@ setCriticalData( &treatmentParameters[ param ], stagedParams[ param ] ); } // retain original settings for treatment that may be adjusted later during treatment - origTreatmentParams.bloodFlowRate_mL_min = treatmentParameters[ TREATMENT_PARAM_BLOOD_FLOW ].data.uInt; - origTreatmentParams.dialysateFlowRate_mL_min = treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ].data.uInt; - origTreatmentParams.treatmentDuration_min = treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ].data.uInt; - origTreatmentParams.arterialPressureLowLimit_mmHg = treatmentParameters[ TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ].data.sInt; - origTreatmentParams.arterialPressureHighLimit_mmHg = treatmentParameters[ TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ].data.sInt; - origTreatmentParams.venousPressureLowLimit_mmHg = treatmentParameters[ TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ].data.sInt; - origTreatmentParams.venousPressureHighLimit_mmHg = treatmentParameters[ TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ].data.sInt; + origTreatmentParams.bloodFlowRate_mL_min = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_BLOOD_FLOW ] ).uInt; + origTreatmentParams.dialysateFlowRate_mL_min = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ] ).uInt; + origTreatmentParams.treatmentDuration_min = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ] ).uInt; + origTreatmentParams.arterialPressureLowLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ] ).sInt; + origTreatmentParams.arterialPressureHighLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ] ).sInt; + origTreatmentParams.venousPressureLowLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ] ).sInt; + origTreatmentParams.venousPressureHighLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ] ).sInt; // go to pre-treatment mode requestNewOperationMode( MODE_PRET ); @@ -428,6 +428,7 @@ if ( dialysateVolume_mL > MAX_DIALYSATE_VOLUME_ML ) { reasons[ TREATMENT_PARAM_DIALYSATE_FLOW ] = REQUEST_REJECT_REASON_DIAL_VOLUME_OUT_OF_RANGE; + reasons[ TREATMENT_PARAM_TREATMENT_DURATION ] = REQUEST_REJECT_REASON_DIAL_VOLUME_OUT_OF_RANGE; result = FALSE; } @@ -518,23 +519,6 @@ { // pull treatment parameters into data array so we can more easily work with them memcpy( &stagedParams[0], &payload, sizeof(TREATMENT_PARAMS_DATA_PAYLOAD_T) ); -// stagedParams[ TREATMENT_PARAM_BLOOD_FLOW ].uInt = payload.bloodFlowRate_mL_min; -// stagedParams[ TREATMENT_PARAM_DIALYSATE_FLOW ].uInt = payload.dialysateFlowRate_mL_min; -// stagedParams[ TREATMENT_PARAM_TREATMENT_DURATION ].uInt = payload.treatmentDuration_min; -// stagedParams[ TREATMENT_PARAM_HEPARIN_PRE_STOP_TIME ].uInt = payload.heparinPreStop_min; -// stagedParams[ TREATMENT_PARAM_SALINE_BOLUS_VOLUME ].uInt = payload.salineBolusVolume_mL; -// stagedParams[ TREATMENT_PARAM_ACID_CONCENTRATE ].uInt = payload.acidConcentrate; -// stagedParams[ TREATMENT_PARAM_BICARB_CONCENTRATE ].uInt = payload.bicarbConcentrate; -// stagedParams[ TREATMENT_PARAM_DIALYZER_TYPE ].uInt = payload.dialyzerType; -// stagedParams[ TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ].sInt = payload.arterialPressureLowLimit_mmHg; -// stagedParams[ TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ].sInt = payload.arterialPressureHighLimit_mmHg; -// stagedParams[ TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ].sInt = payload.venousPressureLowLimit_mmHg; -// stagedParams[ TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ].sInt = payload.venousPressureHighLimit_mmHg; -// stagedParams[ TREATMENT_PARAM_BP_MEAS_INTERVAL ].uInt = payload.bloodPressureMeasurementInterval_min; -// stagedParams[ TREATMENT_PARAM_RINSEBACK_FLOW_RATE ].uInt = payload.rinsebackFlowRate_mL_min; -// stagedParams[ TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ].sFlt = payload.heparinDispenseRate_mL_hr; -// stagedParams[ TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ].sFlt = payload.heparinBolusVolume_mL; -// stagedParams[ TREATMENT_PARAM_DIALYSATE_TEMPERATURE ].sFlt = payload.dialysateTemperature_degC; } /*********************************************************************//** @@ -554,23 +538,6 @@ U32 respPayload[NUM_OF_TREATMENT_PARAMS]; memcpy( &respPayload[0], &reasons[0], sizeof(TREATMENT_PARAMS_DATA_PAYLOAD_T) ); -// respPayload[ 0 ] = reasons[ TREATMENT_PARAM_BLOOD_FLOW ]; -// respPayload[ 1 ] = reasons[ TREATMENT_PARAM_DIALYSATE_FLOW ]; -// respPayload[ 2 ] = reasons[ TREATMENT_PARAM_TREATMENT_DURATION ]; -// respPayload[ 3 ] = reasons[ TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ]; -// respPayload[ 4 ] = reasons[ TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ]; -// respPayload[ 5 ] = reasons[ TREATMENT_PARAM_HEPARIN_PRE_STOP_TIME ]; -// respPayload[ 6 ] = reasons[ TREATMENT_PARAM_SALINE_BOLUS_VOLUME ]; -// respPayload[ 7 ] = reasons[ TREATMENT_PARAM_ACID_CONCENTRATE ]; -// respPayload[ 8 ] = reasons[ TREATMENT_PARAM_BICARB_CONCENTRATE ]; -// respPayload[ 9 ] = reasons[ TREATMENT_PARAM_DIALYZER_TYPE ]; -// respPayload[ 10 ] = reasons[ TREATMENT_PARAM_DIALYSATE_TEMPERATURE ]; -// respPayload[ 11 ] = reasons[ TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ]; -// respPayload[ 12 ] = reasons[ TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ]; -// respPayload[ 13 ] = reasons[ TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ]; -// respPayload[ 14 ] = reasons[ TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ]; -// respPayload[ 15 ] = reasons[ TREATMENT_PARAM_BP_MEAS_INTERVAL ]; -// respPayload[ 16 ] = reasons[ TREATMENT_PARAM_RINSEBACK_FLOW_RATE ]; sendTreatmentParametersResponseMsg( valid, (U08*)(&respPayload[0]), ( NUM_OF_TREATMENT_PARAMS - 1 ) * sizeof(U32) ); // UF vol. param not included in reject reasons }