C2A_Core
event_logger.h ファイル

アノマリやエラーなどの各種イベントを記録する [詳解]

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

[ソースコード]

データ構造

struct  EL_Event
 イベント [詳解]
 
struct  EL_EventStatistics
 イベント統計情報 [詳解]
 
struct  EL_TimeSeriesLog
 時系列ログ (TLog) のログ構造定義 [詳解]
 
struct  EL_CLogElement
 累積ログ (CLog) の1要素 note group, local が同じイベントを同一とみなす [詳解]
 
struct  EL_CumulativeLog
 累積ログ (CLog) のログ構造定義 [詳解]
 
struct  EL_TlmInfo
 
struct  EventLogger
 

マクロ定義

#define EL_TLOG_TLM_PAGE_SIZE   (28)
 TLogにて,テレメ1ページにおろせるlog数 [詳解]
 
#define EL_TLOG_TLM_PAGE_MAX_HIGH   (4)
 TLogで保存するログのページ数 (EL_ERROR_LEVEL_HIGH) [詳解]
 
#define EL_TLOG_TLM_PAGE_MAX_MIDDLE   (4)
 TLogで保存するログのページ数 (EL_ERROR_LEVEL_MIDDLE) [詳解]
 
#define EL_TLOG_TLM_PAGE_MAX_LOW   (4)
 TLogで保存するログのページ数 (EL_ERROR_LEVEL_LOW) [詳解]
 
#define EL_CLOG_TLM_PAGE_SIZE   (18)
 CLogにて,テレメ1ページにおろせるlog数 [詳解]
 
#define EL_CLOG_TLM_PAGE_MAX_HIGH   (4)
 CLogで保存するログのページ数 (EL_ERROR_LEVEL_HIGH) [詳解]
 
#define EL_CLOG_TLM_PAGE_MAX_MIDDLE   (4)
 CLogで保存するログのページ数 (EL_ERROR_LEVEL_MIDDLE) [詳解]
 
#define EL_CLOG_TLM_PAGE_MAX_LOW   (4)
 CLogで保存するログのページ数 (EL_ERROR_LEVEL_LOW) [詳解]
 
#define EL_TLOG_LOG_SIZE_MAX_EL   (16)
 TLogにて保存するログ数 (EL_ERROR_LEVEL_EL) [詳解]
 
#define EL_CLOG_LOG_SIZE_MAX_EL   (8)
 CLogにて保存するログ数 (EL_ERROR_LEVEL_EL) [詳解]
 
#define EL_TLOG_LOG_SIZE_MAX_EH   (16)
 TLogにて保存するログ数 (EL_ERROR_LEVEL_EH) 小さめでOK. EH_MAX_RULE_NUM_OF_EL_ID_DUPLICATES x 多段EHの最大段数ぐらいあれば [詳解]
 
#define EL_CLOG_LOG_SIZE_MAX_EH   (8)
 CLogにて保存するログ数 (EL_ERROR_LEVEL_EH) これは EH では使われないので小さくて良い [詳解]
 
#define EL_IS_ENABLE_TLOG
 TLog を有効にするか? → これがないと event_handler は使えない [詳解]
 
#define EL_IS_ENABLE_CLOG
 CLog を有効にするか? [詳解]
 
#define EL_IS_ENABLE_EVENT_NOTE
 EL_Event.note を有効にするか? event としては (event_handler などで) 同じだが,補足情報や区別用の id を使うか? [詳解]
 
#define EL_IS_ENABLE_MIDDLE_ERROR_LEVEL
 EL_ERROR_LEVEL_MIDDLE を有効にするか? (C2A coreでは使わないので,基本無効でOK.使いたいなら有効に) [詳解]
 
#define EL_IS_ENABLE_EL_ERROR_LEVEL
 
#define SIZE_OF_EL_CLOG_COUNTER_T   (2)
 el_clog_counter_t の型サイズ.メモリインパクトがそれなりにあるので,可変に [詳解]
 
#define EL_LOG_MINIMUM_REQUIRED   (2)
 ログに求められる最小要素数 [詳解]
 
#define EL_LOG_MINIMUM_REQUIRED_EL_LOG   (4)
 ELログに求められる最小要素数 [詳解]
 
#define EL_TLOG_LOG_SIZE_MAX_HIGH   (EL_TLOG_TLM_PAGE_SIZE * EL_TLOG_TLM_PAGE_MAX_HIGH)
 
#define EL_TLOG_LOG_SIZE_MAX_MIDDLE   (EL_TLOG_TLM_PAGE_SIZE * EL_TLOG_TLM_PAGE_MAX_MIDDLE)
 
#define EL_TLOG_LOG_SIZE_MAX_LOW   (EL_TLOG_TLM_PAGE_SIZE * EL_TLOG_TLM_PAGE_MAX_LOW)
 
#define EL_CLOG_LOG_SIZE_MAX_HIGH   (EL_CLOG_TLM_PAGE_SIZE * EL_CLOG_TLM_PAGE_MAX_HIGH)
 
#define EL_CLOG_LOG_SIZE_MAX_MIDDLE   (EL_CLOG_TLM_PAGE_SIZE * EL_CLOG_TLM_PAGE_MAX_MIDDLE)
 
#define EL_CLOG_LOG_SIZE_MAX_LOW   (EL_CLOG_TLM_PAGE_SIZE * EL_CLOG_TLM_PAGE_MAX_LOW)
 

型定義

typedef uint16_t el_clog_counter_t
 

列挙型

enum  EL_CORE_GROUP {
  EL_CORE_GROUP_NULL = 0 , EL_CORE_GROUP_EVENT_LOGGER , EL_CORE_GROUP_MODE_MANAGER , EL_CORE_GROUP_TASK_DISPATCHER ,
  EL_CORE_GROUP_APP_MANAGER , EL_CORE_GROUP_TLCD_PAST_TIME , EL_CORE_GROUP_TLCD_DEPLOY_BLOCK , EL_CORE_GROUP_DCU ,
  EL_CORE_GROUP_EVENT_HANDLER , EL_CORE_GROUP_EH_MATCH_RULE , EL_CORE_GROUP_EH_RESPOND_WITH_HIGHER_LEVEL_RULE , EL_CORE_GROUP_COMMAND_ANALYZE ,
  EL_CORE_GROUP_CDIS_INTERNAL_ERR , EL_CORE_GROUP_CDIS_EXEC_ERR_STS , EL_CORE_GROUP_CDIS_EXEC_ERR_CODE , EL_CORE_GROUP_EL_DROP_CLOG1 ,
  EL_CORE_GROUP_EL_DROP_CLOG2 , EL_CORE_GROUP_MAX
}
 event_logger の Event Group の C2A core 使用分 [詳解]
 
enum  EL_EVENT_LOCAL {
  EL_EVENT_LOCAL_UNKNOWN_ERR , EL_EVENT_LOCAL_TLOG_HIGH_HALF_FULL , EL_EVENT_LOCAL_TLOG_HIGH_FULL , EL_EVENT_LOCAL_TLOG_MIDDLE_HALF_FULL ,
  EL_EVENT_LOCAL_TLOG_MIDDLE_FULL , EL_EVENT_LOCAL_TLOG_LOW_HALF_FULL , EL_EVENT_LOCAL_TLOG_LOW_FULL , EL_EVENT_LOCAL_MAX
}
 EL_CORE_GROUP_EVENT_LOGGER の local id [詳解]
 
enum  EL_ERROR_LEVEL {
  EL_ERROR_LEVEL_HIGH = 0 , EL_ERROR_LEVEL_MIDDLE , EL_ERROR_LEVEL_LOW , EL_ERROR_LEVEL_EL ,
  EL_ERROR_LEVEL_EH , EL_ERROR_LEVEL_MAX
}
 event_logger の エラーレベル [詳解]
 
enum  EL_ACK {
  EL_ACK_OK , EL_ACK_ILLEGAL_GROUP , EL_ACK_ILLEGAL_ERROR_LEVEL , EL_ACK_DISABLE_LOGGING ,
  EL_ACK_TLOG_FULL , EL_ACK_OTHER_ERR
}
 event_logger の汎用返り値 [詳解]
 

関数

void EL_initialize (void)
 event_logger の初期化 [詳解]
 
EL_ACK EL_record_event (EL_GROUP group, uint32_t local, EL_ERROR_LEVEL err_level, uint32_t note)
 イベント (EL_Event) を記録 [詳解]
 
EL_ACK EL_enable_logging (EL_GROUP group)
 event_logger の EL_Event.group の有効化 [詳解]
 
EL_ACK EL_disable_logging (EL_GROUP group)
 event_logger の EL_Event.group の無効化 [詳解]
 
int EL_is_logging_enable (EL_GROUP group)
 event_logger の EL_Event.group が有効か? [詳解]
 
void EL_enable_all_logging (void)
 event_logger の全 EL_Event.group の有効化 [詳解]
 
void EL_disable_all_logging (void)
 event_logger の全 EL_Event.group の無効化 [詳解]
 
EL_ACK EL_enable_tlog_overwrite (EL_ERROR_LEVEL err_level)
 TLog のイベントテーブルの上書きを有効化 [詳解]
 
EL_ACK EL_disable_tlog_overwrite (EL_ERROR_LEVEL err_level)
 TLog のイベントテーブルの上書きを無効化 [詳解]
 
void EL_enable_tlog_overwrite_all (void)
 TLog のイベントテーブルの上書きをすべて有効化 [詳解]
 
void EL_disable_tlog_overwrite_all (void)
 TLog のイベントテーブルの上書きをすべて無効化 [詳解]
 
int EL_is_tlog_overwrite_enable (EL_ERROR_LEVEL err_level)
 TLog のイベントテーブルの上書きが有効か? [詳解]
 
const EL_EventEL_get_the_nth_tlog_from_the_latest (EL_ERROR_LEVEL err_level, uint16_t n)
 TLog のイベントテーブルの最新からn番目のイベントを取得 [詳解]
 
CCP_CmdRet Cmd_EL_INIT (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_CLEAR_LOG_ALL (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_CLEAR_LOG_BY_ERR_LEVEL (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_CLEAR_STATISTICS (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_CLEAR_TLOG (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_CLEAR_CLOG (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_RECORD_EVENT (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_TLOG_SET_PAGE_FOR_TLM (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_CLOG_SET_PAGE_FOR_TLM (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_INIT_LOGGING_SETTINGS (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_ENABLE_LOGGING (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_DISABLE_LOGGING (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_ENABLE_LOGGING_ALL (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_DISABLE_LOGGING_ALL (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_ENABLE_TLOG_OVERWRITE (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_DISABLE_TLOG_OVERWRITE (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_ENABLE_TLOG_OVERWRITE_ALL (const CommonCmdPacket *packet)
 
CCP_CmdRet Cmd_EL_DISABLE_TLOG_OVERWRITE_ALL (const CommonCmdPacket *packet)
 

変数

const EventLogger *const event_logger
 

詳解

アノマリやエラーなどの各種イベントを記録する

覚え書き
このイベントをもとに event_handler を発火させることができる
ログは TLog (TimeSeriesLog) と CLog (EL_CumulativeLog) の二種類を準備し,必要なもののみを使う
今後, NvLog (不揮発Log) が実装予定
TLog (TimeSeriesLog) 時系列ログ ひたすら,新しい EL_Event をテーブルに追記していく. EL_get_the_nth_tlog_from_the_latest で最新からn番目が取得できる. これを有効化しないと, event_handler は使えない. テーブルが満杯になった場合,上書きするかしないかは is_enable_overwrite にて選択可能.
CLog (EL_CumulativeLog) 累積ログ EL_Event (EL_Event.group, EL_Event.local にて特定) ごとの累積カウンタを保持し,時系列ソートされる. テーブルが満杯になると最も古いものが捨てられる. 以下のような動きをする フォーマット: | log index | event | counter | time | dt |
  1. 時刻 t1: event1 が発生 | 0 | event1 | 1 | t1 | 0 |
  2. 時刻 t2: event2 が発生 | 0 | event2 | 1 | t2 | 0 | | 1 | event1 | 1 | t1 | 0 |
  3. 時刻 t3: event2 が発生 | 0 | event2 | 2 | t3 | t3 - t2 | | 1 | event1 | 1 | t1 | 0 |
  4. 時刻 t4: event1 が発生 | 0 | event1 | 2 | t4 | t4 - t1 | | 1 | event2 | 2 | t3 | t3 - t2 |
  5. 時刻 t5: event3 が発生 | 0 | event3 | 1 | t5 | 0 | | 1 | event1 | 2 | t4 | t4 - t1 | | 2 | event2 | 2 | t3 | t3 - t2 |

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

マクロ定義詳解

◆ EL_CLOG_LOG_SIZE_MAX_EH

#define EL_CLOG_LOG_SIZE_MAX_EH   (8)

CLogにて保存するログ数 (EL_ERROR_LEVEL_EH) これは EH では使われないので小さくて良い

event_logger.h63 行目に定義があります。

◆ EL_CLOG_LOG_SIZE_MAX_EL

#define EL_CLOG_LOG_SIZE_MAX_EL   (8)

CLogにて保存するログ数 (EL_ERROR_LEVEL_EL)

event_logger.h61 行目に定義があります。

◆ EL_CLOG_LOG_SIZE_MAX_HIGH

#define EL_CLOG_LOG_SIZE_MAX_HIGH   (EL_CLOG_TLM_PAGE_SIZE * EL_CLOG_TLM_PAGE_MAX_HIGH)

event_logger.h148 行目に定義があります。

◆ EL_CLOG_LOG_SIZE_MAX_LOW

#define EL_CLOG_LOG_SIZE_MAX_LOW   (EL_CLOG_TLM_PAGE_SIZE * EL_CLOG_TLM_PAGE_MAX_LOW)

event_logger.h160 行目に定義があります。

◆ EL_CLOG_LOG_SIZE_MAX_MIDDLE

#define EL_CLOG_LOG_SIZE_MAX_MIDDLE   (EL_CLOG_TLM_PAGE_SIZE * EL_CLOG_TLM_PAGE_MAX_MIDDLE)

event_logger.h153 行目に定義があります。

◆ EL_CLOG_TLM_PAGE_MAX_HIGH

#define EL_CLOG_TLM_PAGE_MAX_HIGH   (4)

CLogで保存するログのページ数 (EL_ERROR_LEVEL_HIGH)

event_logger.h56 行目に定義があります。

◆ EL_CLOG_TLM_PAGE_MAX_LOW

#define EL_CLOG_TLM_PAGE_MAX_LOW   (4)

CLogで保存するログのページ数 (EL_ERROR_LEVEL_LOW)

event_logger.h58 行目に定義があります。

◆ EL_CLOG_TLM_PAGE_MAX_MIDDLE

#define EL_CLOG_TLM_PAGE_MAX_MIDDLE   (4)

CLogで保存するログのページ数 (EL_ERROR_LEVEL_MIDDLE)

event_logger.h57 行目に定義があります。

◆ EL_CLOG_TLM_PAGE_SIZE

#define EL_CLOG_TLM_PAGE_SIZE   (18)

CLogにて,テレメ1ページにおろせるlog数

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

◆ EL_IS_ENABLE_CLOG

#define EL_IS_ENABLE_CLOG

CLog を有効にするか?

event_logger.h66 行目に定義があります。

◆ EL_IS_ENABLE_EL_ERROR_LEVEL

#define EL_IS_ENABLE_EL_ERROR_LEVEL

EL_ERROR_LEVEL_EL を有効にするか? 再帰呼び出し & 無限ループを防ぐために,EL内部のイベントは別の専用のエラーレベルで記録される. これを有効化すると,EL内部のアノマリを記録できる.

event_logger.h72 行目に定義があります。

◆ EL_IS_ENABLE_EVENT_NOTE

#define EL_IS_ENABLE_EVENT_NOTE

EL_Event.note を有効にするか? event としては (event_handler などで) 同じだが,補足情報や区別用の id を使うか?

event_logger.h68 行目に定義があります。

◆ EL_IS_ENABLE_MIDDLE_ERROR_LEVEL

#define EL_IS_ENABLE_MIDDLE_ERROR_LEVEL

EL_ERROR_LEVEL_MIDDLE を有効にするか? (C2A coreでは使わないので,基本無効でOK.使いたいなら有効に)

event_logger.h69 行目に定義があります。

◆ EL_IS_ENABLE_TLOG

#define EL_IS_ENABLE_TLOG

TLog を有効にするか? → これがないと event_handler は使えない

event_logger.h65 行目に定義があります。

◆ EL_LOG_MINIMUM_REQUIRED

#define EL_LOG_MINIMUM_REQUIRED   (2)

ログに求められる最小要素数

event_logger.h87 行目に定義があります。

◆ EL_LOG_MINIMUM_REQUIRED_EL_LOG

#define EL_LOG_MINIMUM_REQUIRED_EL_LOG   (4)

ELログに求められる最小要素数

event_logger.h88 行目に定義があります。

◆ EL_TLOG_LOG_SIZE_MAX_EH

#define EL_TLOG_LOG_SIZE_MAX_EH   (16)

TLogにて保存するログ数 (EL_ERROR_LEVEL_EH) 小さめでOK. EH_MAX_RULE_NUM_OF_EL_ID_DUPLICATES x 多段EHの最大段数ぐらいあれば

event_logger.h62 行目に定義があります。

◆ EL_TLOG_LOG_SIZE_MAX_EL

#define EL_TLOG_LOG_SIZE_MAX_EL   (16)

TLogにて保存するログ数 (EL_ERROR_LEVEL_EL)

event_logger.h60 行目に定義があります。

◆ EL_TLOG_LOG_SIZE_MAX_HIGH

#define EL_TLOG_LOG_SIZE_MAX_HIGH   (EL_TLOG_TLM_PAGE_SIZE * EL_TLOG_TLM_PAGE_MAX_HIGH)

event_logger.h96 行目に定義があります。

◆ EL_TLOG_LOG_SIZE_MAX_LOW

#define EL_TLOG_LOG_SIZE_MAX_LOW   (EL_TLOG_TLM_PAGE_SIZE * EL_TLOG_TLM_PAGE_MAX_LOW)

event_logger.h108 行目に定義があります。

◆ EL_TLOG_LOG_SIZE_MAX_MIDDLE

#define EL_TLOG_LOG_SIZE_MAX_MIDDLE   (EL_TLOG_TLM_PAGE_SIZE * EL_TLOG_TLM_PAGE_MAX_MIDDLE)

event_logger.h101 行目に定義があります。

◆ EL_TLOG_TLM_PAGE_MAX_HIGH

#define EL_TLOG_TLM_PAGE_MAX_HIGH   (4)

TLogで保存するログのページ数 (EL_ERROR_LEVEL_HIGH)

event_logger.h52 行目に定義があります。

◆ EL_TLOG_TLM_PAGE_MAX_LOW

#define EL_TLOG_TLM_PAGE_MAX_LOW   (4)

TLogで保存するログのページ数 (EL_ERROR_LEVEL_LOW)

event_logger.h54 行目に定義があります。

◆ EL_TLOG_TLM_PAGE_MAX_MIDDLE

#define EL_TLOG_TLM_PAGE_MAX_MIDDLE   (4)

TLogで保存するログのページ数 (EL_ERROR_LEVEL_MIDDLE)

event_logger.h53 行目に定義があります。

◆ EL_TLOG_TLM_PAGE_SIZE

#define EL_TLOG_TLM_PAGE_SIZE   (28)

TLogにて,テレメ1ページにおろせるlog数

event_logger.h51 行目に定義があります。

◆ SIZE_OF_EL_CLOG_COUNTER_T

#define SIZE_OF_EL_CLOG_COUNTER_T   (2)

el_clog_counter_t の型サイズ.メモリインパクトがそれなりにあるので,可変に

event_logger.h74 行目に定義があります。

型定義詳解

◆ el_clog_counter_t

typedef uint16_t el_clog_counter_t

event_logger.h180 行目に定義があります。

列挙型詳解

◆ EL_ACK

enum EL_ACK

event_logger の汎用返り値

覚え書き
uint8_t を想定
列挙値
EL_ACK_OK 

正常終了

EL_ACK_ILLEGAL_GROUP 

不正な EL_Event.group

EL_ACK_ILLEGAL_ERROR_LEVEL 

不正な EL_Event.err_level

EL_ACK_DISABLE_LOGGING 

ロギングが無効により,棄却

EL_ACK_TLOG_FULL 

TLogの追記が不能のため,TLog記録ができず

EL_ACK_OTHER_ERR 

その他のエラー

event_logger.h281 行目に定義があります。

◆ EL_CORE_GROUP

event_logger の Event Group の C2A core 使用分

覚え書き
uint32_t を想定
列挙値
EL_CORE_GROUP_NULL 

初期値 or NULL.これは 0 であることを要求 (clear で memset 0x00 をするなら)

EL_CORE_GROUP_EVENT_LOGGER 

EL

EL_CORE_GROUP_MODE_MANAGER 
EL_CORE_GROUP_TASK_DISPATCHER 
EL_CORE_GROUP_APP_MANAGER 
EL_CORE_GROUP_TLCD_PAST_TIME 
EL_CORE_GROUP_TLCD_DEPLOY_BLOCK 
EL_CORE_GROUP_DCU 
EL_CORE_GROUP_EVENT_HANDLER 

EH (詳細は event_handler.h 参照)

EL_CORE_GROUP_EH_MATCH_RULE 

EH_Rule でマッチした(詳細は event_handler.h 参照)

EL_CORE_GROUP_EH_RESPOND_WITH_HIGHER_LEVEL_RULE 

EH_Rule でマッチしたが,そのルールで対応せずに,上位のルールで対応させた(詳細は event_handler.h 参照)

EL_CORE_GROUP_COMMAND_ANALYZE 
EL_CORE_GROUP_CDIS_INTERNAL_ERR 
EL_CORE_GROUP_CDIS_EXEC_ERR_STS 
EL_CORE_GROUP_CDIS_EXEC_ERR_CODE 
EL_CORE_GROUP_EL_DROP_CLOG1 

EL CLogs で古いエラーを上書きするとき (group, err_level を保存)

EL_CORE_GROUP_EL_DROP_CLOG2 

EL CLogs で古いエラーを上書きするとき (local, count を保存)

EL_CORE_GROUP_MAX 

event_logger.h204 行目に定義があります。

◆ EL_ERROR_LEVEL

event_logger の エラーレベル

覚え書き
uint8_t を想定
C2A Core では HIGH, LOW しか使わないため, MIDDLE はユーザー定義とする
列挙値
EL_ERROR_LEVEL_HIGH 
EL_ERROR_LEVEL_MIDDLE 
EL_ERROR_LEVEL_LOW 
EL_ERROR_LEVEL_EL 
EL_ERROR_LEVEL_EH 

多段の EH 対応を実現するためのエラーレベル EL_CORE_GROUP_EH_MATCH_RULE, EL_CORE_GROUP_EH_RESPOND_WITH_HIGHER_LEVEL_RULE が記録される

EL_ERROR_LEVEL_MAX 

event_logger.h260 行目に定義があります。

◆ EL_EVENT_LOCAL

EL_CORE_GROUP_EVENT_LOGGER の local id

覚え書き
uint32_t を想定
列挙値
EL_EVENT_LOCAL_UNKNOWN_ERR 

不明のエラー

EL_EVENT_LOCAL_TLOG_HIGH_HALF_FULL 

TLog のテーブルの半分が埋まった (HIGH)

EL_EVENT_LOCAL_TLOG_HIGH_FULL 

TLog のテーブルが埋まった.wpは最初に戻り,古いものから上書きしていく (HIGH)

EL_EVENT_LOCAL_TLOG_MIDDLE_HALF_FULL 

TLog のテーブルの半分が埋まった (MIDDLE)

EL_EVENT_LOCAL_TLOG_MIDDLE_FULL 

TLog のテーブルが埋まった.wpは最初に戻り,古いものから上書きしていく (MIDDLE)

EL_EVENT_LOCAL_TLOG_LOW_HALF_FULL 

TLog のテーブルの半分が埋まった (LOW)

EL_EVENT_LOCAL_TLOG_LOW_FULL 

TLog のテーブルが埋まった.wpは最初に戻り,古いものから上書きしていく (LOW)

EL_EVENT_LOCAL_MAX 

event_logger.h236 行目に定義があります。

関数詳解

◆ Cmd_EL_CLEAR_CLOG()

CCP_CmdRet Cmd_EL_CLEAR_CLOG ( const CommonCmdPacket packet)

event_logger.c821 行目に定義があります。

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

◆ Cmd_EL_CLEAR_LOG_ALL()

CCP_CmdRet Cmd_EL_CLEAR_LOG_ALL ( const CommonCmdPacket packet)

event_logger.c759 行目に定義があります。

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

◆ Cmd_EL_CLEAR_LOG_BY_ERR_LEVEL()

CCP_CmdRet Cmd_EL_CLEAR_LOG_BY_ERR_LEVEL ( const CommonCmdPacket packet)

event_logger.c778 行目に定義があります。

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

◆ Cmd_EL_CLEAR_STATISTICS()

CCP_CmdRet Cmd_EL_CLEAR_STATISTICS ( const CommonCmdPacket packet)

event_logger.c797 行目に定義があります。

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

◆ Cmd_EL_CLEAR_TLOG()

CCP_CmdRet Cmd_EL_CLEAR_TLOG ( const CommonCmdPacket packet)

event_logger.c806 行目に定義があります。

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

◆ Cmd_EL_CLOG_SET_PAGE_FOR_TLM()

CCP_CmdRet Cmd_EL_CLOG_SET_PAGE_FOR_TLM ( const CommonCmdPacket packet)

event_logger.c903 行目に定義があります。

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

◆ Cmd_EL_DISABLE_LOGGING()

CCP_CmdRet Cmd_EL_DISABLE_LOGGING ( const CommonCmdPacket packet)

event_logger.c968 行目に定義があります。

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

◆ Cmd_EL_DISABLE_LOGGING_ALL()

CCP_CmdRet Cmd_EL_DISABLE_LOGGING_ALL ( const CommonCmdPacket packet)

event_logger.c994 行目に定義があります。

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

◆ Cmd_EL_DISABLE_TLOG_OVERWRITE()

CCP_CmdRet Cmd_EL_DISABLE_TLOG_OVERWRITE ( const CommonCmdPacket packet)

event_logger.c1021 行目に定義があります。

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

◆ Cmd_EL_DISABLE_TLOG_OVERWRITE_ALL()

CCP_CmdRet Cmd_EL_DISABLE_TLOG_OVERWRITE_ALL ( const CommonCmdPacket packet)

event_logger.c1047 行目に定義があります。

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

◆ Cmd_EL_ENABLE_LOGGING()

CCP_CmdRet Cmd_EL_ENABLE_LOGGING ( const CommonCmdPacket packet)

event_logger.c950 行目に定義があります。

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

◆ Cmd_EL_ENABLE_LOGGING_ALL()

CCP_CmdRet Cmd_EL_ENABLE_LOGGING_ALL ( const CommonCmdPacket packet)

event_logger.c986 行目に定義があります。

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

◆ Cmd_EL_ENABLE_TLOG_OVERWRITE()

CCP_CmdRet Cmd_EL_ENABLE_TLOG_OVERWRITE ( const CommonCmdPacket packet)

event_logger.c1003 行目に定義があります。

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

◆ Cmd_EL_ENABLE_TLOG_OVERWRITE_ALL()

CCP_CmdRet Cmd_EL_ENABLE_TLOG_OVERWRITE_ALL ( const CommonCmdPacket packet)

event_logger.c1039 行目に定義があります。

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

◆ Cmd_EL_INIT()

CCP_CmdRet Cmd_EL_INIT ( const CommonCmdPacket packet)

event_logger.c751 行目に定義があります。

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

◆ Cmd_EL_INIT_LOGGING_SETTINGS()

CCP_CmdRet Cmd_EL_INIT_LOGGING_SETTINGS ( const CommonCmdPacket packet)

event_logger.c941 行目に定義があります。

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

◆ Cmd_EL_RECORD_EVENT()

CCP_CmdRet Cmd_EL_RECORD_EVENT ( const CommonCmdPacket packet)

event_logger.c835 行目に定義があります。

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

◆ Cmd_EL_TLOG_SET_PAGE_FOR_TLM()

CCP_CmdRet Cmd_EL_TLOG_SET_PAGE_FOR_TLM ( const CommonCmdPacket packet)

event_logger.c864 行目に定義があります。

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

◆ EL_disable_all_logging()

void EL_disable_all_logging ( void  )

event_logger の全 EL_Event.group の無効化

引数
void
戻り値
void

event_logger.c661 行目に定義があります。

被呼び出し関係図:

◆ EL_disable_logging()

EL_ACK EL_disable_logging ( EL_GROUP  group)

event_logger の EL_Event.group の無効化

引数
group無効化する EL_Event.group
戻り値
EL_ACK_OK正常終了
EL_ACK_ILLEGAL_GROUP不正な EL_Event.group

event_logger.c614 行目に定義があります。

被呼び出し関係図:

◆ EL_disable_tlog_overwrite()

EL_ACK EL_disable_tlog_overwrite ( EL_ERROR_LEVEL  err_level)

TLog のイベントテーブルの上書きを無効化

引数
err_level無効化する EL_Event.err_level
戻り値
EL_ACK_OK正常終了
EL_ACK_ILLEGAL_ERROR_LEVEL不正な EL_Event.err_level

event_logger.c678 行目に定義があります。

被呼び出し関係図:

◆ EL_disable_tlog_overwrite_all()

void EL_disable_tlog_overwrite_all ( void  )

TLog のイベントテーブルの上書きをすべて無効化

覚え書き
EL_ERROR_LEVEL_EH は基本的にユーザーが操作するものではないので,ここでは無効化されない
引数
void
戻り値
void

event_logger.c700 行目に定義があります。

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

◆ EL_enable_all_logging()

void EL_enable_all_logging ( void  )

event_logger の全 EL_Event.group の有効化

引数
void
戻り値
void

event_logger.c655 行目に定義があります。

被呼び出し関係図:

◆ EL_enable_logging()

EL_ACK EL_enable_logging ( EL_GROUP  group)

event_logger の EL_Event.group の有効化

引数
group有効化する EL_Event.group
戻り値
EL_ACK_OK正常終了
EL_ACK_ILLEGAL_GROUP不正な EL_Event.group

event_logger.c594 行目に定義があります。

被呼び出し関係図:

◆ EL_enable_tlog_overwrite()

EL_ACK EL_enable_tlog_overwrite ( EL_ERROR_LEVEL  err_level)

TLog のイベントテーブルの上書きを有効化

引数
err_level有効化する EL_Event.err_level
戻り値
EL_ACK_OK正常終了
EL_ACK_ILLEGAL_ERROR_LEVEL不正な EL_Event.err_level

event_logger.c668 行目に定義があります。

被呼び出し関係図:

◆ EL_enable_tlog_overwrite_all()

void EL_enable_tlog_overwrite_all ( void  )

TLog のイベントテーブルの上書きをすべて有効化

覚え書き
EL_ERROR_LEVEL_EH は基本的にユーザーが操作するものではないので,ここでは有効化されない
引数
void
戻り値
void

event_logger.c688 行目に定義があります。

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

◆ EL_get_the_nth_tlog_from_the_latest()

const EL_Event* EL_get_the_nth_tlog_from_the_latest ( EL_ERROR_LEVEL  err_level,
uint16_t  n 
)

TLog のイベントテーブルの最新からn番目のイベントを取得

覚え書き
n が大きすぎる場合は,最新のものを返す
err_level が不正な場合は, EL_ERROR_LEVEL_HIGH のものを返す
つまり,アサーションエラーを出さない
引数
err_level取得する EL_Event.err_level
nn番目(0のとき最新)
戻り値
EL_Event

event_logger.c721 行目に定義があります。

被呼び出し関係図:

◆ EL_initialize()

void EL_initialize ( void  )

event_logger の初期化

引数
void
戻り値
void

event_logger.c187 行目に定義があります。

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

◆ EL_is_logging_enable()

int EL_is_logging_enable ( EL_GROUP  group)

event_logger の EL_Event.group が有効か?

引数
group無効化する EL_Event.group
戻り値
0無効 or 無効な引数
1有効

event_logger.c635 行目に定義があります。

被呼び出し関係図:

◆ EL_is_tlog_overwrite_enable()

int EL_is_tlog_overwrite_enable ( EL_ERROR_LEVEL  err_level)

TLog のイベントテーブルの上書きが有効か?

引数
err_level無効化する EL_Event.err_level
戻り値
0無効 or 無効な引数
1有効

event_logger.c712 行目に定義があります。

被呼び出し関係図:

◆ EL_record_event()

EL_ACK EL_record_event ( EL_GROUP  group,
uint32_t  local,
EL_ERROR_LEVEL  err_level,
uint32_t  note 
)

イベント (EL_Event) を記録

覚え書き
C2A 上の任意の場所から発行可能
引数
groupEL_Event.group
localEL_Event.local
err_levelEL_Event.err_level (EL_ERROR_LEVEL_EL は禁止)
noteEL_Event.note
戻り値
EL_ACK

event_logger.c269 行目に定義があります。

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

変数詳解

◆ event_logger

const EventLogger* const event_logger
extern

event_logger.c155 行目に定義があります。