12 #define TSP_CAST_TO_SP(tsp) ((const SpacePacket*)(tsp))
13 #define TSP_CAST_TO_NON_CONST_SP(tsp) ((SpacePacket*)(tsp))
137 uint8_t tmp = (uint8_t)ver;
198 uint8_t tmp = (uint8_t)
id;
297 (uint16_t)fill_size);
APID
Application Process ID
@ APID_FILL_PKT
11111111111b: APID for FILL PACKET
uint8_t ctp_dest_flags_t
CTP_DEST_FLAG の & をとったフラグのための型
void SP_set_packet_data_len(SpacePacket *sp, uint16_t len)
Packet Data Length を設定
SP_2ND_HDR_FLAG SP_get_2nd_hdr_flag(const SpacePacket *sp)
Secondary Header Flag を取得
uint16_t SP_get_seq_count(const SpacePacket *sp)
Sequence Count を取得
uint16_t SP_get_packet_len(const SpacePacket *sp)
Packet Length を取得
void SP_extract_param_from_packet(const SpacePacket *sp, const SP_ParamExtractionInfo *pei, void *dst)
packet に格納された param を取得
SP_SEQ_FLAG SP_get_seq_flag(const SpacePacket *sp)
Sequence Flag を取得
void SP_set_ver(SpacePacket *sp, SP_VER ver)
Version No を設定
void SP_set_seq_flag(SpacePacket *sp, SP_SEQ_FLAG flag)
Sequence Flag を設定
void SP_set_seq_count(SpacePacket *sp, uint16_t count)
Sequence Count を設定
APID SP_get_apid(const SpacePacket *sp)
APID を取得
void SP_insert_param_to_packet(SpacePacket *sp, const SP_ParamExtractionInfo *pei, const void *src)
packet に param を格納
void SP_set_2nd_hdr_flag(SpacePacket *sp, SP_2ND_HDR_FLAG flag)
Secondary Header Flag を設定
uint16_t SP_get_packet_data_len(const SpacePacket *sp)
Packet Data Length を取得
void SP_set_type(SpacePacket *sp, SP_TYPE type)
Packet Type を設定
void SP_set_packet_len(SpacePacket *sp, uint16_t len)
Packet Length を設定
SP_VER SP_get_ver(const SpacePacket *sp)
Version No を取得
void SP_copy_packet(SpacePacket *dest, const SpacePacket *src)
SpacePacket をコピー
void SP_set_apid(SpacePacket *sp, APID apid)
APID を設定
SP_TYPE SP_get_type(const SpacePacket *sp)
Packet Type を取得
@ SP_TYPE_TLM
0b: TELEMETRY
SP_2ND_HDR_FLAG
Space Packet Secandary Header Flag
@ SP_2ND_HDR_FLAG_PRESENT
1b: Secondary Header Present
SP_SEQ_FLAG
Space Packet Sequence Flag
@ SP_SEQ_FLAG_SINGLE
11b: Standalone packet
SP_VER
Space Packet Version Number
@ SP_VER_1
000b: Version-1
#define SP_PRM_HDR_LEN
Packet Primary Header 長
#define TSP_MAX_LEN
TlmSpacePacket の最大パケット長.VCDU 分割しないならこれが最大値
uint8_t packet[TSP_MAX_LEN]
APID TSP_get_apid(const TlmSpacePacket *tsp)
APID を取得
void TSP_set_2nd_hdr_flag(TlmSpacePacket *tsp, SP_2ND_HDR_FLAG flag)
Secondary Header Flag を設定
#define TSP_CAST_TO_NON_CONST_SP(tsp)
SPへのキャスト. SPのほうが広いので,これは可能
void TSP_setup_primary_hdr(TlmSpacePacket *tsp, APID apid, uint16_t seq_count, uint16_t packet_len)
Primary Header を構築
SP_VER TSP_get_ver(const TlmSpacePacket *tsp)
Version No を取得
void TSP_set_type(TlmSpacePacket *tsp, SP_TYPE type)
Packet Type を設定
uint8_t TSP_get_dest_info(const TlmSpacePacket *tsp)
Dest Info を取得
#define TSP_CAST_TO_SP(tsp)
SPへのキャスト. SPのほうが広いので,これは可能
static const SP_ParamExtractionInfo TSP_pei_global_time_
void TSP_set_seq_flag(TlmSpacePacket *tsp, SP_SEQ_FLAG flag)
Sequence Flag を設定
static const SP_ParamExtractionInfo TSP_pei_dest_info_
uint32_t TSP_get_on_board_subnet_time(const TlmSpacePacket *tsp)
On-Board Subnetwork Time を取得
void TSP_set_2nd_hdr_ver(TlmSpacePacket *tsp, TSP_2ND_HDR_VER ver)
Secondary Header Version No を設定
ctp_dest_flags_t TSP_get_dest_flags(const TlmSpacePacket *tsp)
Destination Flags を取得
uint16_t TSP_get_packet_len(const TlmSpacePacket *tsp)
Packet Length を取得
uint16_t TSP_get_seq_count(const TlmSpacePacket *tsp)
Sequence Count を取得
SP_2ND_HDR_FLAG TSP_get_2nd_hdr_flag(const TlmSpacePacket *tsp)
Secondary Header Flag を取得
double TSP_get_global_time(const TlmSpacePacket *tsp)
Global Time を取得
void TSP_set_dest_info(TlmSpacePacket *tsp, uint8_t info)
Dest Info を設定
void TSP_setup_fill_packet(TlmSpacePacket *tsp, uint16_t fill_size)
パケット全体を 0x00 クリアし, fill_size に等しいサイズのパケットを生成する
void TSP_set_ver(TlmSpacePacket *tsp, SP_VER ver)
Version No を設定
void TSP_set_apid(TlmSpacePacket *tsp, APID apid)
APID を設定
static const SP_ParamExtractionInfo TSP_pei_2nd_hdr_ver_
static const SP_ParamExtractionInfo TSP_pei_board_time_
SP_TYPE TSP_get_type(const TlmSpacePacket *tsp)
Packet Type を取得
SP_SEQ_FLAG TSP_get_seq_flag(const TlmSpacePacket *tsp)
Sequence Flag を取得
uint16_t TSP_get_packet_data_len(const TlmSpacePacket *tsp)
Packet Data Length を取得
TLM_CODE TSP_get_tlm_id(const TlmSpacePacket *tsp)
Tlm ID を取得
void TSP_set_global_time(TlmSpacePacket *tsp, double time)
Global Time を設定
void TSP_copy_packet(TlmSpacePacket *dest, const TlmSpacePacket *src)
TlmSpacePacket をコピー
void TSP_set_on_board_subnet_time(TlmSpacePacket *tsp, uint32_t time)
On-Board Subnetwork Time を設定
static const SP_ParamExtractionInfo TSP_pei_tlm_id_
void TSP_set_common_hdr(TlmSpacePacket *tsp)
共通部分の Header を構築
void TSP_set_packet_data_len(TlmSpacePacket *tsp, uint16_t len)
Packet Data Length を設定
uint32_t TSP_get_board_time(const TlmSpacePacket *tsp)
Board Time を取得
void TSP_set_board_time(TlmSpacePacket *tsp, uint32_t time)
Board Time を設定
void TSP_set_packet_len(TlmSpacePacket *tsp, uint16_t len)
Packet Length を設定
void TSP_set_seq_count(TlmSpacePacket *tsp, uint16_t count)
Sequence Count を設定
TSP_2ND_HDR_VER TSP_get_2nd_hdr_ver(const TlmSpacePacket *tsp)
Secondary Header Version No を取得
void TSP_set_dest_flags(TlmSpacePacket *tsp, ctp_dest_flags_t flags)
Destination Flags を設定
static const SP_ParamExtractionInfo TSP_pei_dest_flags_
uint8_t * TSP_get_user_data_head(const TlmSpacePacket *tsp)
User Data Field の先頭ポインタを取得
void TSP_set_tlm_id(TlmSpacePacket *tsp, TLM_CODE id)
Tlm ID を設定
static const SP_ParamExtractionInfo TSP_pei_ob_sn_time_
CCSDS で規定される Space Packet の テレメ版の実装
#define TSP_SND_HDR_LEN
Secondary Header 長
TSP_2ND_HDR_VER
Secondary Header Version No
@ TSP_2ND_HDR_VER_UNKNOWN
バージョン不定
@ TSP_2ND_HDR_VER_1
Version-1