Index: firmware/App/Modes/ModeService.c =================================================================== diff -u -r499e5de29e706d09f79ba22511068990c4044e84 -rbbf1e3736be03a4f041ace57e0f95e23caf472dd --- firmware/App/Modes/ModeService.c (.../ModeService.c) (revision 499e5de29e706d09f79ba22511068990c4044e84) +++ firmware/App/Modes/ModeService.c (.../ModeService.c) (revision bbf1e3736be03a4f041ace57e0f95e23caf472dd) @@ -1,4 +1,4 @@ -/************************************************************************** +/*********************************************************************//*** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * @@ -17,46 +17,81 @@ #include "OperationModes.h" #include "ModeService.h" +/** + * @addtogroup DGServiceMode + * @{ + */ + +// ********** private definitions ********** + // ********** private data ********** +static DG_SERVICE_STATE_T serviceState = DG_SERVICE_STATE_START; ///< Currently active service state. + // ********** private function prototypes ********** -/************************************************************************* - * @brief initServiceMode +/*********************************************************************//** + * @brief * The initServiceMode function initializes the Service Mode module. * @details * Inputs : none * Outputs : Service Mode module initialized. - * @param none * @return none *************************************************************************/ void initServiceMode( void ) { + serviceState = DG_SERVICE_STATE_START; } -/************************************************************************* - * @brief transitionToServiceMode +/*********************************************************************//** + * @brief * The transitionToServiceMode function prepares for transition to service mode. * @details * Inputs : none * Outputs : - * @param none * @return none *************************************************************************/ void transitionToServiceMode( void ) { } -/************************************************************************* - * @brief execServiceMode +/*********************************************************************//** + * @brief * The execServiceMode function executes the Service Mode state machine. * @details * Inputs : none * Outputs : - * @param none - * @return none + * @return current state. *************************************************************************/ -void execServiceMode( void ) +U32 execServiceMode( void ) { + // execute current service state + switch ( serviceState ) + { + case DG_SERVICE_STATE_START: + break; + + default: + // TODO - s/w fault + serviceState = DG_SERVICE_STATE_START; + break; + } + + return serviceState; } +/*********************************************************************//** + * @brief + * The getCurrentServiceState function returns the current state of the \n + * service mode. + * @details + * Inputs : serviceState + * Outputs : none + * @return the current state of service mode. + *************************************************************************/ +DG_SERVICE_STATE_T getCurrentServiceState( void ) +{ + return serviceState; +} + +/**@}*/