Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -ref511196d29f6b0de6ade9ea113d91164d938c88 -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision ef511196d29f6b0de6ade9ea113d91164d938c88) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) @@ -36,6 +36,7 @@ #include "ModeHeatDisinfect.h" #include "ModeHeatDisinfectActiveCool.h" #include "ModeInitPOST.h" +#include "ModeROPermeateSample.h" #include "ModeStandby.h" #include "MsgQueues.h" #include "NVDataMgmt.h" @@ -1606,7 +1607,7 @@ } // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer - serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_2_HD, ACK_REQUIRED ); + serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_BROADCAST, ACK_REQUIRED ); } /*********************************************************************//** @@ -1789,7 +1790,39 @@ serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_2_UI, ACK_REQUIRED ); } +/************************************************************************* + * @brief + * The handleStartStopDGROPermeateSample function handles a request to + * start or stop DG RO permeate sample mode. + * @details Inputs: none + * @details Outputs: message handled + * @param message: a pointer to the message to handle + * @return result + *************************************************************************/ +void handleStartStopDGROPermeateSample( MESSAGE_T* message ) +{ + BOOL status = FALSE; + if ( message->hdr.payloadLen == sizeof(U32) ) + { + BOOL startingDGROPermeateSample; + + memcpy( &startingDGROPermeateSample, message->payload, sizeof(U32) ); + + if ( TRUE == startingDGROPermeateSample ) + { + status = startDGROPermeateSample(); + } + else + { + status = stopDGROPermeateSample(); + } + } + + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, status ); +} + + // *********************************************************************** // **************** Message Handling Helper Functions ******************** // *********************************************************************** @@ -4754,7 +4787,7 @@ { BOOL status = FALSE; - if ( 0 == sizeof( message->hdr.payloadLen ) ) + if ( 0 == message->hdr.payloadLen ) { status = TRUE;