C2A_Core
|
CCSDS で規定される Space Packet の実装 [詳解]
データ構造 | |
struct | SP_ParamExtractionInfo |
packet からデータを抜き取るときのパラメタ [詳解] | |
マクロ定義 | |
#define | SP_PRM_HDR_LEN (6) |
Packet Primary Header 長 [詳解] | |
列挙型 | |
enum | SP_VER { SP_VER_1 = 0 , SP_VER_UNKNOWN } |
Space Packet Version Number [詳解] | |
enum | SP_TYPE { SP_TYPE_TLM = 0 , SP_TYPE_CMD = 1 } |
Space Packet Type [詳解] | |
enum | SP_2ND_HDR_FLAG { SP_2ND_HDR_FLAG_ABSENT = 0 , SP_2ND_HDR_FLAG_PRESENT = 1 } |
Space Packet Secandary Header Flag [詳解] | |
enum | SP_SEQ_FLAG { SP_SEQ_FLAG_CONT = 0 , SP_SEQ_FLAG_FIRST = 1 , SP_SEQ_FLAG_LAST = 2 , SP_SEQ_FLAG_SINGLE = 3 } |
Space Packet Sequence Flag [詳解] | |
関数 | |
SP_VER | SP_get_ver (const SpacePacket *sp) |
Version No を取得 [詳解] | |
void | SP_set_ver (SpacePacket *sp, SP_VER ver) |
Version No を設定 [詳解] | |
SP_TYPE | SP_get_type (const SpacePacket *sp) |
Packet Type を取得 [詳解] | |
void | SP_set_type (SpacePacket *sp, SP_TYPE type) |
Packet Type を設定 [詳解] | |
SP_2ND_HDR_FLAG | SP_get_2nd_hdr_flag (const SpacePacket *sp) |
Secondary Header Flag を取得 [詳解] | |
void | SP_set_2nd_hdr_flag (SpacePacket *sp, SP_2ND_HDR_FLAG flag) |
Secondary Header Flag を設定 [詳解] | |
APID | SP_get_apid (const SpacePacket *sp) |
APID を取得 [詳解] | |
void | SP_set_apid (SpacePacket *sp, APID apid) |
APID を設定 [詳解] | |
SP_SEQ_FLAG | SP_get_seq_flag (const SpacePacket *sp) |
Sequence Flag を取得 [詳解] | |
void | SP_set_seq_flag (SpacePacket *sp, SP_SEQ_FLAG flag) |
Sequence Flag を設定 [詳解] | |
uint16_t | SP_get_seq_count (const SpacePacket *sp) |
Sequence Count を取得 [詳解] | |
void | SP_set_seq_count (SpacePacket *sp, uint16_t count) |
Sequence Count を設定 [詳解] | |
uint16_t | SP_get_packet_data_len (const SpacePacket *sp) |
Packet Data Length を取得 [詳解] | |
void | SP_set_packet_data_len (SpacePacket *sp, uint16_t len) |
Packet Data Length を設定 [詳解] | |
uint16_t | SP_get_packet_len (const SpacePacket *sp) |
Packet Length を取得 [詳解] | |
void | SP_set_packet_len (SpacePacket *sp, uint16_t len) |
Packet Length を設定 [詳解] | |
void | SP_copy_packet (SpacePacket *dest, const SpacePacket *src) |
SpacePacket をコピー [詳解] | |
void | SP_extract_param_from_packet (const SpacePacket *sp, const SP_ParamExtractionInfo *pei, void *dst) |
packet に格納された param を取得 [詳解] | |
void | SP_insert_param_to_packet (SpacePacket *sp, const SP_ParamExtractionInfo *pei, const void *src) |
packet に param を格納 [詳解] | |
CCSDS で規定される Space Packet の実装
space_packet.h に定義があります。
#define SP_PRM_HDR_LEN (6) |
Packet Primary Header 長
space_packet.h の 43 行目に定義があります。
enum SP_2ND_HDR_FLAG |
Space Packet Secandary Header Flag
列挙値 | |
---|---|
SP_2ND_HDR_FLAG_ABSENT | 0b: Secondary Header Absent |
SP_2ND_HDR_FLAG_PRESENT | 1b: Secondary Header Present |
space_packet.h の 75 行目に定義があります。
enum SP_SEQ_FLAG |
Space Packet Sequence Flag
space_packet.h の 86 行目に定義があります。
enum SP_TYPE |
Space Packet Type
列挙値 | |
---|---|
SP_TYPE_TLM | 0b: TELEMETRY |
SP_TYPE_CMD | 1b: COMMAND |
space_packet.h の 63 行目に定義があります。
enum SP_VER |
Space Packet Version Number
列挙値 | |
---|---|
SP_VER_1 | 000b: Version-1 |
SP_VER_UNKNOWN |
space_packet.h の 51 行目に定義があります。
void SP_copy_packet | ( | SpacePacket * | dest, |
const SpacePacket * | src | ||
) |
SpacePacket をコピー
[in,out] | dest | コピー先 SpacePacket |
[in] | src | コピー元 SpacePacket |
space_packet.c の 165 行目に定義があります。
void SP_extract_param_from_packet | ( | const SpacePacket * | sp, |
const SP_ParamExtractionInfo * | pei, | ||
void * | dst | ||
) |
packet に格納された param を取得
sp[in] | SpacePacket |
pei[in] | SP_ParamExtractionInfo |
dst[out] | 格納先のポインタ |
space_packet.c の 171 行目に定義があります。
SP_2ND_HDR_FLAG SP_get_2nd_hdr_flag | ( | const SpacePacket * | sp | ) |
Secondary Header Flag を取得
sp | SpacePacket |
space_packet.c の 66 行目に定義があります。
APID SP_get_apid | ( | const SpacePacket * | sp | ) |
uint16_t SP_get_packet_data_len | ( | const SpacePacket * | sp | ) |
Packet Data Length を取得
sp | SpacePacket |
space_packet.c の 128 行目に定義があります。
uint16_t SP_get_packet_len | ( | const SpacePacket * | sp | ) |
Packet Length を取得
sp | SpacePacket |
space_packet.c の 152 行目に定義があります。
uint16_t SP_get_seq_count | ( | const SpacePacket * | sp | ) |
Sequence Count を取得
sp | SpacePacket |
space_packet.c の 113 行目に定義があります。
SP_SEQ_FLAG SP_get_seq_flag | ( | const SpacePacket * | sp | ) |
Sequence Flag を取得
sp | SpacePacket |
space_packet.c の 97 行目に定義があります。
SP_TYPE SP_get_type | ( | const SpacePacket * | sp | ) |
SP_VER SP_get_ver | ( | const SpacePacket * | sp | ) |
void SP_insert_param_to_packet | ( | SpacePacket * | sp, |
const SP_ParamExtractionInfo * | pei, | ||
const void * | src | ||
) |
packet に param を格納
sp[in,out] | SpacePacket |
pei[in] | SP_ParamExtractionInfo |
src[in] | 格納元のポインタ |
space_packet.c の 207 行目に定義があります。
void SP_set_2nd_hdr_flag | ( | SpacePacket * | sp, |
SP_2ND_HDR_FLAG | flag | ||
) |
Secondary Header Flag を設定
[in,out] | sp | SpacePacket |
[in] | flag | SP_2ND_HDR_FLAG |
space_packet.c の 75 行目に定義があります。
void SP_set_apid | ( | SpacePacket * | sp, |
APID | apid | ||
) |
APID を設定
[in,out] | sp | SpacePacket |
[in] | apid | APID |
space_packet.c の 90 行目に定義があります。
void SP_set_packet_data_len | ( | SpacePacket * | sp, |
uint16_t | len | ||
) |
Packet Data Length を設定
[in,out] | sp | SpacePacket |
[in] | len | Packet Data Length |
space_packet.c の 138 行目に定義があります。
void SP_set_packet_len | ( | SpacePacket * | sp, |
uint16_t | len | ||
) |
Packet Length を設定
[in,out] | sp | SpacePacket |
[in] | len | Packet Length |
space_packet.c の 158 行目に定義があります。
void SP_set_seq_count | ( | SpacePacket * | sp, |
uint16_t | count | ||
) |
Sequence Count を設定
[in,out] | sp | SpacePacket |
[in] | count | Sequence Count |
space_packet.c の 122 行目に定義があります。
void SP_set_seq_flag | ( | SpacePacket * | sp, |
SP_SEQ_FLAG | flag | ||
) |
Sequence Flag を設定
[in,out] | sp | SpacePacket |
[in] | flag | SP_SEQ_FLAG |
space_packet.c の 106 行目に定義があります。
void SP_set_type | ( | SpacePacket * | sp, |
SP_TYPE | type | ||
) |
Packet Type を設定
[in,out] | sp | SpacePacket |
[in] | type | SP_TYPE |
space_packet.c の 59 行目に定義があります。
void SP_set_ver | ( | SpacePacket * | sp, |
SP_VER | ver | ||
) |
Version No を設定
[in,out] | sp | SpacePacket |
[in] | ver | SP_VER |
space_packet.c の 43 行目に定義があります。