C2A_Core
common_tlm_packet.h ファイル

CTP 関連基本関数の宣言 [詳解]

common_tlm_packet.h の依存先関係図:
被依存関係図:

[ソースコード]

型定義

typedef uint8_t ctp_dest_flags_t
 CTP_DEST_FLAG の & をとったフラグのための型 [詳解]
 

列挙型

enum  CTP_DEST_FLAG {
  CTP_DEST_FLAG_HP_TLM = 0x01 , CTP_DEST_FLAG_RT_TLM = 0x02 , CTP_DEST_FLAG_ST_TLM = 0x04 , CTP_DEST_FLAG_RP_TLM = 0x08 ,
  CTP_DEST_FLAG_RESERVE1 = 0x10 , CTP_DEST_FLAG_RESERVE2 = 0x20 , CTP_DEST_FLAG_RESERVE3 = 0x40 , CTP_DEST_FLAG_RESERVE4 = 0x80
}
 配送先指定.テレメのキューを指定するフラグ. [詳解]
 

関数

int CTP_is_valid_packet (const CommonTlmPacket *packet)
 有効なパケットかチェックする [詳解]
 
APID CTP_get_apid (const CommonTlmPacket *packet)
 APID を取得 [詳解]
 
void CTP_set_apid (CommonTlmPacket *packet, APID apid)
 APID を設定 [詳解]
 
double CTP_get_global_time (const CommonTlmPacket *packet)
 Global Time を取得 [詳解]
 
void CTP_set_global_time (CommonTlmPacket *packet)
 現在の Global Time を設定 [詳解]
 
uint32_t CTP_get_on_board_subnet_time (const CommonTlmPacket *packet)
 On-Board Subnetwork Time を取得 [詳解]
 
void CTP_set_on_board_subnet_time (CommonTlmPacket *packet)
 現在の On-Board Subnetwork Time を設定 [詳解]
 
ctp_dest_flags_t CTP_get_dest_flags (const CommonTlmPacket *packet)
 CTP_DEST_FLAG の & を取った flags を取得 [詳解]
 
void CTP_set_dest_flags (CommonTlmPacket *packet, ctp_dest_flags_t flags)
 CTP_DEST_FLAG の & を取った flags を設定 [詳解]
 
TLM_CODE CTP_get_id (const CommonTlmPacket *packet)
 TLM ID を取得 [詳解]
 
void CTP_set_id (CommonTlmPacket *packet, TLM_CODE id)
 TLM ID を設定 [詳解]
 
uint16_t CTP_get_packet_len (const CommonTlmPacket *packet)
 パケット長を取得 [詳解]
 
uint8_t * CTP_get_user_data_head (CommonTlmPacket *packet)
 ADU 分割なしの場合の User Data 先頭のポインタを取得 [詳解]
 
void CTP_copy_packet (CommonTlmPacket *dest, const CommonTlmPacket *src)
 CommonTlmPacket をコピー [詳解]
 

詳解

CTP 関連基本関数の宣言

覚え書き
CTP: CommonTlmPacket

common_tlm_packet.h に定義があります。

型定義詳解

◆ ctp_dest_flags_t

typedef uint8_t ctp_dest_flags_t

CTP_DEST_FLAG の & をとったフラグのための型

common_tlm_packet.h19 行目に定義があります。

列挙型詳解

◆ CTP_DEST_FLAG

配送先指定.テレメのキューを指定するフラグ.

覚え書き
8bit のフラグ.重送できるように, bit ごとのフラグとする
これらのフラグの & を取ったものの方は ctp_dest_flags_t
列挙値
CTP_DEST_FLAG_HP_TLM 

00000001b: High Priority Realtime Telemetry

CTP_DEST_FLAG_RT_TLM 

00000010b: Realtime Telemetry

CTP_DEST_FLAG_ST_TLM 

00000100b: Stored Telemetry

CTP_DEST_FLAG_RP_TLM 

00001000b: Replay Telemetry

CTP_DEST_FLAG_RESERVE1 

00010000b: 将来拡張用の確保領域

CTP_DEST_FLAG_RESERVE2 

00100000b: 将来拡張用の確保領域

CTP_DEST_FLAG_RESERVE3 

01000000b: 将来拡張用の確保領域

CTP_DEST_FLAG_RESERVE4 

10000000b: 将来拡張用の確保領域

common_tlm_packet.h27 行目に定義があります。

関数詳解

◆ CTP_copy_packet()

void CTP_copy_packet ( CommonTlmPacket dest,
const CommonTlmPacket src 
)

CommonTlmPacket をコピー

覚え書き
user 実装次第だが,高速化のためすすべてではなく必要最低限しかコピーしない場合もある
引数
[in,out]destコピー先 CTP
[in]srcコピー元 CTP
戻り値
void

common_tlm_packet.c85 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_get_apid()

APID CTP_get_apid ( const CommonTlmPacket packet)

APID を取得

引数
packetCTP
戻り値
APID

common_tlm_packet.c21 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_get_dest_flags()

ctp_dest_flags_t CTP_get_dest_flags ( const CommonTlmPacket packet)

CTP_DEST_FLAG の & を取った flags を取得

引数
packetCTP
戻り値
Dest Flags

common_tlm_packet.c55 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_get_global_time()

double CTP_get_global_time ( const CommonTlmPacket packet)

Global Time を取得

覚え書き
何が設定されているかは user 定義
引数
packetCTP
戻り値
Global Time

common_tlm_packet.c31 行目に定義があります。

呼び出し関係図:

◆ CTP_get_id()

TLM_CODE CTP_get_id ( const CommonTlmPacket packet)

TLM ID を取得

引数
packetCTP
戻り値
TLM_CODE

common_tlm_packet.c65 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_get_on_board_subnet_time()

uint32_t CTP_get_on_board_subnet_time ( const CommonTlmPacket packet)

On-Board Subnetwork Time を取得

覚え書き
何が設定されているかは user 定義
引数
packetCTP
戻り値
On-Board Subnetwork Time

common_tlm_packet.c43 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_get_packet_len()

uint16_t CTP_get_packet_len ( const CommonTlmPacket packet)

パケット長を取得

引数
packetCTP
戻り値
packet len

common_tlm_packet.c75 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_get_user_data_head()

uint8_t* CTP_get_user_data_head ( CommonTlmPacket packet)

ADU 分割なしの場合の User Data 先頭のポインタを取得

引数
packetCTP
覚え書き
FIXME: この関数で取得したポインタ経由で tlm のデータをセットする事があるため, const をつけていない 引数の const を外しても良いかも?

common_tlm_packet.c80 行目に定義があります。

呼び出し関係図:

◆ CTP_is_valid_packet()

int CTP_is_valid_packet ( const CommonTlmPacket packet)

有効なパケットかチェックする

覚え書き
NULL チェックも行う
OBC の外から来たパケットな可能性もあるので,このC2Aで扱えるサイズかもチェックする
引数
packetCTP
戻り値
1True
0False

common_tlm_packet.c13 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_set_apid()

void CTP_set_apid ( CommonTlmPacket packet,
APID  apid 
)

APID を設定

引数
[in,out]packetCTP
[in]apidAPID
戻り値
void

common_tlm_packet.c26 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_set_dest_flags()

void CTP_set_dest_flags ( CommonTlmPacket packet,
ctp_dest_flags_t  flags 
)

CTP_DEST_FLAG の & を取った flags を設定

引数
[in,out]packetCTP
[in]flagsDest Flags
戻り値
void

common_tlm_packet.c60 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_set_global_time()

void CTP_set_global_time ( CommonTlmPacket packet)

現在の Global Time を設定

覚え書き
何を設定するかは user 定義
引数
[in,out]packetCTP
戻り値
void

common_tlm_packet.c36 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ CTP_set_id()

void CTP_set_id ( CommonTlmPacket packet,
TLM_CODE  id 
)

TLM ID を設定

引数
[in,out]packetCTP
[in]idTLM_CODE
戻り値
void

common_tlm_packet.c70 行目に定義があります。

呼び出し関係図:

◆ CTP_set_on_board_subnet_time()

void CTP_set_on_board_subnet_time ( CommonTlmPacket packet)

現在の On-Board Subnetwork Time を設定

覚え書き
何を設定するかは user 定義
引数
[in,out]packetCTP
戻り値
void

common_tlm_packet.c48 行目に定義があります。

呼び出し関係図:
被呼び出し関係図: