Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r9b8889b096ae02246e939468fc843f467de8c6bb -rf5fae90687cdee9712174e0dc92e34a60eb459bf --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 9b8889b096ae02246e939468fc843f467de8c6bb) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision f5fae90687cdee9712174e0dc92e34a60eb459bf) @@ -813,14 +813,20 @@ // If DG is in standby mode and the standby mode is in Idle, request RO permeate sample if ( ( DG_MODE_STAN == getCurrentOperationMode() ) && ( DG_STANDBY_MODE_STATE_IDLE == standbyState ) ) { + DG_USAGE_INFO_RECORD_T usageInfo; OPN_CLS_STATE_T concCap = getSwitchStatus( CONCENTRATE_CAP ); OPN_CLS_STATE_T diaCap = getSwitchStatus( DIALYSATE_CAP ); + getNVRecord2Driver( GET_USAGE_RECORD, (U08*)&usageInfo, sizeof( DG_USAGE_INFO_RECORD_T ), 0, ALARM_ID_NO_ALARM ); + #ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_CAPS_MONITOR ) ) { concCap = STATE_CLOSED; diaCap = STATE_CLOSED; + // Using the caps switch to disable the chemical disinfect date checks + usageInfo.lastChemDisFlushCompleteDateEpoch = 40; + usageInfo.lastChemDisCompleteDateEpoch = 32; } #endif @@ -830,6 +836,11 @@ cmdResponse.rejectCode = ( STATE_OPEN == getSwitchStatus( DIALYSATE_CAP ) ? REQUEST_REJECT_REASON_DG_DIALYSATE_CAP_OPEN : REQUEST_REJECT_REASON_DG_CONCENTRATE_CAP_OPEN ); } + else if ( usageInfo.lastChemDisFlushCompleteDateEpoch < usageInfo.lastChemDisCompleteDateEpoch ) + { + cmdResponse.rejected = TRUE; + cmdResponse.rejectCode = REQUEST_REJECT_REASON_DG_CHEM_FLUSH_NOT_COMPLETED; + } else { pendingStartDGROPermeateSampleRequest = TRUE;