Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r04f72c18f15a3d7ab960fccea7b99cf93fd9a409 -r45df07b39764c9dfea5f33925d30288196fee165 --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 04f72c18f15a3d7ab960fccea7b99cf93fd9a409) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 45df07b39764c9dfea5f33925d30288196fee165) @@ -516,23 +516,24 @@ static void extractTreatmentParamsFromPayload( TREATMENT_PARAMS_DATA_PAYLOAD_T payload ) { // pull treatment parameters into data array so we can more easily work with them - 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; + 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; } /*********************************************************************//** @@ -551,23 +552,24 @@ { U32 respPayload[NUM_OF_TREATMENT_PARAMS]; - 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 ]; + 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 }