GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > CCSDS / V3-3-0

Constituent: ccsds_pkt     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

CCSDS_pkt_hdr.c File Reference

Function definitions for CCSDS packet header library. More...

#include "CCSDS/CCSDS_pkt.h"
#include "CCSDS_pkt_private.h"

Include dependency graph for CCSDS_pkt_hdr.c:

Include dependency graph

Functions

unsigned int CCSDS_pktHdrCreate (void *pkt, CCSDS_Pkt_Type type, unsigned short apid, CCSDS_Pkt_Seq_Flags seqFlags, unsigned short seqCount, unsigned short length, unsigned int secs, unsigned int fc_ss)
 Create a CCSDS packet header.

unsigned int CCSDS_pktHdrSizeof (CCSDS_Pkt_Type type)
 Get the size of a CCSDS packet header.

unsigned int CCSDS_pktHdrVerify (const void *pkt)
 Verify the prescience of a valid CCSDS packet header.

unsigned int CCSDS_pktHdrSetApid (void *pkt, unsigned short apid)
 Set the application ID value in a CCSDS packet header.

unsigned int CCSDS_pktHdrSetLength (void *pkt, unsigned short length)
 Set the packet length value in a CCSDS packet header.

unsigned int CCSDS_pktHdrSetSeqCount (void *pkt, unsigned short seqCount)
 Set the sequence count value in a CCSDS packet header.

unsigned int CCSDS_pktHdrSetSeqFlags (void *pkt, CCSDS_Pkt_Seq_Flags seqFlags)
 Set the sequence flags value in a CCSDS packet header.

unsigned int CCSDS_pktHdrSetTime (void *pkt, unsigned int sec, unsigned int subSec)
 Set the timestamp value in a CCSDS telemetry packet header.

unsigned int CCSDS_pktHdrSetFuncCode (void *pkt, unsigned short funcCode)
 Set the function code value in a CCSDS command packet header.

unsigned int CCSDS_pktHdrGetLength (const void *pkt, unsigned short *length)
 Get the packet length value in a CCSDS packet header.

unsigned int CCSDS_pktHdrGetType (const void *pkt, unsigned short *type)
 Get the packet type value in a CCSDS packet header.

unsigned int CCSDS_pktHdrGetApid (const void *pkt, unsigned short *apid)
 Get the application ID value in a CCSDS packet header.

unsigned int CCSDS_pktHdrGetSeqCount (const void *pkt, unsigned short *seqCount)
 Get the packet sequence count value in a CCSDS packet header.

unsigned int CCSDS_pktHdrGetSeqFlags (const void *pkt, unsigned short *seqFlags)
 Get the packet grouping value in a CCSDS packet header.

unsigned int CCSDS_pktHdrGetTime (const void *pkt, unsigned int *sec, unsigned int *subSec)
 Get the timestamp value in a CCSDS telemetry packet header.

unsigned int CCSDS_pktHdrGetFuncCode (const void *pkt, unsigned short *funcCode)
 Get the function code value in a CCSDS command packet header.


Detailed Description

Function definitions for CCSDS packet header library.

Author:
D.L. Wood

Function Documentation

unsigned int CCSDS_pktHdrCreate void *  pkt,
CCSDS_Pkt_Type  type,
unsigned short  apid,
CCSDS_Pkt_Seq_Flags  seqFlags,
unsigned short  seqCount,
unsigned short  length,
unsigned int  secs,
unsigned int  fc_ss
 

Create a CCSDS packet header.

Creates a CCSDS packet header in the buffer specified by pkt. The user is resposible for filling in the application data immediately after the start of the packet header. This library only supports packets whose total size is aligned on a 16-bit boundary. The function will fail with error #CSDS_EPKTPARM if the length parameter is not correctly aligned or is too large for the 64 KB limit on packets.

Parameters:
pkt A pointer to the packet header buffer.
type The packet type.
apid The application ID value of the packet.
seqFlags The packet grouping flags.
seqCount The sequence counter for this application ID.
length The length in bytes of the application data to follow the packet header.
secs The time seconds counter value to place in the packet timestamp. This value is ignored if type is CCSDS_PKT_TYPE_CMD.
fc_ss If type is CCSDS_PKT_TYPE_CMD, this is the value of the function code (limit 32767). If type is CCSDS_PKT_TYPE_TELEM, this is the value of the time sub-subseconds counter (limit 999,999).
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrGetApid const void *  pkt,
unsigned short *  apid
 

Get the application ID value in a CCSDS packet header.

Returns the CCSDS packet application ID.

Parameters:
pkt A pointer to the start of the packet buffer.
apid Stores the application ID value.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrGetFuncCode const void *  pkt,
unsigned short *  funcCode
 

Get the function code value in a CCSDS command packet header.

Returns the value of a CCSDS command packet header function code.

Parameters:
pkt A pointer to the start of the packet buffer.
funcCode Stores the function code value.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrGetLength const void *  pkt,
unsigned short *  length
 

Get the packet length value in a CCSDS packet header.

Returns the value of the CCSDS packet header length member. The size of the packet header is taken into account when extracting the actual packet header length member, so that the return value from this function only represents the size of application data following the packet header.

Parameters:
pkt A pointer to the start of the packet buffer.
length Stores the length in bytes of the user application data to following the packet header.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrGetSeqCount const void *  pkt,
unsigned short *  seqCount
 

Get the packet sequence count value in a CCSDS packet header.

Returns the CCSDS packet sequence count.

Parameters:
pkt A pointer to the start of the packet buffer.
seqCount Stores the sequence count value.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrGetSeqFlags const void *  pkt,
unsigned short *  seqFlags
 

Get the packet grouping value in a CCSDS packet header.

Returns the CCSDS packet sequence flags.

Parameters:
pkt A pointer to the start of the packet buffer.
seqFlags Stores the sequence flags value:
CCSDS_PKT_SEQ_FIRST The packet is the first packet in a group. CCSDS_PKT_SEQ_MID The packet is an intermediate packet in a group. CCSDS_PKT_SEQ_LAST The packet is the last packet in a group. CCSDS_PKT_SEQ_NONE The packet is standalone and not part of a group.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrGetTime const void *  pkt,
unsigned int *  sec,
unsigned int *  subSec
 

Get the timestamp value in a CCSDS telemetry packet header.

Returns the value of the CCSDS telemetry packet header timestamp counters. This function always returns an error if the packet is a command packet.

Parameters:
pkt A pointer to the start of the packet buffer.
sec Stores the timestamp seconds counter value.
subSec Stores the timestamp sub-seconds counter value
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrGetType const void *  pkt,
unsigned short *  type
 

Get the packet type value in a CCSDS packet header.

Returns the CCSDS packet header type.

Parameters:
pkt A pointer to the start of the packet buffer.
type Stores the packet type:
CCSDS_PKT_TYPE_CMD The packet is a Telecommand packet.
CCSDS_PKT_TYPE_TELEM The packet is a Telemetry Source packet.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrSetApid void *  pkt,
unsigned short  apid
 

Set the application ID value in a CCSDS packet header.

Assigns the value of the CCSDS packet header application ID member.

Parameters:
pkt A pointer to the start of the packet buffer.
apid The application ID value.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrSetFuncCode void *  pkt,
unsigned short  funcCode
 

Set the function code value in a CCSDS command packet header.

Assigns the value of a CCSDS command packet header function code. This function always returns an error if the packet is a telemetry packet.

Parameters:
pkt A pointer to the start of the packet buffer.
funcCode The function code value to assign (limit 32,767)
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrSetLength void *  pkt,
unsigned short  length
 

Set the packet length value in a CCSDS packet header.

Assigns the value of the CCSDS packet header length member. The length parameter should give the size in bytes of the application data to follow the packet header. This function will account for the header size when assigning the actual packet header length member. This library only supports packets whose total size is aligned on a 16-bit boundary. The function will fail with error #CCSDS_PKT_ERR_PARAM if the length parameter is not correctly aligned or is too large for the 64 KB limit on packets.

Parameters:
pkt A pointer to the start of the packet buffer.
length The length in bytes of the user application data to follow the packet header. Command packets are not allowed to be empty.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrSetSeqCount void *  pkt,
unsigned short  seqCount
 

Set the sequence count value in a CCSDS packet header.

Assigns the value of the CCSDS packet header sequence count member.

Parameters:
pkt A pointer to the start of the packet buffer.
seqCount The sequence counter.
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrSetSeqFlags void *  pkt,
CCSDS_Pkt_Seq_Flags  seqFlags
 

Set the sequence flags value in a CCSDS packet header.

Assigns the value of the CCSDS packet header sequence flags member.

Parameters:
pkt A pointer to the start of the telemetry packet buffer.
seqFlags The sequence flags (one of the CCSDS_Pkt_Seq_Flags values).
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrSetTime void *  pkt,
unsigned int  sec,
unsigned int  subSec
 

Set the timestamp value in a CCSDS telemetry packet header.

Assigns the value of a CCSDS telemetry packet header timestamp. This function always returns an error if the packet is a command packet.

Parameters:
pkt A pointer to the start of the packet buffer.
sec The timestamp seconds counter value.
subSec The timestamp sub-seconds counter value (limit 999,999).
Returns:
A CSDS MSG value.

unsigned int CCSDS_pktHdrSizeof CCSDS_Pkt_Type  type  ) 
 

Get the size of a CCSDS packet header.

Returns the combined size of the CCSDS packet primary and secondary headers. This value must be taken into account when creating a packet buffer in memory or when sending the entire packet (header + application data).

Parameters:
type The packet type.
Returns:
The size in bytes of a CCSDS packet header.

unsigned int CCSDS_pktHdrVerify const void *  pkt  ) 
 

Verify the prescience of a valid CCSDS packet header.

Checks to see if the contents of pkt contain a properly formatted CCSDS packet header.

Parameters:
pkt A pointer to the start of the packet buffer.
Returns:
A CSDS MSG value.


Generated on Sun Dec 12 05:51:36 2004 by doxygen 1.3.3