|
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 行目に定義があります。