C2A_Core
command_analyze.h ファイル

コマンドの実行・登録,コマンド関連処理 [詳解]

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

[ソースコード]

データ構造

struct  CA_PackedParamSizeInfo
 パラメタのサイズ情報を圧縮した構造体 [詳解]
 
struct  CA_CmdInfo
 コマンドテーブルの要素となる構造体 [詳解]
 
struct  CommandAnalyze
 CommandAnalyze の Info 構造体 [詳解]
 

マクロ定義

#define CA_TLM_PAGE_SIZE   (32)
 コマンドテーブルの1テレメトリパケット(=1ページ)に格納されるコマンド数(ページネーション用) [詳解]
 
#define CA_TLM_PAGE_MAX   (48)
 コマンドテーブルページ数(ページネーション用) [詳解]
 
#define CA_MAX_CMDS   (CA_TLM_PAGE_SIZE * CA_TLM_PAGE_MAX)
 コマンドテーブルサイズ.すなわち登録できる最大コマンド数 [詳解]
 
#define CA_MAX_CMD_PARAM_NUM   (6)
 コマンドパラメタ(引数)の最大数.現時点ではユーザー側で可変にすることを想定してはない [詳解]
 

列挙型

enum  CA_ACK { CA_ACK_OK = 0 , CA_ACK_ERR }
 
enum  CA_PARAM_SIZE_TYPE {
  CA_PARAM_SIZE_TYPE_NONE = 0 , CA_PARAM_SIZE_TYPE_1BYTE , CA_PARAM_SIZE_TYPE_2BYTE , CA_PARAM_SIZE_TYPE_4BYTE ,
  CA_PARAM_SIZE_TYPE_8BYTE , CA_PARAM_SIZE_TYPE_RAW = 0xf
}
 コマンドパラメタサイズ [詳解]
 

関数

void CA_initialize (void)
 CA の初期化 [詳解]
 
CCP_CmdRet CA_execute_cmd (const CommonCmdPacket *packet)
 コマンド実行の本体 [詳解]
 
uint8_t CA_get_cmd_param_num (CMD_CODE cmd_code)
 コマンドパラメタ数を取得する [詳解]
 
uint8_t CA_get_cmd_param_size (CMD_CODE cmd_code, uint8_t n)
 コマンドパラメタサイズを取得する [詳解]
 
uint16_t CA_get_cmd_param_min_len (CMD_CODE cmd_code)
 最小コマンドパラメタ長を取得する [詳解]
 
CA_ACK CA_ckeck_cmd_param_len (CMD_CODE cmd_code, uint16_t param_len)
 コマンドパラメタ長をチェックする [詳解]
 
int CA_has_raw_param (CMD_CODE cmd_code)
 RAW パラメタを持っているか? [詳解]
 
void CA_load_cmd_table (CA_CmdInfo cmd_table[CA_MAX_CMDS])
 Cmd Tableのロード [詳解]
 
CCP_CmdRet Cmd_CA_INIT (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_CA_REGISTER_CMD (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_CA_SET_PAGE_FOR_TLM (const CommonCmdPacket *packet)
 

変数

const CommandAnalyze *const command_analyze
 

詳解

コマンドの実行・登録,コマンド関連処理

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

マクロ定義詳解

◆ CA_MAX_CMD_PARAM_NUM

#define CA_MAX_CMD_PARAM_NUM   (6)

コマンドパラメタ(引数)の最大数.現時点ではユーザー側で可変にすることを想定してはない

command_analyze.h15 行目に定義があります。

◆ CA_MAX_CMDS

#define CA_MAX_CMDS   (CA_TLM_PAGE_SIZE * CA_TLM_PAGE_MAX)

コマンドテーブルサイズ.すなわち登録できる最大コマンド数

command_analyze.h14 行目に定義があります。

◆ CA_TLM_PAGE_MAX

#define CA_TLM_PAGE_MAX   (48)

コマンドテーブルページ数(ページネーション用)

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

◆ CA_TLM_PAGE_SIZE

#define CA_TLM_PAGE_SIZE   (32)

コマンドテーブルの1テレメトリパケット(=1ページ)に格納されるコマンド数(ページネーション用)

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

列挙型詳解

◆ CA_ACK

enum CA_ACK
列挙値
CA_ACK_OK 

正常終了

CA_ACK_ERR 

エラー

command_analyze.h25 行目に定義があります。

◆ CA_PARAM_SIZE_TYPE

コマンドパラメタサイズ

覚え書き
unsigned 4bit 変数を想定
列挙値
CA_PARAM_SIZE_TYPE_NONE 

パラメタなし

CA_PARAM_SIZE_TYPE_1BYTE 

1 byte

CA_PARAM_SIZE_TYPE_2BYTE 

2 byte

CA_PARAM_SIZE_TYPE_4BYTE 

4 byte

CA_PARAM_SIZE_TYPE_8BYTE 

8 byte

CA_PARAM_SIZE_TYPE_RAW 

RAW パラメタ

command_analyze.h55 行目に定義があります。

関数詳解

◆ CA_ckeck_cmd_param_len()

CA_ACK CA_ckeck_cmd_param_len ( CMD_CODE  cmd_code,
uint16_t  param_len 
)

コマンドパラメタ長をチェックする

引数
cmd_codeチェックするコマンドのID
param_lenパラメタ長
戻り値
CA_ACK
覚え書き
不正な引数の場合は CA_ACK_ERR を返す

command_analyze.c146 行目に定義があります。

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

◆ CA_execute_cmd()

CCP_CmdRet CA_execute_cmd ( const CommonCmdPacket packet)

コマンド実行の本体

引数
packet実行するコマンド
戻り値
CCP_CmdRet

command_analyze.c56 行目に定義があります。

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

◆ CA_get_cmd_param_min_len()

uint16_t CA_get_cmd_param_min_len ( CMD_CODE  cmd_code)

最小コマンドパラメタ長を取得する

引数
cmd_codeチェックするコマンドのID
戻り値
コマンドパラメタ長
覚え書き
不正な引数の場合は 0 を返す
RAW パラメタはサイズ 0 として計算するため,最小コマンドパラメタ長となる

command_analyze.c132 行目に定義があります。

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

◆ CA_get_cmd_param_num()

uint8_t CA_get_cmd_param_num ( CMD_CODE  cmd_code)

コマンドパラメタ数を取得する

引数
cmd_codeチェックするコマンドのID
戻り値
コマンドパラメタ数
覚え書き
不正な引数の場合は 0 を返す

command_analyze.c93 行目に定義があります。

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

◆ CA_get_cmd_param_size()

uint8_t CA_get_cmd_param_size ( CMD_CODE  cmd_code,
uint8_t  n 
)

コマンドパラメタサイズを取得する

引数
cmd_codeチェックするコマンドのID
nN番目のパラメタ (0起算)
戻り値
コマンドパラメタサイズ
覚え書き
不正な引数の場合は 0 を返す

command_analyze.c108 行目に定義があります。

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

◆ CA_has_raw_param()

int CA_has_raw_param ( CMD_CODE  cmd_code)

RAW パラメタを持っているか?

引数
cmd_codeチェックするコマンドのID
戻り値
1RAW パラメタあり
0RAW パラメタなし or 不正な引数

command_analyze.c164 行目に定義があります。

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

◆ CA_initialize()

void CA_initialize ( void  )

CA の初期化

引数
void
戻り値
void

command_analyze.c37 行目に定義があります。

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

◆ CA_load_cmd_table()

void CA_load_cmd_table ( CA_CmdInfo  cmd_table[CA_MAX_CMDS])

Cmd Tableのロード

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

command_definitions.c11 行目に定義があります。

被呼び出し関係図:

◆ Cmd_CA_INIT()

CCP_CmdRet Cmd_CA_INIT ( const CommonCmdPacket packet)

command_analyze.c186 行目に定義があります。

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

◆ Cmd_CA_REGISTER_CMD()

CCP_CmdRet Cmd_CA_REGISTER_CMD ( const CommonCmdPacket packet)

command_analyze.c193 行目に定義があります。

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

◆ Cmd_CA_SET_PAGE_FOR_TLM()

CCP_CmdRet Cmd_CA_SET_PAGE_FOR_TLM ( const CommonCmdPacket packet)

command_analyze.c224 行目に定義があります。

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

変数詳解

◆ command_analyze

const CommandAnalyze* const command_analyze
extern

command_analyze.c34 行目に定義があります。