C2A_Core
|
コマンド分割をサポートするUtil [詳解]
#include "../System/ApplicationManager/app_info.h"
#include "../TlmCmd/common_cmd_packet.h"
#include "../System/TimeManager/obc_time.h"
#include <src_user/TlmCmd/command_definitions.h>
#include <src_user/Settings/Applications/divided_cmd_utility_params.h>
データ構造 | |
struct | DCU_ExecStatus |
実行状況 [詳解] | |
struct | DividedCmdUtility |
DividedCmdUtility の AppInfo 構造体 [詳解] | |
マクロ定義 | |
#define | DCU_LOG_MAX (16) |
保存するログの最大数 [詳解] | |
列挙型 | |
enum | DCU_ACK { DCU_ACK_OK = 0 , DCU_ACK_ERR } |
汎用返り値 [詳解] | |
enum | DCU_STATUS { DCU_STATUS_FINISHED = 0 , DCU_STATUS_PROGRESS , DCU_STATUS_ABORTED_BY_ERR , DCU_STATUS_ABORTED_BY_CMD } |
実行状況 [詳解] | |
enum | DCU_LOG_ACK { DCU_LOG_ACK_OK = 0 , DCU_LOG_ACK_NOT_FOUND } |
ログ操作の返り値 [詳解] | |
関数 | |
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) |
ログをクリアする [詳解] | |
変数 | |
const DividedCmdUtility *const | divided_cmd_utility |
コマンド分割をサポートするUtil
divided_cmd_utility.h に定義があります。
#define DCU_LOG_MAX (16) |
保存するログの最大数
divided_cmd_utility.h の 21 行目に定義があります。
enum DCU_ACK |
enum DCU_LOG_ACK |
ログ操作の返り値
列挙値 | |
---|---|
DCU_LOG_ACK_OK | 正常終了 |
DCU_LOG_ACK_NOT_FOUND | 指定ログが見つからず |
divided_cmd_utility.h の 61 行目に定義があります。
enum DCU_STATUS |
実行状況
列挙値 | |
---|---|
DCU_STATUS_FINISHED | 実行終了 or 未実行 |
DCU_STATUS_PROGRESS | 実行中 |
DCU_STATUS_ABORTED_BY_ERR | エラーにより中断 |
DCU_STATUS_ABORTED_BY_CMD | コマンドにより中断 |
divided_cmd_utility.h の 47 行目に定義があります。
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 行目に定義があります。
AppInfo DCU_create_app | ( | void | ) |
void DCU_donw_abort_flag | ( | CMD_CODE | cmd_code | ) |
エラー,またはコマンドによって中断ステータスとなっているコマンドを,実行可能状態に戻す
[in] | cmd_code | 実行可能状態に戻すコマンドの CMD_CODE |
divided_cmd_utility.c の 249 行目に定義があります。
次の分割の実行を登録
[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 行目に定義があります。
|
extern |
divided_cmd_utility.c の 71 行目に定義があります。