Index: firmware/App/Services/Reservoirs.h =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -r8a42ba4060bf15e63d291fa23df6fcd5434beab4 --- firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision 8a42ba4060bf15e63d291fa23df6fcd5434beab4) @@ -46,8 +46,10 @@ /// Drain command data structure. typedef struct { - U32 targetVolume; ///< Target volume to drain to (in mL) - BOOL tareLoadCell; ///< Flag to tare load call + U32 targetVolume; ///< Target volume to drain to (in mL) + BOOL tareLoadCell; ///< Flag to tare load call + BOOL rinseConcentrateLines; ///< Flag indicates to rinse concentrate lines or not + U32 cmd; ///< General command (start/stop) } DRAIN_CMD_T; /// DG command response data record. Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r752defbb739ea0756a8bf060f00bc6b9429c2764 -r8a42ba4060bf15e63d291fa23df6fcd5434beab4 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 752defbb739ea0756a8bf060f00bc6b9429c2764) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 8a42ba4060bf15e63d291fa23df6fcd5434beab4) @@ -1280,6 +1280,10 @@ handleFansRPMOverride( message ); break; + case MSG_ID_DG_STOP_RTC_CLOCK: + handleStopDGRTCClock( message ); + break; + default: // TODO - unrecognized message ID received - ignore break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r752defbb739ea0756a8bf060f00bc6b9429c2764 -r8a42ba4060bf15e63d291fa23df6fcd5434beab4 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 752defbb739ea0756a8bf060f00bc6b9429c2764) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 8a42ba4060bf15e63d291fa23df6fcd5434beab4) @@ -1531,7 +1531,14 @@ result = TRUE; memcpy( &drainCmd, message->payload, sizeof( DRAIN_CMD_T ) ); - startDrainCmd( drainCmd ); + if ( DG_CMD_START == drainCmd.cmd ) + { + startDrainCmd( drainCmd ); + } + else + { + stopDrainCmd(); + } } sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DG_2_HD, result ); @@ -3587,6 +3594,27 @@ /*********************************************************************//** * @brief +* The handleStopDGRTCClock function handles a request to stop the RTC clock. +* @details Inputs: none +* @details Outputs: message handled +* @param message a pointer to the message to handle +* @return none +*************************************************************************/ +void handleStopDGRTCClock( MESSAGE_T *message ) +{ + BOOL result = FALSE; + + if ( 0 == message->hdr.payloadLen ) + { + testSetStopRTC(); + } + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** +* @brief * The handleStartStopDGChemicalDisinfect function handles a request to start * or stop DG chemical disinfect mode. * @details Inputs: none Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r752defbb739ea0756a8bf060f00bc6b9429c2764 -r8a42ba4060bf15e63d291fa23df6fcd5434beab4 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 752defbb739ea0756a8bf060f00bc6b9429c2764) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 8a42ba4060bf15e63d291fa23df6fcd5434beab4) @@ -393,6 +393,9 @@ // MSG_ID_DG_FANS_RPM_OVERRIDE void handleFansRPMOverride( MESSAGE_T *message ); +// MSG_ID_DG_STOP_RTC_CLOCK +void handleStopDGRTCClock( MESSAGE_T * message ); + /**@}*/ #endif