Index: firmware/App/Services/TDInterface.c =================================================================== diff -u -rb212425c0c7e9b69b4de7d46dd41030dfc3efa62 -rac1e1a4ff4312f4d99fdf26649a03b036de16e1c --- firmware/App/Services/TDInterface.c (.../TDInterface.c) (revision b212425c0c7e9b69b4de7d46dd41030dfc3efa62) +++ firmware/App/Services/TDInterface.c (.../TDInterface.c) (revision ac1e1a4ff4312f4d99fdf26649a03b036de16e1c) @@ -342,14 +342,23 @@ { PRE_GEN_DIALYSATE_REQ_PAYLOAD_T startPreGenRequest; DD_OP_MODE_T ddMode = getCurrentOperationMode(); + FP_OP_MODE_T fpMode = getCurrentFPOperationMode(); memcpy( &startPreGenRequest, message->payload, sizeof( PRE_GEN_DIALYSATE_REQ_PAYLOAD_T ) ); // Process the pre-gen dialysate delivery request message if ( ( DD_MODE_STAN == ddMode ) && ( TRUE == startPreGenRequest.start ) ) { // Start FP Pre-Generate Permeate - fpReason = signalStartGenPermeate(); + + if ( FP_MODE_STAN == fpMode ) + { + fpReason = signalStartGenPermeate(); + } + else + { + fpReason = REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE; + } // start pre-gen dialysate result = requestDDPreGenStart();