12 #define CSP_CAST_TO_SP(csp) ((const SpacePacket*)(csp))
13 #define CSP_CAST_TO_NON_CONST_SP(csp) ((SpacePacket*)(csp))
136 uint8_t tmp = (uint8_t)ver;
151 uint8_t tmp = (uint8_t)cmd_type;
167 uint16_t tmp = (uint16_t)
id;
182 uint8_t tmp = (uint8_t)dest_type;
204 #ifdef TLCD_ENABLE_MISSION_TL
205 case CCP_EXEC_TYPE_TL_FOR_MISSION:
206 case CCP_EXEC_TYPE_UTL_FOR_MISSION:
217 uint8_t tmp = (uint8_t)exec_type;
APID
Application Process ID
void CSP_set_exec_type(CmdSpacePacket *csp, CCP_EXEC_TYPE exec_type)
Execution Type を設定
const uint8_t * CSP_get_param_head(const CmdSpacePacket *csp)
コマンドパラメタの先頭ポインタを取得
SP_VER CSP_get_ver(const CmdSpacePacket *csp)
Version No を取得
static const SP_ParamExtractionInfo CSP_pei_ti_
SP_SEQ_FLAG CSP_get_seq_flag(const CmdSpacePacket *csp)
Sequence Flag を取得
CSP_CMD_TYPE CSP_get_cmd_type(const CmdSpacePacket *csp)
Command Type を取得
void CSP_set_packet_len(CmdSpacePacket *csp, uint16_t len)
Packet Length を設定
void CSP_set_ver(CmdSpacePacket *csp, SP_VER ver)
Version No を設定
void CSP_copy_packet(CmdSpacePacket *dest, const CmdSpacePacket *src)
CmdSpacePacket をコピー
static const SP_ParamExtractionInfo CSP_pei_dest_type_
void CSP_set_2nd_hdr_flag(CmdSpacePacket *csp, SP_2ND_HDR_FLAG flag)
Secondary Header Flag を設定
static const SP_ParamExtractionInfo CSP_pei_cmd_id_
void CSP_set_ti(CmdSpacePacket *csp, uint32_t ti)
Time Indicator (TI) を設定
void CSP_set_dest_type(CmdSpacePacket *csp, CCP_DEST_TYPE dest_type)
Destination Type を設定
CMD_CODE CSP_get_cmd_id(const CmdSpacePacket *csp)
Command ID を取得
void CSP_set_type(CmdSpacePacket *csp, SP_TYPE type)
Packet Type を設定
void CSP_set_packet_data_len(CmdSpacePacket *csp, uint16_t len)
Packet Data Length を設定
static const SP_ParamExtractionInfo CSP_pei_exec_type_
APID CSP_get_apid(const CmdSpacePacket *csp)
APID を取得
void CSP_set_seq_flag(CmdSpacePacket *csp, SP_SEQ_FLAG flag)
Sequence Flag を設定
static const SP_ParamExtractionInfo CSP_pei_2nd_hdr_ver_
static const SP_ParamExtractionInfo CSP_pei_cmd_type_
void CSP_set_cmd_id(CmdSpacePacket *csp, CMD_CODE id)
Command ID を設定
uint16_t CSP_get_packet_data_len(const CmdSpacePacket *csp)
Packet Data Length を取得
uint32_t CSP_get_ti(const CmdSpacePacket *csp)
Time Indicator (TI) を取得
uint16_t CSP_get_seq_count(const CmdSpacePacket *csp)
Sequence Count を取得
SP_TYPE CSP_get_type(const CmdSpacePacket *csp)
Packet Type を取得
void CSP_set_common_hdr(CmdSpacePacket *csp)
共通部分の Header を構築
CCP_DEST_TYPE CSP_get_dest_type(const CmdSpacePacket *csp)
Destination Type を取得
#define CSP_CAST_TO_NON_CONST_SP(csp)
SPへのキャスト. SPのほうが広いので,これは可能
void CSP_set_2nd_hdr_ver(CmdSpacePacket *csp, CSP_2ND_HDR_VER ver)
Secondary Header Version No を設定
#define CSP_CAST_TO_SP(csp)
SPへのキャスト. SPのほうが広いので,これは可能
SP_2ND_HDR_FLAG CSP_get_2nd_hdr_flag(const CmdSpacePacket *csp)
Secondary Header Flag を取得
CSP_2ND_HDR_VER CSP_get_2nd_hdr_ver(const CmdSpacePacket *csp)
Secondary Header Version No を取得
uint16_t CSP_get_param_len(const CmdSpacePacket *csp)
Param Length を取得
void CSP_set_seq_count(CmdSpacePacket *csp, uint16_t count)
Sequence Count を設定
void CSP_set_apid(CmdSpacePacket *csp, APID apid)
APID を設定
void CSP_set_param(CmdSpacePacket *csp, const uint8_t *param, uint16_t len)
コマンドパラメタを設定
uint16_t CSP_get_packet_len(const CmdSpacePacket *csp)
Packet Length を取得
CCP_EXEC_TYPE CSP_get_exec_type(const CmdSpacePacket *csp)
Execution Type を取得
void CSP_set_cmd_type(CmdSpacePacket *csp, CSP_CMD_TYPE cmd_type)
Command Type を設定
CCSDS で規定される Space Packet の コマンド版の実装
#define CSP_2ND_HDR_VER_TO_USE
使う Sec. HDR Ver
#define CSP_SND_HDR_LEN
Secondary Header 長
CSP_2ND_HDR_VER
Secondary Header Version No
@ CSP_2ND_HDR_VER_1
Version-1
@ CSP_2ND_HDR_VER_UNKNOWN
バージョン不定
@ CCP_EXEC_TYPE_TL_DEPLOY_BC
@ CCP_EXEC_TYPE_GS
GS : Ground Station Command
@ CCP_EXEC_TYPE_RT
RT : Realtime Command
@ CCP_EXEC_TYPE_BC
BC : Block Command
@ CCP_EXEC_TYPE_TL_DEPLOY_TLM
@ CCP_EXEC_TYPE_UTL
UTL: Unixtime Timeline Command
@ CCP_EXEC_TYPE_TL_FROM_GS
TL : Timeline Command
CCP_DEST_TYPE CCP_get_dest_type_from_uint8(uint8_t dest_type)
バイト列から CCP_DEST_TYPE を取得
CCP_DEST_TYPE
コマンドの解釈の宛先を規定
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_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 長
uint8_t packet[CSP_MAX_LEN]