Index: firmware/App/Controllers/Voltages.c =================================================================== diff -u -rf19f3deed8f9ee103482fa0232df44f8a73eae30 -rea0047d0cb48b899475cf519e7e4997d96f5e538 --- firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision f19f3deed8f9ee103482fa0232df44f8a73eae30) +++ firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision ea0047d0cb48b899475cf519e7e4997d96f5e538) @@ -58,7 +58,7 @@ 5.5, // MONITORED_LINE_5V_SENSORS 26.4, // MONITORED_LINE_24V 30.0, // MONITORED_LINE_24V_REGEN - 1.05, // MONITORED_LINE_FPGA_REF_V + 1.3125, // MONITORED_LINE_FPGA_REF_V 3.3, // MONITORED_LINE_PBA_REF_V }; /// Minimum voltage/current level for each monitored signal. @@ -70,7 +70,7 @@ 4.5, // MONITORED_LINE_5V_SENSORS 21.6, // MONITORED_LINE_24V 18.0, // MONITORED_LINE_24V_REGEN - 0.95, // MONITORED_LINE_FPGA_REF_V + 1.1875, // MONITORED_LINE_FPGA_REF_V 2.7, // MONITORED_LINE_PBA_REF_V }; Index: firmware/App/Modes/BloodPrime.c =================================================================== diff -u -r9f2e4e5933d2e418b75f91e3db5df69c71878d43 -rea0047d0cb48b899475cf519e7e4997d96f5e538 --- firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision 9f2e4e5933d2e418b75f91e3db5df69c71878d43) +++ firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision ea0047d0cb48b899475cf519e7e4997d96f5e538) @@ -206,9 +206,9 @@ { BLOOD_PRIME_STATE_T result = BLOOD_PRIME_RAMP_STATE; - // update blood prime volume delivered so far + // Update blood prime volume delivered so far cumulativeBloodPrimeVolume_mL += ( getMeasuredBloodFlowRate() * BLOOD_PRIME_FLOW_INTEGRATOR ); - // update independent calculated safety volume delivered so far + // Update independent calculated safety volume delivered so far bloodPrimeMotorCount = u32BiDiffWithWrap( bloodPrimeLastMotorCount, getBloodPumpMotorCount() ) / BP_HALL_EDGE_COUNTS_PER_REV; bloodPrimeVolumeDelivered_Safety = ( (F32)bloodPrimeMotorCount * VOLUME_PER_BP_MOTOR_REV_ML ); // TODO - include upstream pressure compensation to this calc @@ -240,9 +240,14 @@ // ramp blood pump on ramp interval if ( ++bloodPrimeRampControlTimerCtr >= BLOOD_PRIME_RAMPING_INTERVAL ) { - bloodPrimeRampControlTimerCtr = 0; // TODO - stop ramping when reach set rate for BP - bloodPrimeRampFlowRate_mL_min += bloodPrimeRampStep_mL; - setBloodPumpTargetFlowRate( (U32)bloodPrimeRampFlowRate_mL_min, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + U32 setBPRate = getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ); + + bloodPrimeRampControlTimerCtr = 0; + if ( bloodPrimeRampFlowRate_mL_min < (F32)setBPRate ) + { + bloodPrimeRampFlowRate_mL_min += bloodPrimeRampStep_mL; + setBloodPumpTargetFlowRate( (U32)bloodPrimeRampFlowRate_mL_min, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + } } } Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rb5accb82ac043938255883b6c60a6f81795569b0 -rea0047d0cb48b899475cf519e7e4997d96f5e538 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision b5accb82ac043938255883b6c60a6f81795569b0) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision ea0047d0cb48b899475cf519e7e4997d96f5e538) @@ -75,7 +75,7 @@ static U32 salineBolusBroadcastTimerCtr; ///< Saline bolus data broadcast timer counter used to schedule when to transmit data. static BOOL salineBolusStartRequested; ///< Flag indicates a saline bolus start has been requested by user. static BOOL salineBolusAbortRequested; ///< Flag indicates a salien bolus abort has been requested by user. -static BOOL salineBolusAutoResumeUF; ///< Flag indicates UF should be auto-resumed after saline bolus completes. +static BOOL salineBolusAutoResumeUF = FALSE; ///< Flag indicates UF should be auto-resumed after saline bolus completes. static F32 totalSalineVolumeDelivered; ///< Volume (mL) in total of saline delivered so far (cumulative for all boluses including current one). static F32 bolusSalineVolumeDelivered; ///< Volume (mL) of current bolus delivered so far. static F32 bolusSalineVolumeDelivered_Safety; ///< Volume (mL) of current bolus delivered so far according to safety monitor. @@ -158,7 +158,6 @@ { salineBolusStartRequested = FALSE; salineBolusAbortRequested = FALSE; - salineBolusAutoResumeUF = FALSE; bolusSalineVolumeDelivered = 0.0; bolusSalineVolumeDelivered_Safety = 0.0; bolusSalineMotorCount = 0; @@ -336,14 +335,14 @@ { rejReason = REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE; } - else if ( currSalineBolusState != SALINE_BOLUS_STATE_IDLE ) - { - rejReason = REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS; - } else if ( totalSalineVolumeDelivered >= (F32)MAX_SALINE_VOLUME_DELIVERED ) { rejReason = REQUEST_REJECT_REASON_SALINE_MAX_VOLUME_REACHED; } + else if ( currSalineBolusState != SALINE_BOLUS_STATE_IDLE ) + { + rejReason = REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS; + } else { accept = TRUE; Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r4aa16058db700e071748f89f91e6eb58ed348ea3 -rea0047d0cb48b899475cf519e7e4997d96f5e538 --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 4aa16058db700e071748f89f91e6eb58ed348ea3) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision ea0047d0cb48b899475cf519e7e4997d96f5e538) @@ -22,6 +22,8 @@ #include "Buttons.h" #include "DialInFlow.h" #include "DialOutFlow.h" +#include "Dialysis.h" +#include "ModeTreatment.h" #include "ModeTreatmentParams.h" #include "OperationModes.h" #include "SyringePump.h" @@ -121,6 +123,10 @@ // Reset this mode initTreatParamsMode(); + // Reset treatment + initTreatmentMode(); + initDialysis(); + validTreatParamsReceived = FALSE; treatParamsConfirmed = FALSE; treatParamsRejected = FALSE;