C2A_Core
|
CCSDS で規定される Space Packet の テレメ版の実装 [詳解]
マクロ定義 | |
#define | TSP_CAST_TO_SP(tsp) ((const SpacePacket*)(tsp)) |
SPへのキャスト. SPのほうが広いので,これは可能 [詳解] | |
#define | TSP_CAST_TO_NON_CONST_SP(tsp) ((SpacePacket*)(tsp)) |
SPへのキャスト. SPのほうが広いので,これは可能 [詳解] | |
関数 | |
SP_VER | TSP_get_ver (const TlmSpacePacket *tsp) |
Version No を取得 [詳解] | |
void | TSP_set_ver (TlmSpacePacket *tsp, SP_VER ver) |
Version No を設定 [詳解] | |
SP_TYPE | TSP_get_type (const TlmSpacePacket *tsp) |
Packet Type を取得 [詳解] | |
void | TSP_set_type (TlmSpacePacket *tsp, SP_TYPE type) |
Packet Type を設定 [詳解] | |
SP_2ND_HDR_FLAG | TSP_get_2nd_hdr_flag (const TlmSpacePacket *tsp) |
Secondary Header Flag を取得 [詳解] | |
void | TSP_set_2nd_hdr_flag (TlmSpacePacket *tsp, SP_2ND_HDR_FLAG flag) |
Secondary Header Flag を設定 [詳解] | |
APID | TSP_get_apid (const TlmSpacePacket *tsp) |
APID を取得 [詳解] | |
void | TSP_set_apid (TlmSpacePacket *tsp, APID apid) |
APID を設定 [詳解] | |
SP_SEQ_FLAG | TSP_get_seq_flag (const TlmSpacePacket *tsp) |
Sequence Flag を取得 [詳解] | |
void | TSP_set_seq_flag (TlmSpacePacket *tsp, SP_SEQ_FLAG flag) |
Sequence Flag を設定 [詳解] | |
uint16_t | TSP_get_seq_count (const TlmSpacePacket *tsp) |
Sequence Count を取得 [詳解] | |
void | TSP_set_seq_count (TlmSpacePacket *tsp, uint16_t count) |
Sequence Count を設定 [詳解] | |
uint16_t | TSP_get_packet_data_len (const TlmSpacePacket *tsp) |
Packet Data Length を取得 [詳解] | |
void | TSP_set_packet_data_len (TlmSpacePacket *tsp, uint16_t len) |
Packet Data Length を設定 [詳解] | |
TSP_2ND_HDR_VER | TSP_get_2nd_hdr_ver (const TlmSpacePacket *tsp) |
Secondary Header Version No を取得 [詳解] | |
void | TSP_set_2nd_hdr_ver (TlmSpacePacket *tsp, TSP_2ND_HDR_VER ver) |
Secondary Header Version No を設定 [詳解] | |
uint32_t | TSP_get_board_time (const TlmSpacePacket *tsp) |
Board Time を取得 [詳解] | |
void | TSP_set_board_time (TlmSpacePacket *tsp, uint32_t time) |
Board Time を設定 [詳解] | |
double | TSP_get_global_time (const TlmSpacePacket *tsp) |
Global Time を取得 [詳解] | |
void | TSP_set_global_time (TlmSpacePacket *tsp, double time) |
Global Time を設定 [詳解] | |
uint32_t | TSP_get_on_board_subnet_time (const TlmSpacePacket *tsp) |
On-Board Subnetwork Time を取得 [詳解] | |
void | TSP_set_on_board_subnet_time (TlmSpacePacket *tsp, uint32_t time) |
On-Board Subnetwork Time を設定 [詳解] | |
TLM_CODE | TSP_get_tlm_id (const TlmSpacePacket *tsp) |
Tlm ID を取得 [詳解] | |
void | TSP_set_tlm_id (TlmSpacePacket *tsp, TLM_CODE id) |
Tlm ID を設定 [詳解] | |
ctp_dest_flags_t | TSP_get_dest_flags (const TlmSpacePacket *tsp) |
Destination Flags を取得 [詳解] | |
void | TSP_set_dest_flags (TlmSpacePacket *tsp, ctp_dest_flags_t flags) |
Destination Flags を設定 [詳解] | |
uint8_t | TSP_get_dest_info (const TlmSpacePacket *tsp) |
Dest Info を取得 [詳解] | |
void | TSP_set_dest_info (TlmSpacePacket *tsp, uint8_t info) |
Dest Info を設定 [詳解] | |
uint16_t | TSP_get_packet_len (const TlmSpacePacket *tsp) |
Packet Length を取得 [詳解] | |
void | TSP_set_packet_len (TlmSpacePacket *tsp, uint16_t len) |
Packet Length を設定 [詳解] | |
void | TSP_copy_packet (TlmSpacePacket *dest, const TlmSpacePacket *src) |
TlmSpacePacket をコピー [詳解] | |
uint8_t * | TSP_get_user_data_head (const TlmSpacePacket *tsp) |
User Data Field の先頭ポインタを取得 [詳解] | |
void | TSP_setup_primary_hdr (TlmSpacePacket *tsp, APID apid, uint16_t seq_count, uint16_t packet_len) |
Primary Header を構築 [詳解] | |
void | TSP_set_common_hdr (TlmSpacePacket *tsp) |
共通部分の Header を構築 [詳解] | |
void | TSP_setup_fill_packet (TlmSpacePacket *tsp, uint16_t fill_size) |
パケット全体を 0x00 クリアし, fill_size に等しいサイズのパケットを生成する [詳解] | |
変数 | |
static const SP_ParamExtractionInfo | TSP_pei_2nd_hdr_ver_ = { 6, 0xff, 0, 1} |
static const SP_ParamExtractionInfo | TSP_pei_board_time_ = { 7, 0xff, 0, 4} |
static const SP_ParamExtractionInfo | TSP_pei_tlm_id_ = {11, 0xff, 0, 1} |
static const SP_ParamExtractionInfo | TSP_pei_global_time_ = {12, 0xff, 0, 8} |
static const SP_ParamExtractionInfo | TSP_pei_ob_sn_time_ = {20, 0xff, 0, 4} |
static const SP_ParamExtractionInfo | TSP_pei_dest_flags_ = {24, 0xff, 0, 1} |
static const SP_ParamExtractionInfo | TSP_pei_dest_info_ = {25, 0x0f, 0, 1} |
CCSDS で規定される Space Packet の テレメ版の実装
C ではテンプレートが使えないため,別で定義する
tlm_space_packet.c に定義があります。
#define TSP_CAST_TO_NON_CONST_SP | ( | tsp | ) | ((SpacePacket*)(tsp)) |
SPへのキャスト. SPのほうが広いので,これは可能
tlm_space_packet.c の 13 行目に定義があります。
#define TSP_CAST_TO_SP | ( | tsp | ) | ((const SpacePacket*)(tsp)) |
SPへのキャスト. SPのほうが広いので,これは可能
tlm_space_packet.c の 12 行目に定義があります。
void TSP_copy_packet | ( | TlmSpacePacket * | dest, |
const TlmSpacePacket * | src | ||
) |
TlmSpacePacket をコピー
[in,out] | dest | コピー先 TlmSpacePacket |
[in] | src | コピー元 TlmSpacePacket |
tlm_space_packet.c の 249 行目に定義があります。
SP_2ND_HDR_FLAG TSP_get_2nd_hdr_flag | ( | const TlmSpacePacket * | tsp | ) |
Secondary Header Flag を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 53 行目に定義があります。
TSP_2ND_HDR_VER TSP_get_2nd_hdr_ver | ( | const TlmSpacePacket * | tsp | ) |
Secondary Header Version No を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 117 行目に定義があります。
APID TSP_get_apid | ( | const TlmSpacePacket * | tsp | ) |
uint32_t TSP_get_board_time | ( | const TlmSpacePacket * | tsp | ) |
ctp_dest_flags_t TSP_get_dest_flags | ( | const TlmSpacePacket * | tsp | ) |
Destination Flags を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 203 行目に定義があります。
uint8_t TSP_get_dest_info | ( | const TlmSpacePacket * | tsp | ) |
double TSP_get_global_time | ( | const TlmSpacePacket * | tsp | ) |
Global Time を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 157 行目に定義があります。
uint32_t TSP_get_on_board_subnet_time | ( | const TlmSpacePacket * | tsp | ) |
On-Board Subnetwork Time を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 172 行目に定義があります。
uint16_t TSP_get_packet_data_len | ( | const TlmSpacePacket * | tsp | ) |
Packet Data Length を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 101 行目に定義があります。
uint16_t TSP_get_packet_len | ( | const TlmSpacePacket * | tsp | ) |
Packet Length を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 237 行目に定義があります。
uint16_t TSP_get_seq_count | ( | const TlmSpacePacket * | tsp | ) |
Sequence Count を取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 89 行目に定義があります。
SP_SEQ_FLAG TSP_get_seq_flag | ( | const TlmSpacePacket * | tsp | ) |
TLM_CODE TSP_get_tlm_id | ( | const TlmSpacePacket * | tsp | ) |
SP_TYPE TSP_get_type | ( | const TlmSpacePacket * | tsp | ) |
uint8_t* TSP_get_user_data_head | ( | const TlmSpacePacket * | tsp | ) |
User Data Field の先頭ポインタを取得
tsp | TlmSpacePacket |
tlm_space_packet.c の 255 行目に定義があります。
SP_VER TSP_get_ver | ( | const TlmSpacePacket * | tsp | ) |
void TSP_set_2nd_hdr_flag | ( | TlmSpacePacket * | tsp, |
SP_2ND_HDR_FLAG | flag | ||
) |
Secondary Header Flag を設定
[in,out] | tsp | TlmSpacePacket |
[in] | flag | SP_2ND_HDR_FLAG |
tlm_space_packet.c の 59 行目に定義があります。
void TSP_set_2nd_hdr_ver | ( | TlmSpacePacket * | tsp, |
TSP_2ND_HDR_VER | ver | ||
) |
Secondary Header Version No を設定
[in,out] | tsp | TlmSpacePacket |
[in] | id | TSP_2ND_HDR_VER |
tlm_space_packet.c の 135 行目に定義があります。
void TSP_set_apid | ( | TlmSpacePacket * | tsp, |
APID | apid | ||
) |
APID を設定
[in,out] | tsp | TlmSpacePacket |
[in] | apid | APID |
tlm_space_packet.c の 71 行目に定義があります。
void TSP_set_board_time | ( | TlmSpacePacket * | tsp, |
uint32_t | time | ||
) |
Board Time を設定
[in,out] | tsp | TlmSpacePacket |
[in] | time | Board Time |
tlm_space_packet.c の 151 行目に定義があります。
void TSP_set_common_hdr | ( | TlmSpacePacket * | tsp | ) |
共通部分の Header を構築
[in,out] | tsp | TlmSpacePacket |
tlm_space_packet.c の 272 行目に定義があります。
void TSP_set_dest_flags | ( | TlmSpacePacket * | tsp, |
ctp_dest_flags_t | flags | ||
) |
Destination Flags を設定
[in,out] | tsp | TlmSpacePacket |
[in] | flags | Destination Flags |
tlm_space_packet.c の 212 行目に定義があります。
void TSP_set_dest_info | ( | TlmSpacePacket * | tsp, |
uint8_t | info | ||
) |
Dest Info を設定
[in,out] | tsp | TlmSpacePacket |
[in] | info | Dest Info |
tlm_space_packet.c の 227 行目に定義があります。
void TSP_set_global_time | ( | TlmSpacePacket * | tsp, |
double | time | ||
) |
Global Time を設定
[in,out] | tsp | TlmSpacePacket |
[in] | time | Global Time |
tlm_space_packet.c の 166 行目に定義があります。
void TSP_set_on_board_subnet_time | ( | TlmSpacePacket * | tsp, |
uint32_t | time | ||
) |
On-Board Subnetwork Time を設定
[in,out] | tsp | TlmSpacePacket |
[in] | time | On-Board Subnetwork Time |
tlm_space_packet.c の 181 行目に定義があります。
void TSP_set_packet_data_len | ( | TlmSpacePacket * | tsp, |
uint16_t | len | ||
) |
Packet Data Length を設定
[in,out] | tsp | TlmSpacePacket |
[in] | len | Packet Data Length |
tlm_space_packet.c の 107 行目に定義があります。
void TSP_set_packet_len | ( | TlmSpacePacket * | tsp, |
uint16_t | len | ||
) |
Packet Length を設定
[in,out] | tsp | TlmSpacePacket |
[in] | len | Packet Length |
tlm_space_packet.c の 243 行目に定義があります。
void TSP_set_seq_count | ( | TlmSpacePacket * | tsp, |
uint16_t | count | ||
) |
Sequence Count を設定
[in,out] | tsp | TlmSpacePacket |
[in] | count | Sequence Count |
tlm_space_packet.c の 95 行目に定義があります。
void TSP_set_seq_flag | ( | TlmSpacePacket * | tsp, |
SP_SEQ_FLAG | flag | ||
) |
Sequence Flag を設定
[in,out] | tsp | TlmSpacePacket |
[in] | flag | SP_SEQ_FLAG |
tlm_space_packet.c の 83 行目に定義があります。
void TSP_set_tlm_id | ( | TlmSpacePacket * | tsp, |
TLM_CODE | id | ||
) |
Tlm ID を設定
[in,out] | tsp | TlmSpacePacket |
[in] | id | Tlm ID |
tlm_space_packet.c の 196 行目に定義があります。
void TSP_set_type | ( | TlmSpacePacket * | tsp, |
SP_TYPE | type | ||
) |
Packet Type を設定
[in,out] | tsp | TlmSpacePacket |
[in] | type | SP_TYPE |
tlm_space_packet.c の 47 行目に定義があります。
void TSP_set_ver | ( | TlmSpacePacket * | tsp, |
SP_VER | ver | ||
) |
Version No を設定
[in,out] | tsp | TlmSpacePacket |
[in] | ver | SP_VER |
tlm_space_packet.c の 35 行目に定義があります。
void TSP_setup_fill_packet | ( | TlmSpacePacket * | tsp, |
uint16_t | fill_size | ||
) |
パケット全体を 0x00 クリアし, fill_size に等しいサイズのパケットを生成する
[in,out] | tsp | TlmSpacePacket |
[in] | fill_size | packet size |
tlm_space_packet.c の 285 行目に定義があります。
void TSP_setup_primary_hdr | ( | TlmSpacePacket * | tsp, |
APID | apid, | ||
uint16_t | seq_count, | ||
uint16_t | packet_len | ||
) |
Primary Header を構築
[in,out] | tsp | TlmSpacePacket |
[in] | apid | APID |
[in] | seq_count | Sequence Count |
[in] | packet_len | Packet Length |
tlm_space_packet.c の 263 行目に定義があります。
|
static |
tlm_space_packet.c の 16 行目に定義があります。
|
static |
tlm_space_packet.c の 17 行目に定義があります。
|
static |
tlm_space_packet.c の 21 行目に定義があります。
|
static |
tlm_space_packet.c の 22 行目に定義があります。
|
static |
tlm_space_packet.c の 19 行目に定義があります。
|
static |
tlm_space_packet.c の 20 行目に定義があります。
|
static |
tlm_space_packet.c の 18 行目に定義があります。