Skip to content

Commit

Permalink
Fix #142, Standardize command responses
Browse files Browse the repository at this point in the history
  • Loading branch information
thnkslprpt committed Sep 27, 2024
1 parent 83ee61a commit 6db7f5d
Show file tree
Hide file tree
Showing 8 changed files with 58 additions and 28 deletions.
7 changes: 4 additions & 3 deletions config/default_sc_fcncodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@
* Successful execution of this command may be verified with
* the following telemetry:
* - #SC_HkTlm_Payload_t.CmdCtr will increment
* - The #SC_DISABLE_RTS_DEB_EID will be sent
* - The #SC_DISABLE_RTS_INF_EID will be sent
*
* \par Error Conditions
* This command may fail for the following reason(s):
Expand Down Expand Up @@ -269,7 +269,7 @@
* Successful execution of this command may be verified with
* the following telemetry:
* - #SC_HkTlm_Payload_t.CmdCtr will increment
* - The #SC_ENABLE_RTS_DEB_EID will be sent
* - The #SC_ENABLE_RTS_INF_EID will be sent
*
* \par Error Conditions
* This command may fail for the following reason(s):
Expand Down 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_DEB_EID will be sent
* - The #SC_CONT_CMD_INF_EID will be sent
*
* \par Error Conditions
* This command may fail for the following reason(s):
Expand Down Expand Up @@ -430,6 +430,7 @@
* \par Command Verification
* Successful execution of this command may be verified via:
* - cFE Table Services housekeeping telemetry
* - The #SC_MANAGE_TABLE_INF_EID will be sent
*
* \par Error Conditions
* This command may fail for the following reason(s):
Expand Down
34 changes: 24 additions & 10 deletions fsw/inc/sc_events.h
Original file line number Diff line number Diff line change
Expand Up @@ -414,13 +414,13 @@
/**
* \brief SC Continue ATS On Failure Command Event ID
*
* \par Type: DEBUG
* \par Type: INFORMATIONAL
*
* \par Cause:
* This event message is issued when the #SC_CONTINUE_ATS_ON_FAILURE_CC command was received and
* the state was changed successfully
*/
#define SC_CONT_CMD_DEB_EID 43
#define SC_CONT_CMD_INF_EID 43

/**
* \brief SC ATS Command Skipped Checksum Failed Event ID
Expand Down Expand Up @@ -503,10 +503,11 @@
/**
* \brief SC Reset Counters Command Event ID
*
* \par Type: DEBUG
* \par Type: INFORMATIONAL
*
* \par Cause:
* This event message is issued when the #SC_RESET_COUNTERS_CC command was received
* This event message is issued when the #SC_RESET_COUNTERS_CC command was
* received
*/
#define SC_RESET_INF_EID 51

Expand Down Expand Up @@ -751,12 +752,13 @@
/**
* \brief SC Disable RTS Command Event ID
*
* \par Type: DEBUG
* \par Type: INFORMATIONAL
*
* \par Cause:
* This event message is issued when a #SC_DISABLE_RTS_CC command was received, and executed successfully
* This event message is issued when a #SC_DISABLE_RTS_CC command was received,
* and executed successfully
*/
#define SC_DISABLE_RTS_DEB_EID 80
#define SC_DISABLE_RTS_INF_EID 80

/**
* \brief SC Disable RTS Rejected RTS ID Invalid Event ID
Expand All @@ -772,12 +774,13 @@
/**
* \brief SC Enable RTS Command ID Event ID
*
* \par Type: DEBUG
* \par Type: INFORMATIONAL
*
* \par Cause:
* This event message is issued when a #SC_ENABLE_RTS_CC command was received, and executed successfully
* This event message is issued when a #SC_ENABLE_RTS_CC command was received,
* and executed successfully
*/
#define SC_ENABLE_RTS_DEB_EID 82
#define SC_ENABLE_RTS_INF_EID 82

/**
* \brief SC Enable RTS Rejected RTS ID Invalid Event ID
Expand Down Expand Up @@ -1351,6 +1354,17 @@
*/
#define SC_AUTOSTART_RTS_INV_ID_ERR_EID 138

/**
* \brief SC Table Manage Request Table ID Invalid Event ID
*
* \par Type: INFORMATION
*
* \par Cause:
* This event message is issued when a #SC_MANAGE_TABLE_CC command was received
* and executed without error
*/
#define SC_MANAGE_TABLE_INF_EID 111

/**\}*/

#endif
3 changes: 2 additions & 1 deletion fsw/src/sc_atsrq.c
Original file line number Diff line number Diff line change
Expand Up @@ -656,7 +656,8 @@ void SC_ContinueAtsOnFailureCmd(const SC_ContinueAtsOnFailureCmd_t *Cmd)

SC_OperData.HkPacket.Payload.CmdCtr++;

CFE_EVS_SendEvent(SC_CONT_CMD_DEB_EID, CFE_EVS_EventType_DEBUG, "Continue-ATS-On-Failure command, State: %lu",
CFE_EVS_SendEvent(SC_CONT_CMD_INF_EID, CFE_EVS_EventType_INFORMATION,
"Continue-ATS-On-Failure command, State: %lu",
(unsigned long)State);
}
}
Expand Down
19 changes: 13 additions & 6 deletions fsw/src/sc_cmds.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@ void SC_ProcessAtpCmd(void)
SC_CommandIndex_t CmdIndex; /* ATS command index */
CFE_Status_t Result;
bool AbortATS = false;
SC_AtsEntry_t * EntryPtr;
SC_AtsEntry_t *EntryPtr;
CFE_SB_MsgId_t MessageID = CFE_SB_INVALID_MSG_ID;
CFE_MSG_FcnCode_t CommandCode = 0;
bool ChecksumValid;
SC_AtsCmdEntryOffsetRecord_t *CmdOffsetRec; /* ATS entry location in table */
SC_AtsCmdStatusEntry_t * StatusEntryPtr;
SC_AtsCmdStatusEntry_t *StatusEntryPtr;

/*
** The following conditions must be met before the ATS command will be
Expand Down Expand Up @@ -289,7 +289,7 @@ void SC_ProcessAtpCmd(void)

void SC_ProcessRtpCommand(void)
{
SC_RtsEntry_t * EntryPtr; /* a pointer to an RTS entry header */
SC_RtsEntry_t *EntryPtr; /* a pointer to an RTS entry header */
SC_RtsIndex_t RtsIndex; /* the RTS index for the cmd */
SC_EntryOffset_t CmdOffset; /* the location of the cmd */
CFE_Status_t Result;
Expand Down Expand Up @@ -518,7 +518,7 @@ void SC_SendHkCmd(const SC_SendHkCmd_t *Cmd)

void SC_ResetCountersCmd(const SC_ResetCountersCmd_t *Cmd)
{
CFE_EVS_SendEvent(SC_RESET_INF_EID, CFE_EVS_EventType_DEBUG, "Reset counters command");
CFE_EVS_SendEvent(SC_RESET_INF_EID, CFE_EVS_EventType_INFORMATION, "Reset counters command");

SC_OperData.HkPacket.Payload.CmdCtr = 0;
SC_OperData.HkPacket.Payload.CmdErrCtr = 0;
Expand Down Expand Up @@ -706,8 +706,8 @@ void SC_ManageTable(SC_TableType type, int32 ArrayIndex)
{
CFE_Status_t Result;
CFE_TBL_Handle_t TblHandle;
uint32 ** TblAddr;
void * TblPtrNew;
uint32 **TblAddr;
void *TblPtrNew;

switch (type)
{
Expand Down Expand Up @@ -750,6 +750,8 @@ void SC_ManageTable(SC_TableType type, int32 ArrayIndex)
{
SC_UpdateAppend();
}

Result = CFE_SUCCESS;
}
else if ((Result != CFE_SUCCESS) && (Result != CFE_TBL_ERR_NEVER_LOADED))
{
Expand All @@ -773,4 +775,9 @@ void SC_ManageTable(SC_TableType type, int32 ArrayIndex)
}
}

if (Result == CFE_SUCCESS)
{
CFE_EVS_SendEvent(SC_MANAGE_TABLE_INF_EID, CFE_EVS_EventType_INFORMATION, "Table manage command.");
}

} /* End SC_ManageTable() */
7 changes: 4 additions & 3 deletions fsw/src/sc_rtsrq.c
Original file line number Diff line number Diff line change
Expand Up @@ -367,8 +367,8 @@ void SC_DisableRtsCmd(const SC_DisableRtsCmd_t *Cmd)
/* update the command status */
SC_OperData.HkPacket.Payload.CmdCtr++;

CFE_EVS_SendEvent(SC_DISABLE_RTS_DEB_EID, CFE_EVS_EventType_DEBUG, "Disabled RTS %03u",
SC_IDNUM_AS_UINT(RtsNum));
CFE_EVS_SendEvent(SC_DISABLE_RTS_INF_EID, CFE_EVS_EventType_INFORMATION,
"Disabled RTS %03u", SC_IDNUM_AS_UINT(RtsNum));
}
else
{ /* it is not a valid RTS id */
Expand Down Expand Up @@ -458,7 +458,8 @@ void SC_EnableRtsCmd(const SC_EnableRtsCmd_t *Cmd)
/* update the command status */
SC_OperData.HkPacket.Payload.CmdCtr++;

CFE_EVS_SendEvent(SC_ENABLE_RTS_DEB_EID, CFE_EVS_EventType_DEBUG, "Enabled RTS %03u", SC_IDNUM_AS_UINT(RtsNum));
CFE_EVS_SendEvent(SC_ENABLE_RTS_INF_EID, CFE_EVS_EventType_INFORMATION,
"Enabled RTS %03u", SC_IDNUM_AS_UINT(RtsNum));
}
else
{ /* it is not a valid RTS id */
Expand Down
6 changes: 4 additions & 2 deletions unit-test/sc_atsrq_tests.c
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,8 @@ void ContinueAtsOnFailureCmd_Test_Nominal(void)
UtAssert_BOOL_TRUE(SC_OperData.HkPacket.Payload.ContinueAtsOnFailureFlag);
UtAssert_True(SC_OperData.HkPacket.Payload.CmdCtr == 1, "SC_OperData.HkPacket.Payload.CmdCtr == 1");

UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID, SC_CONT_CMD_DEB_EID);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID,
SC_CONT_CMD_INF_EID);
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 1);
}

Expand All @@ -974,7 +975,8 @@ void ContinueAtsOnFailureCmd_Test_FalseState(void)
"SC_OperData.HkPacket.Payload.ContinueAtsOnFailureFlag == false");
UtAssert_True(SC_OperData.HkPacket.Payload.CmdCtr == 1, "SC_OperData.HkPacket.Payload.CmdCtr == 1");

UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID, SC_CONT_CMD_DEB_EID);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID,
SC_CONT_CMD_INF_EID);
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 1);
}

Expand Down
4 changes: 3 additions & 1 deletion unit-test/sc_cmds_tests.c
Original file line number Diff line number Diff line change
Expand Up @@ -1306,7 +1306,9 @@ void SC_ProcessCommand_Test_TableManageAtsTableNominal(void)
/* Execute the function being tested */
UtAssert_VOIDCALL(SC_ManageTableCmd(&UT_CmdBuf.ManageTableCmd));

/* This function is already verified to work correctly in another file, so no verifications here. */
/* Verify results */
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID, SC_MANAGE_TABLE_INF_EID);
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 1);
}

void SC_ProcessCommand_Test_TableManageAtsTableGetAddressError(void)
Expand Down
6 changes: 4 additions & 2 deletions unit-test/sc_rtsrq_tests.c
Original file line number Diff line number Diff line change
Expand Up @@ -634,7 +634,8 @@ void SC_DisableRtsCmd_Test_Nominal(void)
UtAssert_True(RtsInfoPtr->DisabledFlag == true, "RtsInfoPtr->DisabledFlag == true");
UtAssert_True(SC_OperData.HkPacket.Payload.CmdCtr == 1, "SC_OperData.HkPacket.Payload.CmdCtr == 1");

UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID, SC_DISABLE_RTS_DEB_EID);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID,
SC_DISABLE_RTS_INF_EID);
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 1);
}

Expand Down Expand Up @@ -802,7 +803,8 @@ void SC_EnableRtsCmd_Test_Nominal(void)
UtAssert_True(RtsInfoPtr->DisabledFlag == false, "RtsInfoPtr->DisabledFlag == false");
UtAssert_True(SC_OperData.HkPacket.Payload.CmdCtr == 1, "SC_OperData.HkPacket.Payload.CmdCtr == 1");

UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID, SC_ENABLE_RTS_DEB_EID);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID,
SC_ENABLE_RTS_INF_EID);
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 1);
}

Expand Down

0 comments on commit 6db7f5d

Please sign in to comment.