Index: firmware/App/Modes/ModeROPermeateSample.c =================================================================== diff -u -rb644e09158661395c03a07f869eed78c77188e7a -r43f57e52a9a31e5154579178e847db3a6917b93c --- firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision b644e09158661395c03a07f869eed78c77188e7a) +++ firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision 43f57e52a9a31e5154579178e847db3a6917b93c) @@ -274,6 +274,20 @@ return status; } +/*********************************************************************//** + * @brief + * The setROPermeateSampleDispenseRequest function sets the RO permeate + * sample dispense request. + * @details Inputs: none + * @details Outputs: dispenseMessageStatus + * @param request the status of the request (1: dispense, 0: stop) + * @return none + *************************************************************************/ +void setROPermeateSampleDispenseRequest( U32 request ) +{ + dispenseMessageStatus = (DISPENSE_MSG_STATUS_T)request; +} + // ********** private functions ********** /*********************************************************************//** Index: firmware/App/Modes/ModeROPermeateSample.h =================================================================== diff -u -ra12e1212c1cf49011ed8d65beaf9416ca18ffe98 -r43f57e52a9a31e5154579178e847db3a6917b93c --- firmware/App/Modes/ModeROPermeateSample.h (.../ModeROPermeateSample.h) (revision a12e1212c1cf49011ed8d65beaf9416ca18ffe98) +++ firmware/App/Modes/ModeROPermeateSample.h (.../ModeROPermeateSample.h) (revision 43f57e52a9a31e5154579178e847db3a6917b93c) @@ -35,6 +35,8 @@ BOOL stopDGROPermeateSample( void ); +void setROPermeateSampleDispenseRequest( U32 request ); + /**@}*/ #endif Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d -r43f57e52a9a31e5154579178e847db3a6917b93c --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 43f57e52a9a31e5154579178e847db3a6917b93c) @@ -949,6 +949,10 @@ handleStartStopDGROPermeateSample( message ); break; + case MSG_ID_HD_SEND_RO_PERMEATE_SAMPLE_DISPENSE_REQUEST: + handleReceiveROPermeatSampleDispenseRequest( message ); + break; + // NOTE: This case must be last case MSG_ID_DG_TESTER_LOGIN_REQUEST: handleTesterLogInRequest( message ); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d -r43f57e52a9a31e5154579178e847db3a6917b93c --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 43f57e52a9a31e5154579178e847db3a6917b93c) @@ -1822,7 +1822,34 @@ sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, status ); } +/*********************************************************************//** + * @brief + * The handleReceiveROPermeatSampleDispenseRequest function handles receiving + * the RO permeate sample dispense request + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleReceiveROPermeatSampleDispenseRequest( MESSAGE_T* message ) +{ + BOOL status = FALSE; + if ( message->hdr.payloadLen == sizeof(U32) ) + { + U32 result; + + memcpy( &result, message->payload, sizeof(U32) ); + + setChemicalDisinfectFlushSampleResult( result ); + + status = TRUE; + } + + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, status ); +} + + // *********************************************************************** // **************** Message Handling Helper Functions ******************** // *********************************************************************** Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d -r43f57e52a9a31e5154579178e847db3a6917b93c --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 43f57e52a9a31e5154579178e847db3a6917b93c) @@ -185,6 +185,9 @@ // MSG_ID_DG_START_STOP_RO_PERMEATE_SAMPLE_MODE_CMD_REQUEST void handleStartStopDGROPermeateSample( MESSAGE_T* message ); +// MSG_ID_HD_SEND_RO_PERMEATE_SAMPLE_DISPENSE_REQUEST +void handleReceiveROPermeatSampleDispenseRequest( MESSAGE_T* message ); + // *********** public test support message functions ********** // MSG_TESTER_LOG_IN