Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r02fa169f02dd5a8caf27d1ea4441c74ba38317e8 -r46617afb446c35270b59e21085b270433d13d113 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 02fa169f02dd5a8caf27d1ea4441c74ba38317e8) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 46617afb446c35270b59e21085b270433d13d113) @@ -401,7 +401,11 @@ { F32 artPres = getLongFilteredArterialPressure(); F32 rotSpd = filteredBloodPumpSpeed / BP_GEAR_RATIO; +#ifndef WORN_OUT_CARTRIDGE U32 rotCnt = CAP( bloodPumpRotorCounter, BP_MAX_ROTOR_COUNT_FOR_WEAR ); +#else + U32 rotCnt = BP_MAX_ROTOR_COUNT_FOR_WEAR; +#endif F32 wear = BP_FLOW_WEAR_A_TERM * (F32)rotCnt + BP_FLOW_WEAR_B_TERM; F32 alpha = wear * artPres + BP_FLOW_ALPHA_Y_INTERCEPT; F32 flow = alpha * BP_ML_PER_ROTOR_REV * rotSpd; Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -red89b19b0b1fbab494fee7a762efae059f32b274 -r46617afb446c35270b59e21085b270433d13d113 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision ed89b19b0b1fbab494fee7a762efae059f32b274) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 46617afb446c35270b59e21085b270433d13d113) @@ -166,10 +166,10 @@ void initPresOccl( void ) { // Initialize persistent pressure alarms - initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_LOW, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); - initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_HIGH, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); - initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_LOW, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); - initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_HIGH, PRES_ALARM_PERSISTENCE, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_LOW, 0, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_ARTERIAL_PRESSURE_HIGH, 0, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_LOW, 0, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_HIGH, 0, PRES_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_ARTERIAL_PRESSURE_READ_TIMEOUT_ERROR, 0, PRES_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_VENOUS_PRESSURE_READ_TIMEOUT_ERROR, 0, PRES_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_VENOUS_PRESSURE_SENSOR_TEMP_OUT_OF_RANGE, 0, PRES_ALARM_PERSISTENCE ); Index: firmware/App/HDCommon.h =================================================================== diff -u -r02fa169f02dd5a8caf27d1ea4441c74ba38317e8 -r46617afb446c35270b59e21085b270433d13d113 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision 02fa169f02dd5a8caf27d1ea4441c74ba38317e8) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 46617afb446c35270b59e21085b270433d13d113) @@ -48,8 +48,9 @@ #define DISABLE_ACK_ERRORS 1 // Do not error on failure of other node(s) to ACK a message // #define USE_FMD_FLOW_SENSOR 1 // Use FMD flow sensor (on HD) instead of FMD on DG // #define USE_FMB_FLOW_SENSOR 1 // Use FMB flow sensor instead of flow estimation from pump speed/pressure/wearing - #define RUN_BP_OPEN_LOOP 1 // Run blood pump in open loop mode +// #define RUN_BP_OPEN_LOOP 1 // Run blood pump in open loop mode #define RUN_DPI_OPEN_LOOP 1 // Run dialysate inlet pump in open loop mode + #define WORN_OUT_CARTRIDGE 1 // Running with an old worn out cartridge (max wear) #define DISABLE_MOTOR_CURRENT_CHECKS 1 // Do not error on HD pump current checks #define DISABLE_PUMP_FLOW_CHECKS 1 // Do not error on HD pump flow checks #define DISABLE_PUMP_SPEED_CHECKS 1 // Do not error on HD pump speed checks Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r5070f8552a200e15dcc2ca0532db10fba9dc8c6b -r46617afb446c35270b59e21085b270433d13d113 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 5070f8552a200e15dcc2ca0532db10fba9dc8c6b) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 46617afb446c35270b59e21085b270433d13d113) @@ -55,9 +55,9 @@ #define MAX_COMM_CRC_FAILURES 5 ///< Maximum number of CRC errors within window period before alarm #define MAX_COMM_CRC_FAILURE_WINDOW_MS (10 * SEC_PER_MIN * MS_PER_SECOND) ///< CRC error window -#define MSG_NOT_ACKED_TIMEOUT_MS 150 ///< Maximum time for a Denali message that requires ACK to be ACK'd +#define MSG_NOT_ACKED_TIMEOUT_MS 300 ///< Maximum time for a Denali message that requires ACK to be ACK'd #define MSG_NOT_ACKED_MAX_RETRIES 3 ///< Maximum number of times a message that requires ACK that was not ACK'd can be re-sent before alarm -#define PENDING_ACK_LIST_SIZE 25 ///< Maximum number of Delanli messages that can be pending ACK at any given time +#define PENDING_ACK_LIST_SIZE 25 ///< Maximum number of Denali messages that can be pending ACK at any given time #pragma pack(push, 1)