C2A_Core
telemetry_frame.h ファイル

テレメトリの登録,テレメトリ関連処理 [詳解]

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

[ソースコード]

データ構造

struct  TF_TlmInfo
 tlm の情報 [詳解]
 
struct  TelemetryFrame
 TelemetryFrame の Info 構造体 [詳解]
 

マクロ定義

#define TF_TLM_PAGE_SIZE   (64)
 テレメテーブルの1テレメトリパケット(=1ページ)に格納されるテレメ数 [詳解]
 
#define TF_TLM_PAGE_MAX   (4)
 テレメテーブルページ数(ページネーション用) [詳解]
 
#define TF_MAX_TLMS   (TF_TLM_PAGE_SIZE * TF_TLM_PAGE_MAX)
 テレメテーブルサイズ.すなわち登録できる最大テレメ数 [詳解]
 

列挙型

enum  TF_TLM_FUNC_ACK {
  TF_TLM_FUNC_ACK_SUCCESS , TF_TLM_FUNC_ACK_TOO_SHORT_LEN , TF_TLM_FUNC_ACK_NOT_DEFINED , TF_TLM_FUNC_ACK_NULL_PACKET ,
  TF_TLM_FUNC_ACK_UNKNOWN_ERR
}
 tlm_func の返り値につかう [詳解]
 

関数

void TF_initialize (void)
 TF の初期化 [詳解]
 
TF_TLM_FUNC_ACK TF_generate_contents (TLM_CODE tlm_id, uint8_t *packet, uint16_t *len, uint16_t max_len)
 テレメを実際に生成する関数 [詳解]
 
void TF_load_tlm_table (TF_TlmInfo tlm_table[TF_MAX_TLMS])
 Tlm Tableのロード [詳解]
 
CCP_CmdRet Cmd_TF_INIT (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_TF_REGISTER_TLM (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_TF_SET_PAGE_FOR_TLM (const CommonCmdPacket *packet)
 
void TF_copy_u8 (uint8_t *ptr, uint8_t data)
 
void TF_copy_u16 (uint8_t *ptr, uint16_t data)
 
void TF_copy_u32 (uint8_t *ptr, uint32_t data)
 
void TF_copy_i8 (uint8_t *ptr, int8_t data)
 
void TF_copy_i16 (uint8_t *ptr, int16_t data)
 
void TF_copy_i32 (uint8_t *ptr, int32_t data)
 
void TF_copy_float (uint8_t *ptr, float data)
 
void TF_copy_double (uint8_t *ptr, double data)
 

変数

const TelemetryFrame *const telemetry_frame
 

詳解

テレメトリの登録,テレメトリ関連処理

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

マクロ定義詳解

◆ TF_MAX_TLMS

#define TF_MAX_TLMS   (TF_TLM_PAGE_SIZE * TF_TLM_PAGE_MAX)

テレメテーブルサイズ.すなわち登録できる最大テレメ数

telemetry_frame.h13 行目に定義があります。

◆ TF_TLM_PAGE_MAX

#define TF_TLM_PAGE_MAX   (4)

テレメテーブルページ数(ページネーション用)

telemetry_frame.h12 行目に定義があります。

◆ TF_TLM_PAGE_SIZE

#define TF_TLM_PAGE_SIZE   (64)

テレメテーブルの1テレメトリパケット(=1ページ)に格納されるテレメ数

telemetry_frame.h11 行目に定義があります。

列挙型詳解

◆ TF_TLM_FUNC_ACK

tlm_func の返り値につかう

覚え書き
uint8_t を想定
列挙値
TF_TLM_FUNC_ACK_SUCCESS 

成功

TF_TLM_FUNC_ACK_TOO_SHORT_LEN 

CommonTlmPacket が,生成されるテレメに比べて小さすぎる(定義されたテレメが大きすぎる)

TF_TLM_FUNC_ACK_NOT_DEFINED 

定義されてないテレメ

TF_TLM_FUNC_ACK_NULL_PACKET 

2nd OBC などのテレメを生成する時,まだ1つもそのテレメパケットを 2nd OBC から受信していない

TF_TLM_FUNC_ACK_UNKNOWN_ERR 

その他のエラー

telemetry_frame.h22 行目に定義があります。

関数詳解

◆ Cmd_TF_INIT()

CCP_CmdRet Cmd_TF_INIT ( const CommonCmdPacket packet)

telemetry_frame.c102 行目に定義があります。

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

◆ Cmd_TF_REGISTER_TLM()

CCP_CmdRet Cmd_TF_REGISTER_TLM ( const CommonCmdPacket packet)

telemetry_frame.c109 行目に定義があります。

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

◆ Cmd_TF_SET_PAGE_FOR_TLM()

CCP_CmdRet Cmd_TF_SET_PAGE_FOR_TLM ( const CommonCmdPacket packet)

telemetry_frame.c124 行目に定義があります。

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

◆ TF_copy_double()

void TF_copy_double ( uint8_t *  ptr,
double  data 
)

telemetry_frame.c97 行目に定義があります。

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

◆ TF_copy_float()

void TF_copy_float ( uint8_t *  ptr,
float  data 
)

telemetry_frame.c92 行目に定義があります。

呼び出し関係図:

◆ TF_copy_i16()

void TF_copy_i16 ( uint8_t *  ptr,
int16_t  data 
)

telemetry_frame.c82 行目に定義があります。

呼び出し関係図:

◆ TF_copy_i32()

void TF_copy_i32 ( uint8_t *  ptr,
int32_t  data 
)

telemetry_frame.c87 行目に定義があります。

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

◆ TF_copy_i8()

void TF_copy_i8 ( uint8_t *  ptr,
int8_t  data 
)

telemetry_frame.c77 行目に定義があります。

被呼び出し関係図:

◆ TF_copy_u16()

void TF_copy_u16 ( uint8_t *  ptr,
uint16_t  data 
)

telemetry_frame.c67 行目に定義があります。

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

◆ TF_copy_u32()

void TF_copy_u32 ( uint8_t *  ptr,
uint32_t  data 
)

telemetry_frame.c72 行目に定義があります。

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

◆ TF_copy_u8()

void TF_copy_u8 ( uint8_t *  ptr,
uint8_t  data 
)

telemetry_frame.c62 行目に定義があります。

被呼び出し関係図:

◆ TF_generate_contents()

TF_TLM_FUNC_ACK TF_generate_contents ( TLM_CODE  tlm_id,
uint8_t *  packet,
uint16_t *  len,
uint16_t  max_len 
)

テレメを実際に生成する関数

引数
[in]tlm_idTlm ID
[out]packetテレメを作る uint8_t にシリアライズされた packet へのポインタ
[out]len生成したテレメのパケット長
[in]max_len許容できる最大テレメパケット長
戻り値
TF_TLM_FUNC_ACK

telemetry_frame.c19 行目に定義があります。

被呼び出し関係図:

◆ TF_initialize()

void TF_initialize ( void  )

TF の初期化

引数
void
戻り値
void

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

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

◆ TF_load_tlm_table()

void TF_load_tlm_table ( TF_TlmInfo  tlm_table[TF_MAX_TLMS])

Tlm Tableのロード

覚え書き
定義は /src_user/TlmCmd/TelemetryDefinitions.c にある
引数
tlm_tableTlm Tableの実体
戻り値
void

telemetry_definitions.c35 行目に定義があります。

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

変数詳解

◆ telemetry_frame

const TelemetryFrame* const telemetry_frame
extern

telemetry_frame.c16 行目に定義があります。