Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rb8f298547eb578000b3ff3cf55732fda7a689ce0 -r72bca5d2e489fa253f3bdfdb254261a32c7a0c19 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision b8f298547eb578000b3ff3cf55732fda7a689ce0) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 72bca5d2e489fa253f3bdfdb254261a32c7a0c19) @@ -4312,4 +4312,60 @@ sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } +#ifndef _RELEASE_ +/*********************************************************************//** + * @brief + * The handleTestDGNelsonDisinfectSupport function handles a request + * to set the Nelson disinfect support mode. + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleTestDGNelsonDisinfectSupport( MESSAGE_T *message ) +{ + TEST_OVERRIDE_PAYLOAD_T payload; + BOOL result = FALSE; + + // verify payload length + if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) + { + memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_PAYLOAD_T ) ); + + NELSON_SUPPORT_T nelson = (NELSON_SUPPORT_T)payload.state.u32; + + switch( nelson ) + { + case NELSON_INOCULATE: + setNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_HEAT ); + break; + + case NELSON_HEAT_DISINFECT: + setNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_HEAT ); + break; + + case NELSON_POS_CONTROL_CHEM_DISINFECT: + setNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_CHEM ); + break; + + case NELSON_CHEM_DISINFECT: + setNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_CHEM ); + break; + + case NELSON_DRAIN_SAMPLES: + setNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_HEAT ); + break; + } + } + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} +#endif + /**@}*/