Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r893b25a778d71b4d779ff14aa7361914f388e87e -rdb6f405ef30befc5acc2c8d70665fd04b1c3cfe6 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 893b25a778d71b4d779ff14aa7361914f388e87e) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision db6f405ef30befc5acc2c8d70665fd04b1c3cfe6) @@ -1046,7 +1046,9 @@ if ( lastBloodPumpDirectionCount != dirErrorCnt ) { lastBloodPumpDirectionCount = dirErrorCnt; +#ifndef DISABLE_PUMP_DIRECTION_CHECKS SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR, (U32)HD_PUMP_BLOOD_PUMP ) +#endif } #endif bpMCDir = ( getMeasuredBloodPumpMCSpeed() >= 0.0 ? MOTOR_DIR_FORWARD : MOTOR_DIR_REVERSE ); Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r893b25a778d71b4d779ff14aa7361914f388e87e -rdb6f405ef30befc5acc2c8d70665fd04b1c3cfe6 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 893b25a778d71b4d779ff14aa7361914f388e87e) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision db6f405ef30befc5acc2c8d70665fd04b1c3cfe6) @@ -107,7 +107,7 @@ #define DIP_PWM_ZERO_OFFSET 0.1 ///< 10% PWM duty cycle = zero speed. /// Macro converts flow rate to estimate PWM needed to achieve it. // TODO - I added 1.2 gain based on empirical data -#define DIP_PWM_FROM_ML_PER_MIN(rate) ( (rate) * DIP_ML_PER_MIN_TO_PUMP_RPM_FACTOR * DIP_GEAR_RATIO * DIP_MOTOR_RPM_TO_PWM_DC_FACTOR * 1.2 + DIP_PWM_ZERO_OFFSET ) +#define DIP_PWM_FROM_ML_PER_MIN(rate) ( (rate) * DIP_ML_PER_MIN_TO_PUMP_RPM_FACTOR * DIP_GEAR_RATIO * DIP_MOTOR_RPM_TO_PWM_DC_FACTOR * 1.258 + DIP_PWM_ZERO_OFFSET ) /// Conversion from PWM duty cycle % to commanded pump motor speed. #define DIP_PWM_TO_MOTOR_SPEED_RPM(pwm) ( ((pwm) - DIP_PWM_ZERO_OFFSET) * 4000.0 ) @@ -977,7 +977,9 @@ if ( lastDialInPumpDirectionCount != dirErrorCnt ) { lastDialInPumpDirectionCount = dirErrorCnt; +#ifndef DISABLE_PUMP_DIRECTION_CHECKS SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR, (U32)HD_PUMP_DIALYSATE_INLET_PUMP ) +#endif } #endif Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r893b25a778d71b4d779ff14aa7361914f388e87e -rdb6f405ef30befc5acc2c8d70665fd04b1c3cfe6 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 893b25a778d71b4d779ff14aa7361914f388e87e) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision db6f405ef30befc5acc2c8d70665fd04b1c3cfe6) @@ -811,7 +811,9 @@ if ( lastDialOutPumpDirectionCount != dirErrorCnt ) { lastDialOutPumpDirectionCount = dirErrorCnt; +#ifndef DISABLE_PUMP_DIRECTION_CHECKS SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR, (U32)HD_PUMP_DIALYSATE_OUTLET_PUMP ) +#endif } dopMCDir = ( getMeasuredDialOutPumpMCSpeed() >= 0.0 ? MOTOR_DIR_FORWARD : MOTOR_DIR_REVERSE );