Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r5dea4d2934a06e63b87c74732d5d5d7756bdc62a -rbd37ce75271151436de0bb6de9f75123d8251396 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 5dea4d2934a06e63b87c74732d5d5d7756bdc62a) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision bd37ce75271151436de0bb6de9f75123d8251396) @@ -76,7 +76,7 @@ #define BP_RATE_FROM_RPM( rpm ) ( rpm / 5 ) ///< Macro to estimate a flow rate (mL/min) from a given speed (RPM). #define BP_RPM_FROM_RATE( rate ) ( rate * 5 ) ///< Macro to estimate a pump speed (RPM) from a given flow rate (mL/min). -#define BP_RAMP_STEP_SPEED_RPM 5 ///< Blood pump ramp step size (in RPM). +#define BP_RAMP_STEP_SPEED_RPM 10 ///< Blood pump ramp step size (in RPM). #define BP_FLOW_ALPHA_Y_INTERCEPT 1.11F ///< Y intercept used for alpha flow coefficient calculation. #define BP_FLOW_WEAR_A_TERM 0.00000000896F ///< A term used for wear portion of alpha flow coefficient. @@ -508,7 +508,7 @@ // adcBloodPumpMCSpeedRPM.data = (F32)(SIGN_FROM_12_BIT_VALUE(bpRPM)) * BP_SPEED_ADC_TO_RPM_FACTOR; // adcBloodPumpMCCurrentmA.data = (F32)(SIGN_FROM_12_BIT_VALUE(bpmA)) * BP_CURRENT_ADC_TO_MA_FACTOR; - filterBloodPumpRPMReadings( (F32)getPeristalticPumpMeasSpeed() ); + filterBloodPumpRPMReadings( getPeristalticPumpMeasSpeed() ); bloodPumpSpeedRPM.data = filteredBloodPumpSpeed; bloodPumpDirection = ( getMeasuredBloodPumpSpeed() < 0.0F ? MOTOR_DIR_REVERSE : MOTOR_DIR_FORWARD ); //measuredBloodFlowRate.data = calcBloodFlow(); // TODO-restore when flow estimation function is implemented @@ -584,6 +584,7 @@ { // Start ramp up to target flow rate bloodPumpSetSpeedRPM = BP_RAMP_STEP_SPEED_RPM; +// setPeristalticPumpSetSpeed( bloodPumpSetSpeedRPM ); // TODO - replace all FPGA set speed and direction calls with driver set speed calls - set speed s/b signed to indicate direction. setBPDirection( bloodPumpDirectionSet ); setBPSetSpeed( bloodPumpSetSpeedRPM ); isBloodPumpOn = TRUE; @@ -661,7 +662,6 @@ else if ( bloodPumpSetSpeedRPM <= bloodPumpRampToSpeedRPM ) { resetBloodPumpRPMMovingAverage(); - bloodPumpSetSpeedRPM = 0; // resetPIController( PI_CONTROLLER_ID_BLOOD_FLOW, bloodPumpSetSpeedRPM ); setBPSetSpeed( bloodPumpSetSpeedRPM ); bpControlTimerCounter = 0; @@ -805,15 +805,15 @@ payload.measFlow = getMeasuredBloodFlowRate(); payload.measRotorSpd = getMeasuredBloodPumpRotorSpeed(); payload.measPumpSpd = getMeasuredBloodPumpSpeed(); -// payload.measCurr = getMeasuredBloodPumpMCCurrent(); + payload.measCurr = 0.0; // TODO getMeasuredBloodPumpMCCurrent(); payload.setRPM = bloodPumpSetSpeedRPM; payload.rotorCount = getBloodPumpRotorCount(); - if ( ( MODE_PRET == opMode ) || ( MODE_TREA == opMode ) || ( MODE_POST == opMode ) ) - { // prescribed flow only available in treatment modes +// if ( ( MODE_PRET == opMode ) || ( MODE_TREA == opMode ) || ( MODE_POST == opMode ) ) +// { // prescribed flow only available in treatment modes // payload.presFlow = getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ); // TODO - restore when Tx Param Mode implemented // } // else -// { + { payload.presFlow = 0; } payload.rotorHall = ( hallSensor > 0 ? 0 : 1 ); // 1=home, 0=not home