Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r3c0614e16047ada1ea30c9e7f883f78d98b363e3 -r1968ca7a720a132f359fc7831e4081ae2440103a --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 3c0614e16047ada1ea30c9e7f883f78d98b363e3) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 1968ca7a720a132f359fc7831e4081ae2440103a) @@ -1625,6 +1625,7 @@ syringePumpVolumeDelivered.data = 0.0; syringePumpSafetyVolumeDelivered = 0.0; syringePumpVolumeStartPosition = syringePumpPosition.data; + resetPersistentAlarmTimer( ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION ); // reset persistence after prime so ensured fresh start before continuous state } // Check for timeout Index: firmware/App/Controllers/Voltages.c =================================================================== diff -u -rdb291cc22fd8f10e6e47cad468e14ed5590a94f2 -r1968ca7a720a132f359fc7831e4081ae2440103a --- firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision db291cc22fd8f10e6e47cad468e14ed5590a94f2) +++ firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision 1968ca7a720a132f359fc7831e4081ae2440103a) @@ -255,7 +255,13 @@ if ( TRUE == isPersistentAlarmConditionCleared( ALARM_ID_HD_AC_POWER_LOST, hasPowerBeenLost ) ) { clearAlarmCondition( ALARM_ID_HD_AC_POWER_LOST ); - clearAlarmCondition( ALARM_ID_HD_AC_POWER_LOST_IN_TREATMENT ); + + // Just to make sure we are not clearing the AC power lost in treatment alarm until DG powers up and not in + // POST mode, to avoid HD sending commands when DG is not yet ready. + if ( DG_MODE_INIT != getDGOpMode() ) + { + clearAlarmCondition( ALARM_ID_HD_AC_POWER_LOST_IN_TREATMENT ); + } } } } Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r3c0614e16047ada1ea30c9e7f883f78d98b363e3 -r1968ca7a720a132f359fc7831e4081ae2440103a --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 3c0614e16047ada1ea30c9e7f883f78d98b363e3) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 1968ca7a720a132f359fc7831e4081ae2440103a) @@ -27,6 +27,7 @@ #include "ModeTreatmentParams.h" #include "NVDataMgmt.h" #include "OperationModes.h" +#include "PersistentAlarm.h" #include "Reservoirs.h" #include "Rinseback.h" #include "RTC.h" @@ -195,6 +196,11 @@ treatmentStartTimeStamp = getRTCTimestamp(); treatmentEndTimeStamp = 0; + + // reset dialysate temperature alarm persistences prior to starting a treatment. + resetPersistentAlarmTimer( ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_SAFETY_TEMP ); + resetPersistentAlarmTimer( ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP ); + resetPersistentAlarmTimer( ALARM_ID_HD_DIALYSATE_TEMP_BELOW_TARGET_TEMP ); } /*********************************************************************//**