Index: firmware/App/Modes/StateTxDialysis.c =================================================================== diff -u -r6f02ff4686ec9dfc60247e9ed3fc9c5cc7771543 -rf0ea13c1a9908920793be07a946dc366d2ab5019 --- firmware/App/Modes/StateTxDialysis.c (.../StateTxDialysis.c) (revision 6f02ff4686ec9dfc60247e9ed3fc9c5cc7771543) +++ firmware/App/Modes/StateTxDialysis.c (.../StateTxDialysis.c) (revision f0ea13c1a9908920793be07a946dc366d2ab5019) @@ -252,14 +252,14 @@ response.rejectionReason = REQUEST_REJECT_REASON_NONE; // Verify payload length is valid - if ( sizeof( BOOL ) == message->hdr.payloadLen ) + if ( sizeof( U32 ) == message->hdr.payloadLen ) { - BOOL payload; + U32 requestedState = 0U; - memcpy( &payload, message->payload, sizeof( BOOL ) ); + memcpy( &requestedState, message->payload, sizeof( U32 ) ); // Handle request to resume ultrafiltration - if ( TRUE == payload ) + if ( requestedState == 0U ) { if ( ( MODE_TREA == currMode ) && ( TREATMENT_DIALYSIS_STATE == trtState ) && ( DIALYSIS_UF_PAUSED_STATE == currentDialysisState ) ) { @@ -287,13 +287,13 @@ } } // Handle request to pause ultrafiltration - else + else if ( requestedState == 1U ) { if ( ( MODE_TREA == currMode ) && ( TREATMENT_DIALYSIS_STATE == trtState ) && ( DIALYSIS_UF_STATE == currentDialysisState ) ) { ufPauseRequested = TRUE; response.accepted = TRUE; - if ( setUFRateLHr > 0.0 ) + if ( setUFRateLHr > 0.0F ) { //sendTreatmentLogEventData( UF_PAUSE_EVENT, setUFRateLHr, 0.0 ); } @@ -314,11 +314,15 @@ } } } + else + { + response.rejectionReason = REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE; + } } else - { + { response.rejectionReason = REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE; - } + } // Send response w/ reason code if rejected sendMessage( MSG_ID_TD_UF_PAUSE_RESUME_RESPONSE, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08*)(&response), sizeof( UI_RESPONSE_PAYLOAD_T ) );