C2A_Core
|
コマンド分割をサポートするUtil [詳解]
#include "divided_cmd_utility.h"
#include "../TlmCmd/packet_handler.h"
#include "../TlmCmd/common_cmd_packet_util.h"
#include "../System/TimeManager/time_manager.h"
#include "../System/EventManager/event_logger.h"
関数 | |
static void | DCU_init_ (void) |
App初期化関数 [詳解] | |
static void | DCU_clear_log_ (void) |
ログクリア [詳解] | |
static void | DCU_clear_log_element_ (uint8_t log_idx, CMD_CODE cmd_code) |
ログクリア(1要素) [詳解] | |
static DCU_LOG_ACK | DCU_search_log_ (CMD_CODE cmd_code, uint8_t *log_idx, uint8_t *sort_key) |
該当コマンドのログを検索し取得する [詳解] | |
static void | DCU_move_to_front_in_log_ (CMD_CODE cmd_code) |
該当コマンドのログを,ログの先頭に出す [詳解] | |
static void | DCU_create_log_on_front_ (CMD_CODE cmd_code) |
先頭に該当コマンドのログをつくる [詳解] | |
AppInfo | DCU_create_app (void) |
DCU_STATUS | DCU_check_in (CMD_CODE cmd_code, uint16_t *exec_counter) |
DCUにチェックインする.分割コマンド実行時,最初に呼び出す関数. [詳解] | |
DCU_ACK | DCU_register_next (CMD_CODE cmd_code, const uint8_t *param, uint16_t len) |
次の分割の実行を登録 [詳解] | |
void | DCU_report_finish (CMD_CODE cmd_code, CCP_EXEC_STS last_exec_sts) |
DCUに,分割コマンドが実行終了したことを伝える [詳解] | |
void | DCU_report_err (CMD_CODE cmd_code, CCP_EXEC_STS last_exec_sts) |
DCUに,途中でエラーが発生したことを伝える [詳解] | |
void | DCU_donw_abort_flag (CMD_CODE cmd_code) |
エラー,またはコマンドによって中断ステータスとなっているコマンドを,実行可能状態に戻す [詳解] | |
void | DCU_abort_cmd (CMD_CODE cmd_code) |
実行中の分割コマンドを外部から強制的に中断させる [詳解] | |
DCU_LOG_ACK | DCU_search_and_get_log (CMD_CODE cmd_code, const DCU_ExecStatus *exec_log) |
ログを探して,指定したコマンドログを取得する [詳解] | |
CCP_CmdRet | Cmd_DCU_ABORT_CMD (const CommonCmdPacket *packet) |
実行中の分割コマンドを停止する [詳解] | |
CCP_CmdRet | Cmd_DCU_DOWN_ABORT_FLAG (const CommonCmdPacket *packet) |
エラー,またはコマンドによって中断ステータスとなっているコマンドを,実行可能状態に戻す [詳解] | |
CCP_CmdRet | Cmd_DCU_CLEAR_LOG (const CommonCmdPacket *packet) |
ログをクリアする [詳解] | |
変数 | |
static DividedCmdUtility | divided_cmd_utility_ |
const DividedCmdUtility *const | divided_cmd_utility = ÷d_cmd_utility_ |
static CommonCmdPacket | DCU_packet_ |
コマンド分割をサポートするUtil
divided_cmd_utility.c に定義があります。
CCP_CmdRet Cmd_DCU_ABORT_CMD | ( | const CommonCmdPacket * | packet | ) |
実行中の分割コマンドを停止する
divided_cmd_utility.c の 287 行目に定義があります。
CCP_CmdRet Cmd_DCU_CLEAR_LOG | ( | const CommonCmdPacket * | packet | ) |
CCP_CmdRet Cmd_DCU_DOWN_ABORT_FLAG | ( | const CommonCmdPacket * | packet | ) |
エラー,またはコマンドによって中断ステータスとなっているコマンドを,実行可能状態に戻す
divided_cmd_utility.c の 298 行目に定義があります。
void DCU_abort_cmd | ( | CMD_CODE | cmd_code | ) |
実行中の分割コマンドを外部から強制的に中断させる
[in] | cmd_code | 停止させるコマンドの CMD_CODE |
divided_cmd_utility.c の 260 行目に定義があります。
DCU_STATUS DCU_check_in | ( | CMD_CODE | cmd_code, |
uint16_t * | exec_counter | ||
) |
DCUにチェックインする.分割コマンド実行時,最初に呼び出す関数.
[in] | cmd_code | 自身の CMD_CODE |
[out] | exec_counter | 次の実行回数が何回目か? |
DCU_STATUS_FINISHED | 初回実行である. exec_counter は 0 を返す. |
DCU_STATUS_PROGRESS | 分割2回目以降の実行である |
DCU_STATUS_ABORTED_BY_ERR | エラーが発生しているので,実行を中止すべき( CCP_EXEC_ILLEGAL_CONTEXT を返すべき ) |
DCU_STATUS_ABORTED_BY_CMD | 実行中断コマンドを受信しているので,実行を中止すべき( CCP_EXEC_ILLEGAL_CONTEXT を返すべき ) |
divided_cmd_utility.c の 177 行目に定義があります。
|
static |
|
static |
ログクリア(1要素)
[in] | log_idx | 消すログ |
[in] | cmd_code | 設定するコマンドID |
divided_cmd_utility.c の 99 行目に定義があります。
AppInfo DCU_create_app | ( | void | ) |
|
static |
先頭に該当コマンドのログをつくる
[in] | cmd_code | 先頭に作るコマンド |
divided_cmd_utility.c の 152 行目に定義があります。
void DCU_donw_abort_flag | ( | CMD_CODE | cmd_code | ) |
エラー,またはコマンドによって中断ステータスとなっているコマンドを,実行可能状態に戻す
[in] | cmd_code | 実行可能状態に戻すコマンドの CMD_CODE |
divided_cmd_utility.c の 249 行目に定義があります。
|
static |
|
static |
該当コマンドのログを,ログの先頭に出す
[in] | cmd_code | 先頭に出すコマンド |
divided_cmd_utility.c の 130 行目に定義があります。
次の分割の実行を登録
[in] | cmd_code | 自身の CMD_CODE |
[in] | param | コマンドパラメタ |
[in] | len | パラメタ長 |
divided_cmd_utility.c の 205 行目に定義があります。
void DCU_report_err | ( | CMD_CODE | cmd_code, |
CCP_EXEC_STS | last_exec_sts | ||
) |
DCUに,途中でエラーが発生したことを伝える
[in] | cmd_code | 自身の CMD_CODE |
[in] | last_exec_sts | コマンド実行結果 |
divided_cmd_utility.c の 237 行目に定義があります。
void DCU_report_finish | ( | CMD_CODE | cmd_code, |
CCP_EXEC_STS | last_exec_sts | ||
) |
DCUに,分割コマンドが実行終了したことを伝える
[in] | cmd_code | 自身の CMD_CODE |
[in] | last_exec_sts | コマンド実行結果 |
divided_cmd_utility.c の 225 行目に定義があります。
DCU_LOG_ACK DCU_search_and_get_log | ( | CMD_CODE | cmd_code, |
const DCU_ExecStatus * | exec_log | ||
) |
ログを探して,指定したコマンドログを取得する
[in] | cmd_code | 探すコマンド |
[out] | exec_log | 取得したログ.constポインタで,参照先を書き換えるため,NULLポインタを渡すのもOK // FIXME: これバグってない?(ダブルポインタにすべき?) |
DCU_LOG_ACK_OK | 見つかった |
DCU_LOG_ACK_NOT_FOUND | 見つからず |
divided_cmd_utility.c の 271 行目に定義があります。
|
static |
該当コマンドのログを検索し取得する
[in] | cmd_code | 探索するコマンド |
[out] | log_idx | exec_logs におけるログの場所 |
[out] | sort_key | exec_log_order におけるログの場所 |
DCU_LOG_ACK_OK | 見つかった |
DCU_LOG_ACK_NOT_FOUND | 見つからず |
divided_cmd_utility.c の 109 行目に定義があります。
|
static |
divided_cmd_utility.c の 73 行目に定義があります。
const DividedCmdUtility* const divided_cmd_utility = ÷d_cmd_utility_ |
divided_cmd_utility.c の 71 行目に定義があります。
|
static |
divided_cmd_utility.c の 70 行目に定義があります。