C2A_Core
|
CCSDS で規定される Space Packet の コマンド版の実装 [詳解]
#include <src_user/Settings/TlmCmd/Ccsds/cmd_space_packet_params.h>
#include <stdint.h>
#include "space_packet_typedef.h"
#include "space_packet.h"
#include "../common_cmd_packet.h"
マクロ定義 | |
#define | CSP_SND_HDR_LEN (9) |
Secondary Header 長 [詳解] | |
#define | CSP_2ND_HDR_VER_TO_USE (CSP_2ND_HDR_VER_1) |
使う Sec. HDR Ver [詳解] | |
列挙型 | |
enum | CSP_2ND_HDR_VER { CSP_2ND_HDR_VER_UNKNOWN = 0 , CSP_2ND_HDR_VER_1 = 1 } |
Secondary Header Version No [詳解] | |
enum | CSP_CMD_TYPE { CSP_CMD_TYPE_UNKNOWN } |
Command Type [詳解] | |
関数 | |
SP_VER | CSP_get_ver (const CmdSpacePacket *csp) |
Version No を取得 [詳解] | |
void | CSP_set_ver (CmdSpacePacket *csp, SP_VER ver) |
Version No を設定 [詳解] | |
SP_TYPE | CSP_get_type (const CmdSpacePacket *csp) |
Packet Type を取得 [詳解] | |
void | CSP_set_type (CmdSpacePacket *csp, SP_TYPE type) |
Packet Type を設定 [詳解] | |
SP_2ND_HDR_FLAG | CSP_get_2nd_hdr_flag (const CmdSpacePacket *csp) |
Secondary Header Flag を取得 [詳解] | |
void | CSP_set_2nd_hdr_flag (CmdSpacePacket *csp, SP_2ND_HDR_FLAG flag) |
Secondary Header Flag を設定 [詳解] | |
APID | CSP_get_apid (const CmdSpacePacket *csp) |
APID を取得 [詳解] | |
void | CSP_set_apid (CmdSpacePacket *csp, APID apid) |
APID を設定 [詳解] | |
SP_SEQ_FLAG | CSP_get_seq_flag (const CmdSpacePacket *csp) |
Sequence Flag を取得 [詳解] | |
void | CSP_set_seq_flag (CmdSpacePacket *csp, SP_SEQ_FLAG flag) |
Sequence Flag を設定 [詳解] | |
uint16_t | CSP_get_seq_count (const CmdSpacePacket *csp) |
Sequence Count を取得 [詳解] | |
void | CSP_set_seq_count (CmdSpacePacket *csp, uint16_t count) |
Sequence Count を設定 [詳解] | |
uint16_t | CSP_get_packet_data_len (const CmdSpacePacket *csp) |
Packet Data Length を取得 [詳解] | |
void | CSP_set_packet_data_len (CmdSpacePacket *csp, uint16_t len) |
Packet Data Length を設定 [詳解] | |
CSP_2ND_HDR_VER | CSP_get_2nd_hdr_ver (const CmdSpacePacket *csp) |
Secondary Header Version No を取得 [詳解] | |
void | CSP_set_2nd_hdr_ver (CmdSpacePacket *csp, CSP_2ND_HDR_VER ver) |
Secondary Header Version No を設定 [詳解] | |
CSP_CMD_TYPE | CSP_get_cmd_type (const CmdSpacePacket *csp) |
Command Type を取得 [詳解] | |
void | CSP_set_cmd_type (CmdSpacePacket *csp, CSP_CMD_TYPE cmd_type) |
Command Type を設定 [詳解] | |
CMD_CODE | CSP_get_cmd_id (const CmdSpacePacket *csp) |
Command ID を取得 [詳解] | |
void | CSP_set_cmd_id (CmdSpacePacket *csp, CMD_CODE id) |
Command ID を設定 [詳解] | |
CCP_DEST_TYPE | CSP_get_dest_type (const CmdSpacePacket *csp) |
Destination Type を取得 [詳解] | |
void | CSP_set_dest_type (CmdSpacePacket *csp, CCP_DEST_TYPE dest_type) |
Destination Type を設定 [詳解] | |
CCP_EXEC_TYPE | CSP_get_exec_type (const CmdSpacePacket *csp) |
Execution Type を取得 [詳解] | |
void | CSP_set_exec_type (CmdSpacePacket *csp, CCP_EXEC_TYPE exec_type) |
Execution Type を設定 [詳解] | |
uint32_t | CSP_get_ti (const CmdSpacePacket *csp) |
Time Indicator (TI) を取得 [詳解] | |
void | CSP_set_ti (CmdSpacePacket *csp, uint32_t ti) |
Time Indicator (TI) を設定 [詳解] | |
uint16_t | CSP_get_packet_len (const CmdSpacePacket *csp) |
Packet Length を取得 [詳解] | |
void | CSP_set_packet_len (CmdSpacePacket *csp, uint16_t len) |
Packet Length を設定 [詳解] | |
void | CSP_copy_packet (CmdSpacePacket *dest, const CmdSpacePacket *src) |
CmdSpacePacket をコピー [詳解] | |
const uint8_t * | CSP_get_param_head (const CmdSpacePacket *csp) |
コマンドパラメタの先頭ポインタを取得 [詳解] | |
uint16_t | CSP_get_param_len (const CmdSpacePacket *csp) |
Param Length を取得 [詳解] | |
void | CSP_set_param (CmdSpacePacket *csp, const uint8_t *param, uint16_t len) |
コマンドパラメタを設定 [詳解] | |
void | CSP_set_common_hdr (CmdSpacePacket *csp) |
共通部分の Header を構築 [詳解] | |
CCSDS で規定される Space Packet の コマンド版の実装
C ではテンプレートが使えないため,別で定義する
cmd_space_packet.h に定義があります。
#define CSP_2ND_HDR_VER_TO_USE (CSP_2ND_HDR_VER_1) |
使う Sec. HDR Ver
cmd_space_packet.h の 56 行目に定義があります。
#define CSP_SND_HDR_LEN (9) |
Secondary Header 長
cmd_space_packet.h の 55 行目に定義があります。
enum CSP_2ND_HDR_VER |
Secondary Header Version No
列挙値 | |
---|---|
CSP_2ND_HDR_VER_UNKNOWN | バージョン不定 |
CSP_2ND_HDR_VER_1 | Version-1 |
cmd_space_packet.h の 48 行目に定義があります。
enum CSP_CMD_TYPE |
Command Type
列挙値 | |
---|---|
CSP_CMD_TYPE_UNKNOWN |
cmd_space_packet.h の 78 行目に定義があります。
void CSP_copy_packet | ( | CmdSpacePacket * | dest, |
const CmdSpacePacket * | src | ||
) |
CmdSpacePacket をコピー
[in,out] | dest | コピー先 CmdSpacePacket |
[in] | src | コピー元 CmdSpacePacket |
cmd_space_packet.c の 253 行目に定義があります。
SP_2ND_HDR_FLAG CSP_get_2nd_hdr_flag | ( | const CmdSpacePacket * | csp | ) |
Secondary Header Flag を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 52 行目に定義があります。
CSP_2ND_HDR_VER CSP_get_2nd_hdr_ver | ( | const CmdSpacePacket * | csp | ) |
Secondary Header Version No を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 116 行目に定義があります。
APID CSP_get_apid | ( | const CmdSpacePacket * | csp | ) |
CMD_CODE CSP_get_cmd_id | ( | const CmdSpacePacket * | csp | ) |
Command ID を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 156 行目に定義があります。
CSP_CMD_TYPE CSP_get_cmd_type | ( | const CmdSpacePacket * | csp | ) |
CCP_DEST_TYPE CSP_get_dest_type | ( | const CmdSpacePacket * | csp | ) |
Destination Type を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 172 行目に定義があります。
CCP_EXEC_TYPE CSP_get_exec_type | ( | const CmdSpacePacket * | csp | ) |
Execution Type を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 187 行目に定義があります。
uint16_t CSP_get_packet_data_len | ( | const CmdSpacePacket * | csp | ) |
Packet Data Length を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 100 行目に定義があります。
uint16_t CSP_get_packet_len | ( | const CmdSpacePacket * | csp | ) |
Packet Length を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 241 行目に定義があります。
const uint8_t* CSP_get_param_head | ( | const CmdSpacePacket * | csp | ) |
コマンドパラメタの先頭ポインタを取得
csp | CmdSpacePacket |
cmd_space_packet.c の 259 行目に定義があります。
uint16_t CSP_get_param_len | ( | const CmdSpacePacket * | csp | ) |
Param Length を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 265 行目に定義があります。
uint16_t CSP_get_seq_count | ( | const CmdSpacePacket * | csp | ) |
Sequence Count を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 88 行目に定義があります。
SP_SEQ_FLAG CSP_get_seq_flag | ( | const CmdSpacePacket * | csp | ) |
Sequence Flag を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 76 行目に定義があります。
uint32_t CSP_get_ti | ( | const CmdSpacePacket * | csp | ) |
Time Indicator (TI) を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 222 行目に定義があります。
SP_TYPE CSP_get_type | ( | const CmdSpacePacket * | csp | ) |
Packet Type を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 40 行目に定義があります。
SP_VER CSP_get_ver | ( | const CmdSpacePacket * | csp | ) |
Version No を取得
csp | CmdSpacePacket |
cmd_space_packet.c の 28 行目に定義があります。
void CSP_set_2nd_hdr_flag | ( | CmdSpacePacket * | csp, |
SP_2ND_HDR_FLAG | flag | ||
) |
Secondary Header Flag を設定
[in,out] | csp | CmdSpacePacket |
[in] | flag | SP_2ND_HDR_FLAG |
cmd_space_packet.c の 58 行目に定義があります。
void CSP_set_2nd_hdr_ver | ( | CmdSpacePacket * | csp, |
CSP_2ND_HDR_VER | ver | ||
) |
Secondary Header Version No を設定
[in,out] | csp | CmdSpacePacket |
[in] | id | CSP_2ND_HDR_VER |
cmd_space_packet.c の 134 行目に定義があります。
void CSP_set_apid | ( | CmdSpacePacket * | csp, |
APID | apid | ||
) |
APID を設定
[in,out] | csp | CmdSpacePacket |
[in] | apid | APID |
cmd_space_packet.c の 70 行目に定義があります。
void CSP_set_cmd_id | ( | CmdSpacePacket * | csp, |
CMD_CODE | id | ||
) |
Command ID を設定
[in,out] | csp | CmdSpacePacket |
[in] | id | Command ID |
cmd_space_packet.c の 165 行目に定義があります。
void CSP_set_cmd_type | ( | CmdSpacePacket * | csp, |
CSP_CMD_TYPE | cmd_type | ||
) |
Command Type を設定
[in,out] | csp | CmdSpacePacket |
[in] | cmd_type | CSP_CMD_TYPE |
cmd_space_packet.c の 149 行目に定義があります。
void CSP_set_common_hdr | ( | CmdSpacePacket * | csp | ) |
共通部分の Header を構築
[in,out] | csp | CmdSpacePacket |
cmd_space_packet.c の 284 行目に定義があります。
void CSP_set_dest_type | ( | CmdSpacePacket * | csp, |
CCP_DEST_TYPE | dest_type | ||
) |
Destination Type を設定
[in,out] | csp | CmdSpacePacket |
[in] | dest_type | CCP_DEST_TYPE |
cmd_space_packet.c の 180 行目に定義があります。
void CSP_set_exec_type | ( | CmdSpacePacket * | csp, |
CCP_EXEC_TYPE | exec_type | ||
) |
Execution Type を設定
[in,out] | csp | CmdSpacePacket |
[in] | exec_type | CCP_EXEC_TYPE |
cmd_space_packet.c の 215 行目に定義があります。
void CSP_set_packet_data_len | ( | CmdSpacePacket * | csp, |
uint16_t | len | ||
) |
Packet Data Length を設定
[in,out] | csp | CmdSpacePacket |
[in] | len | Packet Data Length |
cmd_space_packet.c の 106 行目に定義があります。
void CSP_set_packet_len | ( | CmdSpacePacket * | csp, |
uint16_t | len | ||
) |
Packet Length を設定
[in,out] | csp | CmdSpacePacket |
[in] | len | Packet Length |
cmd_space_packet.c の 247 行目に定義があります。
void CSP_set_param | ( | CmdSpacePacket * | csp, |
const uint8_t * | param, | ||
uint16_t | len | ||
) |
コマンドパラメタを設定
[in,out] | csp | CmdSpacePacket |
[in] | param | パラメタ配列のポインタ |
[in] | len | パラメタ長 |
cmd_space_packet.c の 271 行目に定義があります。
void CSP_set_seq_count | ( | CmdSpacePacket * | csp, |
uint16_t | count | ||
) |
Sequence Count を設定
[in,out] | csp | CmdSpacePacket |
[in] | count | Sequence Count |
cmd_space_packet.c の 94 行目に定義があります。
void CSP_set_seq_flag | ( | CmdSpacePacket * | csp, |
SP_SEQ_FLAG | flag | ||
) |
Sequence Flag を設定
[in,out] | csp | CmdSpacePacket |
[in] | flag | SP_SEQ_FLAG |
cmd_space_packet.c の 82 行目に定義があります。
void CSP_set_ti | ( | CmdSpacePacket * | csp, |
uint32_t | ti | ||
) |
Time Indicator (TI) を設定
[in,out] | csp | CmdSpacePacket |
[in] | ti | TI |
cmd_space_packet.c の 231 行目に定義があります。
void CSP_set_type | ( | CmdSpacePacket * | csp, |
SP_TYPE | type | ||
) |
Packet Type を設定
[in,out] | csp | CmdSpacePacket |
[in] | type | SP_TYPE |
cmd_space_packet.c の 46 行目に定義があります。
void CSP_set_ver | ( | CmdSpacePacket * | csp, |
SP_VER | ver | ||
) |
Version No を設定
[in,out] | csp | CmdSpacePacket |
[in] | ver | SP_VER |
cmd_space_packet.c の 34 行目に定義があります。