C2A_Core
common_tlm_cmd_packet.h
[詳解]
1 
8 #ifndef COMMON_TLM_CMD_PACKET_H_
9 #define COMMON_TLM_CMD_PACKET_H_
10 
11 #include <stdint.h>
12 // ここで, CTCP_MAX_LEN, CommonTlmCmdPacket として使うパケット型を指定する
14 #include "./common_tlm_packet.h"
15 #include "./common_cmd_packet.h"
16 
17 // ここで APID を定義する
18 // APID_UNKNOWN, APID_FILL_PKT は必須
19 /* 例
20 // FIXME: CCSDS JAXA 標準になおす
21 // FIXME: APID は Space Packet なので, CTCP にあるのは不適切? 抽象化してもいいかも
22 typedef enum
23 {
24  APID_MOBC_CMD = 0x210, //!< 01000010000b: APID for MOBC 宛の CMD
25  APID_AOBC_CMD = 0x211, //!< 01000010001b: APID for AOBC 宛の CMD
26  APID_TOBC_CMD = 0x212, //!< 01000010010b: APID for TOBC 宛の CMD
27  APID_TCAL_TLM = 0x410, //!< 10000010000b: APID for TIME CARIBLATION TLM (FIXME: 現在まともに使ってない)
28  APID_MOBC_TLM = 0x510, //!< 10100010000b: APID for MOBC で生成される TLM
29  APID_AOBC_TLM = 0x511, //!< 10100010001b: APID for AOBC で生成される TLM
30  APID_TOBC_TLM = 0x512, //!< 10100010002b: APID for TOBC で生成される TLM
31  APID_DUMP_TLM = 0x710, //!< 11100010000b: APID for DUMP TLM (FIXME: 現在まともに使ってない)
32  APID_FILL_PKT = 0x7ff, //!< 11111111111b: APID for FILL PACKET
33  APID_UNKNOWN
34 } APID;
35 */
37 
38 
44 typedef enum
45 {
50 
51 
60 int CTCP_is_valid_packet(const CommonTlmCmdPacket* packet);
61 
68 
74 uint16_t CTCP_get_packet_len(const CommonTlmCmdPacket* packet);
75 
82 
89 void CTCP_set_apid(CommonTlmCmdPacket* packet, APID apid);
90 
99 
108 
117 
126 
135 
136 #endif
CCSDS の APID を定義する
APID
Application Process ID
Definition: apid_define.h:17
CCP 関連基本関数の宣言
CTCP_PACKET_TYPE
tlm (CTP) or cmd (CCP) を規定
@ CTCP_PACKET_TYPE_TLM
@ CTCP_PACKET_TYPE_UNKNOWN
@ CTCP_PACKET_TYPE_CMD
const CommonTlmPacket * CTCP_convert_to_ctp(const CommonTlmCmdPacket *ctcp)
CTCP を CTP に変換(キャスト)
uint16_t CTCP_get_packet_len(const CommonTlmCmdPacket *packet)
パケット長を取得
int CTCP_is_valid_packet(const CommonTlmCmdPacket *packet)
有効なパケットかチェックする
CTCP_PACKET_TYPE CTCP_get_packet_type(const CommonTlmCmdPacket *packet)
tlm か cmd かを判断
const CommonTlmCmdPacket * CTCP_convert_from_ctp(const CommonTlmPacket *ctp)
CTP を CTCP に変換(キャスト)
const CommonCmdPacket * CTCP_convert_to_ccp(const CommonTlmCmdPacket *ctcp)
CTCP を CCP に変換(キャスト)
void CTCP_copy_packet(CommonTlmCmdPacket *dest, const CommonTlmCmdPacket *src)
CommonTlmCmdPacket をコピー
void CTCP_set_apid(CommonTlmCmdPacket *packet, APID apid)
APID を設定
const CommonTlmCmdPacket * CTCP_convert_from_ccp(const CommonCmdPacket *ccp)
CCP を CTCP に変換(キャスト)
APID CTCP_get_apid(const CommonTlmCmdPacket *packet)
APID を取得
CTP 関連基本関数の宣言
C89 環境用 stdint.h
Space Packet (コマンド用)
Space Packet
Space Packet (テレメ用)