Index: firmware/App/Modes/ModeService.c =================================================================== diff -u -rcc398b14ccf518f350b57fb5cb8728e5c908bd1e -r3b70632c04247a6973960e1f37ae73eb4384a6b7 --- firmware/App/Modes/ModeService.c (.../ModeService.c) (revision cc398b14ccf518f350b57fb5cb8728e5c908bd1e) +++ firmware/App/Modes/ModeService.c (.../ModeService.c) (revision 3b70632c04247a6973960e1f37ae73eb4384a6b7) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2022 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * -* @file ModeService.c +* @file ModeService.c * -* @author (last) Sean Nash -* @date (last) 26-May-2020 +* @author (last) Michael Garthwaite +* @date (last) 07-Sep-2022 * -* @author (original) Dara Navaei -* @date (original) 05-Nov-2019 +* @author (original) Dara Navaei +* @date (original) 05-Nov-2019 * ***************************************************************************/ @@ -34,9 +34,8 @@ /*********************************************************************//** * @brief * The initServiceMode function initializes the service mode module. - * @details - * Inputs : none - * Outputs : Service mode module initialized + * @details Inputs: none + * @details Outputs: Service mode module initialized * @return none *************************************************************************/ void initServiceMode( void ) @@ -47,21 +46,24 @@ /*********************************************************************//** * @brief * The transitionToServiceMode function prepares for transition to service mode. - * @details - * Inputs : none - * Outputs : none - * @return none + * @details Inputs: none + * @details Outputs: none + * @return initial state *************************************************************************/ -void transitionToServiceMode( void ) +U32 transitionToServiceMode( void ) { + deenergizeActuators(); + + initServiceMode(); + + return serviceState; } /*********************************************************************//** * @brief * The execServiceMode function executes the service mode state machine. - * @details - * Inputs : none - * Outputs : Service mode state machine executed + * @details Inputs: none + * @details Outputs: Service mode state machine executed * @return current state. *************************************************************************/ U32 execServiceMode( void ) @@ -73,7 +75,7 @@ break; default: - // TODO - s/w fault + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_SERVICE_MODE_INVALID_EXEC_STATE, serviceState ) serviceState = DG_SERVICE_STATE_START; break; } @@ -84,9 +86,8 @@ /*********************************************************************//** * @brief * The getCurrentServiceState function returns the current state of the service mode. - * @details - * Inputs : serviceState - * Outputs : none + * @details Inputs: serviceState + * @details Outputs: none * @return the current state of service mode *************************************************************************/ DG_SERVICE_STATE_T getCurrentServiceState( void )