Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rfadfcc3e667097327fd62202c674ab8727f81110 -r7b88c9005b538ceb13de34212fb5be0a020f0dec --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision fadfcc3e667097327fd62202c674ab8727f81110) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7b88c9005b538ceb13de34212fb5be0a020f0dec) @@ -8,7 +8,7 @@ * @file SystemCommMessages.c * * @author (last) Dara Navaei -* @date (last) 11-Jan-2023 +* @date (last) 03-Feb-2023 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -4376,4 +4376,68 @@ 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 ) +{ + U32 payload; + BOOL result = FALSE; + + // verify payload length + if ( sizeof( U32 ) == message->hdr.payloadLen ) + { + NELSON_SUPPORT_T nelson; + + memcpy( &payload, message->payload, sizeof( U32 ) ); + + nelson = (NELSON_SUPPORT_T)payload; + result = TRUE; + + switch( nelson ) + { + case NELSON_INOCULATE: + setHeatNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_HEAT ); + break; + + case NELSON_HEAT_DISINFECT: + setHeatNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_HEAT ); + break; + + case NELSON_POS_CONTROL_CHEM_DISINFECT: + setChemNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_CHEM ); + break; + + case NELSON_POS_CONTROL_HEAT_DISINFECT: + setHeatNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_HEAT ); + break; + + case NELSON_CHEM_DISINFECT: + setChemNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_CHEM ); + break; + + case NELSON_DRAIN_SAMPLES: + setHeatNelsonSupportMode( nelson ); + requestNewOperationMode( DG_MODE_HEAT ); + break; + } + } + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} +#endif + /**@}*/