|
| 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 に等しいサイズのパケットを生成する [詳解]
|
| |
CCSDS で規定される Space Packet の テレメ版の実装
C ではテンプレートが使えないため,別で定義する
- 覚え書き
- 詳細は space_packet.h を参照
-
現在は, Sec. HDR Ver.1 のみ.追加するときに拡張していく
-
packet 構造 |------—+----—+----—+---------------—| | Pos | Pos | size | name | | [octet] | [bit] | [bit] | | |------—+----—+----—+---------------—| | === Primary Header ======================= | |------—+----—+----—+---------------—| | 0 | 0 | 3 | Version No | | 0 | 3 | 1 | Packet Type | | 0 | 4 | 1 | Sec. HDR Flag | | 0 | 5 | 11 | APID | | 2 | 0 | 2 | Sequence Flags | | 2 | 2 | 14 | Sequence Count | | 4 | 0 | 16 | Packet Data Len | |------—+----—+----—+---------------—| | === Secondary Header ===================== | |------—+----—+----—+---------------—| | 6 | 0 | 8 | Sec. HDR Ver | | 7 | 0 | 32 | Board Time | | 11 | 0 | 8 | Tlm ID | | 12 | 0 | 64 | Global Time | | 20 | 0 | 32 | On-Board | | | | | Subnetwork Time | | 24 | 0 | 8 | Dest Flags | | 25 | 0 | 8 | Dest Info | |------—+----—+----—+---------------—| | === User Data Field ====================== | |------—+----—+----—+---------------—| | 26 | 0 | * | Tlm Data #0 | | * | 0 | * | Tlm Data #1 | | * | 0 | * | Tlm Data #2 | | * | 0 | * | ... | |------—+----—+----—+---------------—|
以下の 3 つの時刻情報をパケットに仕込む
- Board Time
- テレメパケットを生成したボードのテレメ生成時間. TI など.型は任意.
- Global Time
- テレメパケットを生成したボードの絶対時刻でのテレメ生成時刻. GPS Time や unixtime など.型は任意.
- 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF の場合, パケット中継中に MOBC で上書きされる
- FIXME: 一旦 double で実装するが,本当は変えたほうが良いかもしれない...?
- On-Board Subnetwork Time
- オンボードサブネットワークでのテレメ生成時刻.オンボードサブネットワーク TI など.型は任意.
- 0xFFFFFFFF の場合, パケット中継中に MOBC で上書きされる
tlm_space_packet.h に定義があります。