Skip to content

Commit

Permalink
Fix nasa#711, Update to use new APIs
Browse files Browse the repository at this point in the history
  • Loading branch information
skliper committed Aug 7, 2020
1 parent 9627ce0 commit 2040c08
Showing 1 changed file with 31 additions and 35 deletions.
66 changes: 31 additions & 35 deletions fsw/cfe-core/src/sb/cfe_sb_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@ void CFE_SB_InitMsg(void *MsgPtr,

} /* end CFE_SB_InitMsg */

/* TODO deprecate */
#if 0
/******************************************************************************
** Function: CFE_SB_MsgHdrSize()
**
Expand All @@ -72,27 +70,29 @@ void CFE_SB_InitMsg(void *MsgPtr,
uint16 CFE_SB_MsgHdrSize(const CFE_SB_Msg_t *MsgPtr)
{

uint16 size;
const CCSDS_PriHdr_t *HdrPtr;
uint16 size = 0;
bool hassechdr = false;
CFE_MSG_Type_t type = CFE_MSG_Type_Invalid;

HdrPtr = (const CCSDS_PriHdr_t *) MsgPtr;
CFE_MSG_GetHasSecondaryHeader(MsgPtr, &hassechdr);
CFE_MSG_GetType(MsgPtr, &type);

/* if secondary hdr is not present... */
/* Since all cFE messages must have a secondary hdr this check is not needed */
if(CCSDS_RD_SHDR(*HdrPtr) == 0){
size = sizeof(CCSDS_PriHdr_t);

}else if(CCSDS_RD_TYPE(*HdrPtr) == CCSDS_CMD){

size = CFE_SB_CMD_HDR_SIZE;

}else{

size = CFE_SB_TLM_HDR_SIZE;

if(!hassechdr)
{
size = sizeof(CCSDS_SpacePacket_t);
}
else if(type == CFE_MSG_Type_Cmd)
{
size = sizeof(CFE_MSG_CommandHeader_t);
}
else if(type == CFE_MSG_Type_Tlm)
{
size = sizeof(CFE_MSG_TelemetryHeader_t);
}

return size;
return size;

}/* end CFE_SB_MsgHdrSize */

Expand All @@ -117,10 +117,10 @@ void *CFE_SB_GetUserData(CFE_SB_MsgPtr_t MsgPtr)
*/
uint16 CFE_SB_GetUserDataLength(const CFE_SB_Msg_t *MsgPtr)
{
uint16 TotalMsgSize;
uint32 TotalMsgSize;
uint16 HdrSize;

TotalMsgSize = CFE_SB_GetTotalMsgLength(MsgPtr);
CFE_MSG_GetSize(MsgPtr, &TotalMsgSize);
HdrSize = CFE_SB_MsgHdrSize(MsgPtr);

return (TotalMsgSize - HdrSize);
Expand All @@ -136,10 +136,10 @@ void CFE_SB_SetUserDataLength(CFE_SB_MsgPtr_t MsgPtr, uint16 DataLength)

HdrSize = CFE_SB_MsgHdrSize(MsgPtr);
TotalMsgSize = HdrSize + DataLength;
CCSDS_WR_LEN(MsgPtr->Hdr,TotalMsgSize);

CFE_MSG_SetSize(MsgPtr, TotalMsgSize);

}/* end CFE_SB_SetUserDataLength */
#endif

/*
* Function: CFE_SB_GetTotalMsgLength - See API and header file for details
Expand All @@ -149,7 +149,6 @@ uint16 CFE_SB_GetTotalMsgLength(const CFE_SB_Msg_t *MsgPtr)

CFE_MSG_Size_t size;

/* Doesn't check return, TODO deprecate self */
CFE_MSG_GetSize(MsgPtr, &size);

/* Known bug that this API can't return maximum ccsds size */
Expand All @@ -164,7 +163,6 @@ uint16 CFE_SB_GetTotalMsgLength(const CFE_SB_Msg_t *MsgPtr)
void CFE_SB_SetTotalMsgLength(CFE_SB_MsgPtr_t MsgPtr,uint16 TotalLength)
{

/* Doesn't check return, TODO deprecate self */
CFE_MSG_SetSize(MsgPtr, TotalLength);

}/* end CFE_SB_SetTotalMsgLength */
Expand All @@ -175,7 +173,7 @@ void CFE_SB_SetTotalMsgLength(CFE_SB_MsgPtr_t MsgPtr,uint16 TotalLength)
*/
CFE_TIME_SysTime_t CFE_SB_GetMsgTime(CFE_SB_MsgPtr_t MsgPtr)
{
CFE_TIME_SysTime_t TimeFromMsg;
CFE_TIME_SysTime_t TimeFromMsg = {0};

CFE_MSG_GetMsgTime(MsgPtr, &TimeFromMsg);

Expand Down Expand Up @@ -231,28 +229,27 @@ int32 CFE_SB_SetCmdCode(CFE_SB_MsgPtr_t MsgPtr,

}/* end CFE_SB_SetCmdCode */

/* TODO remove */
#if 0
/*
* Function: CFE_SB_GetChecksum - See API and header file for details
*/
uint16 CFE_SB_GetChecksum(CFE_SB_MsgPtr_t MsgPtr)
{

CFE_SB_CmdHdr_t *CmdHdrPtr;
CFE_MSG_Type_t type = CFE_MSG_Type_Invalid;
bool hassechdr = false;

CFE_MSG_GetHasSecondaryHeader(MsgPtr, &hassechdr);
CFE_MSG_GetType(MsgPtr, &type);

/* if msg type is telemetry or there is no secondary hdr... */
if((CCSDS_RD_TYPE(MsgPtr->Hdr) == CCSDS_TLM)||(CCSDS_RD_SHDR(MsgPtr->Hdr) == 0)){
if((type == CFE_MSG_Type_Tlm)||(!hassechdr))
{
return 0;
}/* end if */

/* cast the input pointer to a Cmd Msg pointer */
CmdHdrPtr = (CFE_SB_CmdHdr_t *)MsgPtr;

return CCSDS_RD_CHECKSUM(CmdHdrPtr->Cmd.Sec);
return ((CFE_MSG_CommandHeader_t*)MsgPtr)->Sec.Checksum;

}/* end CFE_SB_GetChecksum */
#endif

/*
* Function: CFE_SB_GenerateChecksum - See API and header file for details
Expand All @@ -270,15 +267,14 @@ void CFE_SB_GenerateChecksum(CFE_SB_MsgPtr_t MsgPtr)
*/
bool CFE_SB_ValidateChecksum(CFE_SB_MsgPtr_t MsgPtr)
{
bool isvalid;
bool isvalid = false;

CFE_MSG_ValidateChecksum(MsgPtr, &isvalid);

return isvalid;

}/* end CFE_SB_ValidateChecksum */


/*
* Function: CFE_SB_MessageStringGet - See API and header file for details
*/
Expand Down

0 comments on commit 2040c08

Please sign in to comment.