C2A_Core
common_tlm_packet.h
[詳解]
1 
6 #ifndef COMMON_TLM_PACKET_H_
7 #define COMMON_TLM_PACKET_H_
8 
9 #include "../System/TimeManager/obc_time.h"
11 
12 // ここで, CTP_APID_FROM_ME, CTP_MAX_LEN, CommonTlmPacket として使うパケット型を指定する
14 
15 // ここで APID を定義する
16 // 詳細は common_tlm_cmd_packet.h を参照
18 
19 typedef uint8_t ctp_dest_flags_t;
20 
27 typedef enum
28 {
38 
39 
48 int CTP_is_valid_packet(const CommonTlmPacket* packet);
49 
55 APID CTP_get_apid(const CommonTlmPacket* packet);
56 
63 void CTP_set_apid(CommonTlmPacket* packet, APID apid);
64 
71 double CTP_get_global_time(const CommonTlmPacket* packet);
72 
80 
87 uint32_t CTP_get_on_board_subnet_time(const CommonTlmPacket* packet);
88 
96 
103 
111 
117 TLM_CODE CTP_get_id(const CommonTlmPacket* packet);
118 
125 void CTP_set_id(CommonTlmPacket* packet, TLM_CODE id);
126 
132 uint16_t CTP_get_packet_len(const CommonTlmPacket* packet);
133 
140 uint8_t* CTP_get_user_data_head(CommonTlmPacket* packet);
141 
149 void CTP_copy_packet(CommonTlmPacket* dest, const CommonTlmPacket* src);
150 
151 #endif
CCSDS の APID を定義する
APID
Application Process ID
Definition: apid_define.h:17
uint8_t * CTP_get_user_data_head(CommonTlmPacket *packet)
ADU 分割なしの場合の User Data 先頭のポインタを取得
int CTP_is_valid_packet(const CommonTlmPacket *packet)
有効なパケットかチェックする
void CTP_set_apid(CommonTlmPacket *packet, APID apid)
APID を設定
void CTP_set_global_time(CommonTlmPacket *packet)
現在の Global Time を設定
ctp_dest_flags_t CTP_get_dest_flags(const CommonTlmPacket *packet)
CTP_DEST_FLAG の & を取った flags を取得
uint8_t ctp_dest_flags_t
CTP_DEST_FLAG の & をとったフラグのための型
uint32_t CTP_get_on_board_subnet_time(const CommonTlmPacket *packet)
On-Board Subnetwork Time を取得
CTP_DEST_FLAG
配送先指定.テレメのキューを指定するフラグ.
@ CTP_DEST_FLAG_RT_TLM
00000010b: Realtime Telemetry
@ CTP_DEST_FLAG_RESERVE4
10000000b: 将来拡張用の確保領域
@ CTP_DEST_FLAG_HP_TLM
00000001b: High Priority Realtime Telemetry
@ CTP_DEST_FLAG_ST_TLM
00000100b: Stored Telemetry
@ CTP_DEST_FLAG_RESERVE2
00100000b: 将来拡張用の確保領域
@ CTP_DEST_FLAG_RESERVE1
00010000b: 将来拡張用の確保領域
@ CTP_DEST_FLAG_RP_TLM
00001000b: Replay Telemetry
@ CTP_DEST_FLAG_RESERVE3
01000000b: 将来拡張用の確保領域
void CTP_copy_packet(CommonTlmPacket *dest, const CommonTlmPacket *src)
CommonTlmPacket をコピー
void CTP_set_on_board_subnet_time(CommonTlmPacket *packet)
現在の On-Board Subnetwork Time を設定
uint16_t CTP_get_packet_len(const CommonTlmPacket *packet)
パケット長を取得
APID CTP_get_apid(const CommonTlmPacket *packet)
APID を取得
double CTP_get_global_time(const CommonTlmPacket *packet)
Global Time を取得
TLM_CODE CTP_get_id(const CommonTlmPacket *packet)
TLM ID を取得
void CTP_set_id(CommonTlmPacket *packet, TLM_CODE id)
TLM ID を設定
void CTP_set_dest_flags(CommonTlmPacket *packet, ctp_dest_flags_t flags)
CTP_DEST_FLAG の & を取った flags を設定
Space Packet (テレメ用)
テレメトリ定義