|
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 行目に定義があります。