Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 37 additions & 6 deletions config/default_sc_fcncodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@
* Successful execution of this command may be verified with
* the following telemetry:
* - #SC_HkTlm_Payload_t.CmdCtr will increment
* - The #SC_CONT_CMD_INF_EID will be sent
* - The #SC_CONT_ATS_CMD_INF_EID will be sent
*
* \par Error Conditions
* This command may fail for the following reason(s):
Expand All @@ -378,6 +378,37 @@
*/
#define SC_CONTINUE_ATS_ON_FAILURE_CC 10

/**
* \brief Set the Continue-On-Checksum-Failure flag
*
* \par Description
* Sets the flag which specifies whether or not to continue
* processing an RTS if one of the commands in the RTS fails
* checksum validation before being sent out.
*
* \par Command Structure
* #SC_ContinueRtsOnFailureCmd_t
*
* \par Command Verification
* Successful execution of this command may be verified with
* the following telemetry:
* - #SC_HkTlm_Payload_t.CmdCtr will increment
* - The #SC_CONT_RTS_CMD_INF_EID will be sent
*
* \par Error Conditions
* This command may fail for the following reason(s):
* - Command packet length not as expected
* - Invalid State specified
*
* \par Evidence of failure may be found in the following telemetry:
* - #SC_HkTlm_Payload_t.CmdErrCtr will increment
* - Error specific event message
*
* \par Criticality
* None
*/
#define SC_CONTINUE_RTS_ON_FAILURE_CC 12

/**
* \brief Append to an ATS table
*
Expand Down Expand Up @@ -443,7 +474,7 @@
* \par Criticality
* None
*/
#define SC_MANAGE_TABLE_CC 12
#define SC_MANAGE_TABLE_CC 13

/**
* \brief START a group of RTS
Expand Down Expand Up @@ -484,7 +515,7 @@
*
* \sa #SC_STOP_RTS_GRP_CC
*/
#define SC_START_RTS_GRP_CC 13
#define SC_START_RTS_GRP_CC 14

/**
* \brief STOP a group of RTS
Expand Down Expand Up @@ -524,7 +555,7 @@
*
* \sa #SC_START_RTS_GRP_CC
*/
#define SC_STOP_RTS_GRP_CC 14
#define SC_STOP_RTS_GRP_CC 15

/**
* \brief DISABLE a group of RTS
Expand Down Expand Up @@ -562,7 +593,7 @@
*
* \sa #SC_ENABLE_RTS_GRP_CC
*/
#define SC_DISABLE_RTS_GRP_CC 15
#define SC_DISABLE_RTS_GRP_CC 16

/**
* \brief ENABLE a group of RTS
Expand Down Expand Up @@ -600,7 +631,7 @@
*
* \sa #SC_DISABLE_RTS_GRP_CC
*/
#define SC_ENABLE_RTS_GRP_CC 16
#define SC_ENABLE_RTS_GRP_CC 17

/**\}*/

Expand Down
14 changes: 13 additions & 1 deletion config/default_sc_internal_cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,19 @@
* \par Limits:
* Must be SC_AtsCont_TRUE or SC_AtsCont_FALSE
*/
#define SC_CONT_ON_FAILURE_START SC_AtsCont_TRUE
#define SC_CONT_ON_ATS_FAILURE_START SC_AtsCont_TRUE

/**
* \brief Defines default state of Continue-Rts-On-Checksum-Failure Flag
*
* \par Description:
* This parameter specifies the default state to continue an RTS
* when a command in the RTS fails checksum validation
*
* \par Limits:
* Must be SC_RtsCont_TRUE or SC_RtsCont_FALSE
*/
#define SC_CONT_ON_RTS_FAILURE_START SC_RtsCont_TRUE

/**
* \brief Defines the TIME SC should use for its commands
Expand Down
24 changes: 22 additions & 2 deletions config/default_sc_msgdefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ typedef uint8 SC_TimeRef_Enum_t;
#define SC_INVALID_RTS_NUMBER 0 /**< \brief Invalid RTS number */

/**
* SC Continue After Failure Enumeration
* SC Continue ATS After Failure Enumeration
*/
enum SC_AtsCont
{
Expand All @@ -165,6 +165,17 @@ enum SC_AtsCont

typedef uint8 SC_AtsCont_Enum_t;

/**
* SC Continue RTS After Failure Enumeration
*/
enum SC_RtsCont
{
SC_RtsCont_FALSE = false, /**< \brief Do not continue RTS on failure */
SC_RtsCont_TRUE = true /**< \brief Continue RTS on failure */
};

typedef uint8 SC_RtsCont_Enum_t;

#ifndef SC_OMIT_DEPRECATED
/**
* \name Old-style SC Continue Flags
Expand Down Expand Up @@ -192,10 +203,10 @@ typedef struct
SC_AtsId_Enum_t CurrAtsId; /**< \brief Current ATS number: 1 = ATS A, 2 = ATS B */
SC_Status_Enum_t AtpState; /**< \brief Current ATP state: 2 = IDLE, 5 = EXECUTING */
SC_AtsCont_Enum_t ContinueAtsOnFailureFlag; /**< \brief Continue ATS execution on failure flag */
SC_RtsCont_Enum_t ContinueRtsOnFailureFlag; /**< \brief Continue RTS execution on checksum failure flag */

uint8 CmdErrCtr; /**< \brief Counts Request Errors */
uint8 CmdCtr; /**< \brief Counts Ground Requests */
uint8 Padding8; /**< \brief Structure padding */

uint16 SwitchPendFlag; /**< \brief Switch pending flag: 0 = NO, 1 = YES */
uint16 NumRtsActive; /**< \brief Number of RTSs currently active */
Expand Down Expand Up @@ -277,6 +288,15 @@ typedef struct
uint16 Padding; /**< \brief Structure Padding */
} SC_SetContinueAtsOnFailureCmd_Payload_t;

/**
* \brief Continue RTS on failure command Payload
*/
typedef struct
{
SC_RtsCont_Enum_t ContinueState; /**< \brief true or false, to continue RTS after a failure */
uint16 Padding; /**< \brief Structure Padding */
} SC_SetContinueRtsOnFailureCmd_Payload_t;

/**
* \brief Append to ATS Command Payload
*/
Expand Down
11 changes: 11 additions & 0 deletions config/default_sc_msgstruct.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,17 @@ typedef struct
SC_SetContinueAtsOnFailureCmd_Payload_t Payload;
} SC_ContinueAtsOnFailureCmd_t;

/**
* \brief Continue RTS on failure command
*
* For command details see #SC_CONTINUE_RTS_ON_FAILURE_CC
*/
typedef struct
{
CFE_MSG_CommandHeader_t CommandHeader; /**< \brief Command Header */
SC_SetContinueRtsOnFailureCmd_Payload_t Payload;
} SC_ContinueRtsOnFailureCmd_t;

/**
* \brief Manage Table Command
*
Expand Down
Loading
Loading