|
C2A_Core
|
コマンドの実行・登録,コマンド関連処理 [詳解]
#include "common_cmd_packet.h"#include "common_cmd_packet_util.h"#include <src_user/TlmCmd/command_definitions.h>#include <src_user/Settings/TlmCmd/command_analyze_params.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 に定義があります。
| #define CA_MAX_CMD_PARAM_NUM (6) |
コマンドパラメタ(引数)の最大数.現時点ではユーザー側で可変にすることを想定してはない
command_analyze.h の 15 行目に定義があります。
| #define CA_MAX_CMDS (CA_TLM_PAGE_SIZE * CA_TLM_PAGE_MAX) |
コマンドテーブルサイズ.すなわち登録できる最大コマンド数
command_analyze.h の 14 行目に定義があります。
| #define CA_TLM_PAGE_MAX (48) |
コマンドテーブルページ数(ページネーション用)
command_analyze.h の 13 行目に定義があります。
| #define CA_TLM_PAGE_SIZE (32) |
コマンドテーブルの1テレメトリパケット(=1ページ)に格納されるコマンド数(ページネーション用)
command_analyze.h の 12 行目に定義があります。
| enum CA_ACK |
| 列挙値 | |
|---|---|
| CA_ACK_OK | 正常終了 |
| CA_ACK_ERR | エラー |
command_analyze.h の 25 行目に定義があります。
| enum CA_PARAM_SIZE_TYPE |
コマンドパラメタサイズ
| 列挙値 | |
|---|---|
| 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.h の 55 行目に定義があります。
コマンドパラメタ長をチェックする
| cmd_code | チェックするコマンドのID |
| param_len | パラメタ長 |
command_analyze.c の 146 行目に定義があります。
| CCP_CmdRet CA_execute_cmd | ( | const CommonCmdPacket * | packet | ) |
| uint16_t CA_get_cmd_param_min_len | ( | CMD_CODE | cmd_code | ) |
最小コマンドパラメタ長を取得する
| cmd_code | チェックするコマンドのID |
command_analyze.c の 132 行目に定義があります。
| uint8_t CA_get_cmd_param_num | ( | CMD_CODE | cmd_code | ) |
コマンドパラメタ数を取得する
| cmd_code | チェックするコマンドのID |
command_analyze.c の 93 行目に定義があります。
| uint8_t CA_get_cmd_param_size | ( | CMD_CODE | cmd_code, |
| uint8_t | n | ||
| ) |
コマンドパラメタサイズを取得する
| cmd_code | チェックするコマンドのID |
| n | N番目のパラメタ (0起算) |
command_analyze.c の 108 行目に定義があります。
| int CA_has_raw_param | ( | CMD_CODE | cmd_code | ) |
RAW パラメタを持っているか?
| cmd_code | チェックするコマンドのID |
| 1 | RAW パラメタあり |
| 0 | RAW パラメタなし or 不正な引数 |
command_analyze.c の 164 行目に定義があります。
| void CA_initialize | ( | void | ) |
| void CA_load_cmd_table | ( | CA_CmdInfo | cmd_table[CA_MAX_CMDS] | ) |
Cmd Tableのロード
| cmd_table | Cmd Tableの実体 |
command_definitions.c の 11 行目に定義があります。
| 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 | ) |
|
extern |
command_analyze.c の 34 行目に定義があります。