Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #28, Opaque CFE_SB_MsgId_t values #29

Merged
merged 1 commit into from
May 11, 2020
Merged
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
32 changes: 16 additions & 16 deletions fsw/platform_inc/to_lab_sub_table.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@
static TO_subscription_t TO_SubTable[] =
{
/* CFS App Subscriptions */
{TO_LAB_HK_TLM_MID, {0,0}, 4},
{TO_LAB_DATA_TYPES_MID, {0,0}, 4},
{CI_LAB_HK_TLM_MID, {0,0}, 4},
{SAMPLE_APP_HK_TLM_MID, {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(TO_LAB_HK_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(TO_LAB_DATA_TYPES_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CI_LAB_HK_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(SAMPLE_APP_HK_TLM_MID), {0,0}, 4},

#if 0
/* Add these if needed */
Expand All @@ -65,18 +65,18 @@ static TO_subscription_t TO_SubTable[] =
#endif

/* cFE Core subscriptions */
{CFE_ES_HK_TLM_MID, {0,0}, 4},
{CFE_EVS_HK_TLM_MID, {0,0}, 4},
{CFE_SB_HK_TLM_MID, {0,0}, 4},
{CFE_TBL_HK_TLM_MID, {0,0}, 4},
{CFE_TIME_HK_TLM_MID, {0,0}, 4},
{CFE_TIME_DIAG_TLM_MID, {0,0}, 4},
{CFE_SB_STATS_TLM_MID, {0,0}, 4},
{CFE_TBL_REG_TLM_MID, {0,0}, 4},
{CFE_EVS_LONG_EVENT_MSG_MID, {0,0}, 32},
{CFE_ES_SHELL_TLM_MID, {0,0}, 32},
{CFE_ES_APP_TLM_MID, {0,0}, 4},
{CFE_ES_MEMSTATS_TLM_MID, {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_ES_HK_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_EVS_HK_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_SB_HK_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_TBL_HK_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_TIME_HK_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_TIME_DIAG_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_SB_STATS_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_TBL_REG_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_EVS_LONG_EVENT_MSG_MID), {0,0}, 32},
{CFE_SB_MSGID_WRAP_VALUE(CFE_ES_SHELL_TLM_MID), {0,0}, 32},
{CFE_SB_MSGID_WRAP_VALUE(CFE_ES_APP_TLM_MID), {0,0}, 4},
{CFE_SB_MSGID_WRAP_VALUE(CFE_ES_MEMSTATS_TLM_MID), {0,0}, 4},

{TO_UNUSED, {0,0}, 0},
{TO_UNUSED, {0,0}, 0},
Expand Down
28 changes: 16 additions & 12 deletions fsw/src/to_lab_app.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ void TO_LAB_init(void)
/* Subscriptions for TLM pipe*/
for (i=0; (i < (sizeof(TO_SubTable)/sizeof(TO_subscription_t))); i++)
{
if(TO_SubTable[i].Stream != TO_UNUSED )
if(CFE_SB_IsValidMsgId(TO_SubTable[i].Stream))
status = CFE_SB_SubscribeEx(TO_SubTable[i].Stream,
TO_LAB_Global.Tlm_pipe,
TO_SubTable[i].Flags,
Expand All @@ -223,7 +223,7 @@ void TO_LAB_init(void)
if (status != CFE_SUCCESS)
CFE_EVS_SendEvent(TO_SUBSCRIBE_ERR_EID,CFE_EVS_EventType_ERROR,
"L%d TO Can't subscribe to stream 0x%x status %i", __LINE__,
TO_SubTable[i].Stream,(int)status);
(unsigned int)CFE_SB_MsgIdToValue(TO_SubTable[i].Stream),(int)status);
}

/*
Expand Down Expand Up @@ -286,7 +286,7 @@ void TO_LAB_process_commands(void)

MsgId = CFE_SB_GetMsgId(MsgPtr);
/* For SB return statuses that imply a message: process it. */
switch (MsgId)
switch (CFE_SB_MsgIdToValue(MsgId))
{
case TO_LAB_CMD_MID:
TO_LAB_exec_local_command(MsgPtr);
Expand All @@ -298,7 +298,8 @@ void TO_LAB_process_commands(void)

default:
CFE_EVS_SendEvent(TO_MSGID_ERR_EID,CFE_EVS_EventType_ERROR,
"L%d TO: Invalid Msg ID Rcvd 0x%x",__LINE__,MsgId);
"L%d TO: Invalid Msg ID Rcvd 0x%x",__LINE__,
(unsigned int)CFE_SB_MsgIdToValue(MsgId));
break;
}
break;
Expand Down Expand Up @@ -483,11 +484,12 @@ int32 TO_LAB_AddPacket(const TO_LAB_AddPacket_t *data)
if(status != CFE_SUCCESS)
CFE_EVS_SendEvent(TO_ADDPKT_ERR_EID,CFE_EVS_EventType_ERROR,
"L%d TO Can't subscribe 0x%x status %i",__LINE__,
pCmd->Stream, (int)status);
(unsigned int)CFE_SB_MsgIdToValue(pCmd->Stream),
(int)status);
else
CFE_EVS_SendEvent(TO_ADDPKT_INF_EID,CFE_EVS_EventType_INFORMATION,
"L%d TO AddPkt 0x%x, QoS %d.%d, limit %d",__LINE__,
pCmd->Stream,
(unsigned int)CFE_SB_MsgIdToValue(pCmd->Stream),
pCmd->Flags.Priority,
pCmd->Flags.Reliability,
pCmd->BufLimit);
Expand All @@ -510,10 +512,12 @@ int32 TO_LAB_RemovePacket(const TO_LAB_RemovePacket_t *data)
if(status != CFE_SUCCESS)
CFE_EVS_SendEvent(TO_REMOVEPKT_ERR_EID,CFE_EVS_EventType_ERROR,
"L%d TO Can't Unsubscribe to Stream 0x%x on pipe %d, status %i",__LINE__,
pCmd->Stream, TO_LAB_Global.Tlm_pipe, (int)status);
(unsigned int)CFE_SB_MsgIdToValue(pCmd->Stream),
TO_LAB_Global.Tlm_pipe, (int)status);
else
CFE_EVS_SendEvent(TO_REMOVEPKT_INF_EID,CFE_EVS_EventType_INFORMATION,
"L%d TO RemovePkt 0x%x",__LINE__, pCmd->Stream);
"L%d TO RemovePkt 0x%x",__LINE__,
(unsigned int)CFE_SB_MsgIdToValue(pCmd->Stream));
++TO_LAB_Global.HkBuf.HkTlm.Payload.CommandCounter;
return CFE_SUCCESS;
} /* End of TO_LAB_RemovePacket() */
Expand All @@ -530,14 +534,14 @@ int32 TO_LAB_RemoveAll(const TO_LAB_RemoveAll_t *data)

for (i=0; (i < (sizeof(TO_SubTable)/sizeof(TO_subscription_t))); i++)
{
if (TO_SubTable[i].Stream != TO_UNUSED )
if (CFE_SB_IsValidMsgId(TO_SubTable[i].Stream))
{
status = CFE_SB_Unsubscribe(TO_SubTable[i].Stream, TO_LAB_Global.Tlm_pipe);

if(status != CFE_SUCCESS)
CFE_EVS_SendEvent(TO_REMOVEALLPTKS_ERR_EID,CFE_EVS_EventType_ERROR,
"L%d TO Can't Unsubscribe to stream 0x%x status %i", __LINE__,
TO_SubTable[i].Stream, (int)status);
(unsigned int)CFE_SB_MsgIdToValue(TO_SubTable[i].Stream), (int)status);
}
}

Expand All @@ -546,13 +550,13 @@ int32 TO_LAB_RemoveAll(const TO_LAB_RemoveAll_t *data)
if(status != CFE_SUCCESS)
CFE_EVS_SendEvent(TO_REMOVECMDTO_ERR_EID,CFE_EVS_EventType_ERROR,
"L%d TO Can't Unsubscribe to cmd stream 0x%x status %i", __LINE__,
TO_LAB_CMD_MID, (int)status);
(unsigned int)CFE_SB_MsgIdToValue(TO_LAB_CMD_MID), (int)status);

status = CFE_SB_Unsubscribe(TO_LAB_SEND_HK_MID, TO_LAB_Global.Cmd_pipe);
if (status != CFE_SUCCESS)
CFE_EVS_SendEvent(TO_REMOVEHKTO_ERR_EID,CFE_EVS_EventType_ERROR,
"L%d TO Can't Unsubscribe to cmd stream 0x%x status %i", __LINE__,
TO_LAB_CMD_MID, (int)status);
(unsigned int)CFE_SB_MsgIdToValue(TO_LAB_CMD_MID), (int)status);

CFE_EVS_SendEvent(TO_REMOVEALLPKTS_INF_EID,CFE_EVS_EventType_INFORMATION,
"L%d TO Unsubscribed to all Commands and Telemetry", __LINE__);
Expand Down
2 changes: 1 addition & 1 deletion fsw/src/to_lab_app.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
/*****************************************************************************/

#define TO_TASK_MSEC 500 /* run at 2 Hz */
#define TO_UNUSED 0
#define TO_UNUSED CFE_SB_MSGID_RESERVED

#define cfgTLM_ADDR "192.168.1.81"
#define cfgTLM_PORT 1235
Expand Down