GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > CCSDS / V3-5-0
Constituent: ccsds_pkt_boot     Tag: linux-gcc
#include "CCSDS/CCSDS_msg.h"
Include dependency graph for CCSDS_pkt.h:
This graph shows which files directly or indirectly include this file:
Packet Header 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. | |
Packet Checksum Functions | |
unsigned short | CCSDS_pktChksumCalc (const void *pkt, int size) |
Calculate a packet checksum value. | |
unsigned int | CCSDS_pktChksumInsert (void *pkt, int size) |
Calculate and insert a packet checksum. | |
unsigned int | CCSDS_pktChksumVerify (const void *pkt, int size) |
Verify a packet checksum value. | |
unsigned int | CCSDS_pktChksumSizeof (void) |
Get the size of a CCSDS telecommand packet checksum. | |
Typedefs | |
typedef enum _CCSDS_Pkt_Version | CCSDS_Pkt_Version |
typedef enum _CCSDS_Pkt_Type | CCSDS_Pkt_Type |
typedef enum _CCSDS_Pkt_Sec_Hdr_Flag | CCSDS_Pkt_Sec_Hdr_Flag |
typedef enum _CCSDS_Pkt_Seq_Flags | CCSDS_Pkt_Seq_Flags |
Enumerations | |
enum | _CCSDS_Pkt_Version { CCSDS_PKT_VERSION_1 = 0x0000 } |
enum | _CCSDS_Pkt_Type { CCSDS_PKT_TYPE_TELEM = 0x0000, CCSDS_PKT_TYPE_CMD = 0x1000 } |
enum | _CCSDS_Pkt_Sec_Hdr_Flag { CCSDS_PKT_SEC_HDR_FALSE = 0x0000, CCSDS_PKT_SEC_HDR_TRUE = 0x0800 } |
enum | _CCSDS_Pkt_Seq_Flags { CCSDS_PKT_SEQ_MID = 0x0000, CCSDS_PKT_SEQ_FIRST = 0x4000, CCSDS_PKT_SEQ_LAST = 0x8000, CCSDS_PKT_SEQ_NONE = 0xc000 } |
The specifications for the CCSDS Packet header formats may be found in the following documents:
Telecommand - CCSDS Telecommand Part 3 (203.0-B-1 Blue Book)
Telemetry - CCSDS Packet Telemetry (102.0-B-5 Blue Book)
Time Formats - CCSDS Time Code Formats (301.0-B-2 Blue Book)
GLAST Specific Formats - GLAST LAT - SC Interface Control Document
CCSDS Packet Library User Manual
There is a function CCSDS_pktHdrCreate(), which will create a new packet header in user memory from scratch. All header member values must be specified. For each of the header members, the function CCSDS_pktHdrGetXXX() and CCSDS_pktHdrSetXXX() will selectively retrive or alter an existing CCSDS packet header in user memory. The packet checksum functions are primarily intented for telecommand packets, and implement the checksum algoritm detailed in the SC-LAT ICD.
|
The typedef for _CCSDS_Pkt_Sec_Hdr_Flag. |
|
The typedef for _CCSDS_Pkt_Seq_Flags |
|
The typedef for _CCSDS_Pkt_Type. |
|
The typedef for _CCSDS_Pkt_Version. |
|
CCSDS packet secondary header flag. The functions in this library support using either a 6 byte telemetry secondary header or a 2 byte telecommand secondary header. |
|
CCSDS packet sequence flags. |
|
CCSDS packet type. |
|
CCSDS packet version number. Only CCSDS_PKT_VERSION_1 specifics are supported by the library functions. |
|
Calculate a packet checksum value.
Calculates the value of a packet checksum over a range of packet data. The algorithm is:
|
|
Calculate and insert a packet checksum. Calculates the value of a packet checksum over a range of packet data. The checksum value is inserted at the proper location at the end of the packet application data.
|
Here is the call graph for this function:
|
Get the size of a CCSDS telecommand packet checksum. Returns the size in bytes of a CCSDS telecommand packet checksum word.
|
|
Verify a packet checksum value. Calculates the value of a packet checksum over a range of packet data. The checksum value is compared to the value stored at the end of the packet application data.
|
Here is the call graph for this function:
|
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.
|
|
Get the application ID value in a CCSDS packet header. Returns the CCSDS packet application ID.
|
|
Get the function code value in a CCSDS command packet header. Returns the value of a CCSDS command packet header function code.
|
|
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.
|
|
Get the packet sequence count value in a CCSDS packet header. Returns the CCSDS packet sequence count.
|
|
Get the packet grouping value in a CCSDS packet header. Returns the CCSDS packet sequence flags.
|
|
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.
|
|
Get the packet type value in a CCSDS packet header. Returns the CCSDS packet header type.
|
|
Set the application ID value in a CCSDS packet header. Assigns the value of the CCSDS packet header application ID member.
|
|
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.
|
|
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.
|
|
Set the sequence count value in a CCSDS packet header. Assigns the value of the CCSDS packet header sequence count member.
|
|
Set the sequence flags value in a CCSDS packet header. Assigns the value of the CCSDS packet header sequence flags member.
|
|
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.
|
|
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).
|
|
Verify the prescience of a valid CCSDS packet header. Checks to see if the contents of pkt contain a properly formatted CCSDS packet header.
|