Index: firmware/App/Modes/ModeService.c =================================================================== diff -u -r499e5de29e706d09f79ba22511068990c4044e84 -rc48a99d2d1c852adcc986253b6c420a90dab7bfe --- firmware/App/Modes/ModeService.c (.../ModeService.c) (revision 499e5de29e706d09f79ba22511068990c4044e84) +++ firmware/App/Modes/ModeService.c (.../ModeService.c) (revision c48a99d2d1c852adcc986253b6c420a90dab7bfe) @@ -1,4 +1,4 @@ -/************************************************************************** +/*********************************************************************//*** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * @@ -17,46 +17,72 @@ #include "OperationModes.h" #include "ModeService.h" +/** + * @addtogroup ServiceMode + * @{ + */ + +// ********** private definitions ********** + +/// Enumeration of service mode states. +typedef enum Service_States +{ + SERVICE_STATE_START = 0, ///< Start service mode state. + NUM_OF_SERVICE_STATES ///< Number of service mode states. +} SERVICE_STATE_T; + // ********** private data ********** +static SERVICE_STATE_T serviceState = 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 = 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 *************************************************************************/ void execServiceMode( void ) { + // execute current service state + switch ( serviceState ) + { + case SERVICE_STATE_START: + break; + + default: + serviceState = SERVICE_STATE_START; + // TODO - s/w fault + break; + } } +/**@}*/