8 #include "../../Library/endian.h"
45 uint8_t tmp = (uint8_t)ver;
61 uint8_t tmp = (uint8_t)type;
77 uint8_t tmp = (uint8_t)flag;
92 uint16_t tmp = (uint16_t)apid;
108 uint8_t tmp = (uint8_t)flag;
134 return (uint16_t)(len + 1);
140 if (len == 0)
return;
180 if (pei->
offset > 7)
return;
216 if (pei->
offset > 7)
return;
226 buffer[0] <<= pei->
offset;
APID APID_get_apid_from_uint16(uint16_t apid)
バイト列から APID を取得
APID
Application Process ID
void * ENDIAN_memcpy(void *dest, const void *src, size_t size)
エンディアンを考慮した memcpy
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 を取得
static const SP_ParamExtractionInfo SP_pei_type_
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 を取得
static const SP_ParamExtractionInfo SP_pei_ver_
SP_SEQ_FLAG SP_get_seq_flag(const SpacePacket *sp)
Sequence Flag を取得
static const SP_ParamExtractionInfo SP_pei_pckt_data_len_
void SP_set_ver(SpacePacket *sp, SP_VER ver)
Version No を設定
static const SP_ParamExtractionInfo SP_pei_2nd_hdr_flag_
static const SP_ParamExtractionInfo SP_pei_seq_flag_
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 を設定
static const SP_ParamExtractionInfo SP_pei_apid_
SP_VER SP_get_ver(const SpacePacket *sp)
Version No を取得
static const SP_ParamExtractionInfo SP_pei_seq_count_
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 を取得
CCSDS で規定される Space Packet の実装
SP_2ND_HDR_FLAG
Space Packet Secandary Header Flag
SP_SEQ_FLAG
Space Packet Sequence Flag
SP_VER
Space Packet Version Number
@ SP_VER_1
000b: Version-1
#define SP_PRM_HDR_LEN
Packet Primary Header 長
uint8_t packet[SP_MAX_LEN]