Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r0c66a3534801f2ba380e95b732e05b7cfee21772 -rd70d93528b59ef7b09032a3bf4128bee0ff6e297 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 0c66a3534801f2ba380e95b732e05b7cfee21772) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision d70d93528b59ef7b09032a3bf4128bee0ff6e297) @@ -8,7 +8,7 @@ * @file OperationModes.c * * @author (last) Dara Navaei -* @date (last) 21-Dec-2022 +* @date (last) 17-Jan-2023 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -51,13 +51,13 @@ // ********** private data ********** static volatile BOOL modeRequest[ NUM_OF_DG_MODES - 1 ]; ///< Array of mode request flags. -static DG_OP_MODE_T lastMode = DG_MODE_INIT; ///< Last operation mode prior to current mode. -static DG_OP_MODE_T currentMode = DG_MODE_INIT; ///< The currently active mode. -static U32 currentSubMode = 0; ///< The currently active state of the active mode. +static DG_OP_MODE_T lastMode; ///< Last operation mode prior to current mode. +static DG_OP_MODE_T currentMode; ///< The currently active mode. +static U32 currentSubMode; ///< The currently active state of the active mode. /// DG operation mode data publish interval. static OVERRIDE_U32_T dgOpModePublishInterval = { BROADCAST_DG_OP_MODE_INTERVAL, BROADCAST_DG_OP_MODE_INTERVAL, 0, 0 }; static U32 dataPublishCounter; ///< Interval counter used to determine when to broadcast operation mode. Initialize to 11 to stagger broadcast. -static U32 priorSubMode = 0; ///< The prior submode state. +static U32 priorSubMode; ///< The prior submode state. /// This matrix determines legal transitions from one mode to another. static const DG_OP_MODE_T MODE_TRANSITION_TABLE[ NUM_OF_DG_MODES - 1 ][ NUM_OF_DG_MODES - 1 ] = @@ -66,8 +66,8 @@ /* FAUL */{ DG_MODE_FAUL, DG_MODE_SERV, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, /* SERV */{ DG_MODE_FAUL, DG_MODE_SERV, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, /* INIT */{ DG_MODE_FAUL, DG_MODE_NLEG, DG_MODE_INIT, DG_MODE_STAN, DG_MODE_SOLO, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, - /* STAN */{ DG_MODE_FAUL, DG_MODE_SERV, DG_MODE_NLEG, DG_MODE_STAN, DG_MODE_SOLO, DG_MODE_GENE, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_FLUS, DG_MODE_HEAT, DG_MODE_CHEM, DG_MODE_CHFL, DG_MODE_HCOL }, - /* SOLO */{ DG_MODE_FAUL, DG_MODE_SERV, DG_MODE_NLEG, DG_MODE_STAN, DG_MODE_SOLO, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_FLUS, DG_MODE_HEAT, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, + /* STAN */{ DG_MODE_FAUL, DG_MODE_SERV, DG_MODE_INIT, DG_MODE_STAN, DG_MODE_SOLO, DG_MODE_GENE, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_FLUS, DG_MODE_HEAT, DG_MODE_CHEM, DG_MODE_CHFL, DG_MODE_HCOL }, + /* SOLO */{ DG_MODE_FAUL, DG_MODE_SERV, DG_MODE_INIT, DG_MODE_STAN, DG_MODE_SOLO, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_FLUS, DG_MODE_HEAT, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, /* GENE */{ DG_MODE_FAUL, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_STAN, DG_MODE_NLEG, DG_MODE_GENE, DG_MODE_FILL, DG_MODE_DRAI, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, /* FILL */{ DG_MODE_FAUL, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_STAN, DG_MODE_NLEG, DG_MODE_GENE, DG_MODE_FILL, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, /* DRAI */{ DG_MODE_FAUL, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_STAN, DG_MODE_NLEG, DG_MODE_GENE, DG_MODE_NLEG, DG_MODE_DRAI, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG, DG_MODE_NLEG }, @@ -89,7 +89,8 @@ * @brief * The initOperationModes function initializes the operation modes module. * @details Inputs: none - * @details Outputs: Operation modes module initialized + * @details Outputs: modeRequest, lastMode, currentMode, currentSubMode, + * priorSubMode, dataPublishCounter * @return none *************************************************************************/ void initOperationModes( void ) @@ -99,13 +100,14 @@ // initialize mode requests to none pending for ( i = 0; i < ( NUM_OF_DG_MODES - 1 ); i++ ) { - modeRequest[i] = FALSE; + modeRequest[ i ] = FALSE; } // start in init mode - currentMode = DG_MODE_INIT; - currentSubMode = 0; - priorSubMode = 0; + lastMode = DG_MODE_INIT; + currentMode = DG_MODE_INIT; + currentSubMode = 0; + priorSubMode = 0; dataPublishCounter = DATA_PUBLISH_COUNTER_START_COUNT; transitionToNewOperationMode( DG_MODE_INIT ); @@ -247,7 +249,7 @@ if ( newMode < DG_MODE_NLEG ) { // make request - modeRequest[newMode] = TRUE; + modeRequest[ newMode ] = TRUE; } else { // invalid mode requested