c2a-core icon indicating copy to clipboard operation
c2a-core copied to clipboard

EH の対応手法として単発 Cmd も欲しい

Open yngyu opened this issue 2 years ago • 5 comments

概要

EH の対応手法として単発 Cmd も欲しい

詳細

現状 EH の対応方法として BC Deploy しかないが、単発 Cmd で十分な時もある。 BC はメモリを食うため、単発 Cmd でも対応してほしい

close条件

上が実装されたら

備考

注意

yngyu avatar Jun 02 '22 08:06 yngyu

単発コマンドを実装するなら,

  • Cmdを直接 EH ruleに格納する方法
    • これは,メモリ管理がだるい & 登録がだるい
  • BCTのblock idだけでなくposも指定する方法
    • 自由度がたもてるし,よさそう

だが,基本的に,EHは発火後にinactivateされるので,それを戻すためには最低2 cmd必要なはず...? (つまり,この機能,本当にworkするのか?)

meltingrabbit avatar Jun 05 '22 12:06 meltingrabbit

急ぎではありませんが、関連して、EL_ERROR_LEVEL_LOWが多数回起きた時に、EL_ERROR_LEVEL_HIGHを記録した上で対処できる機能があるとありがたいです。現状だと、多段EHで発行されるEL_ERROR_LEVEL_EHは記録に残らないという認識です。

モチベとしては、「あるコンポのあるEL_ERROR_LEVEL_LOWが断続的に発生した場合、対応するEL_ERROR_LEVEL_HIGHを登録したい。しかし、そのコンポの個々のEL_ERROR_LEVEL_LOWにそれぞれBCを用意するメモリの余裕はない。」という困難があります。

単発Cmd対応機能が追加された場合、単発CmdでEL_HIGHの登録ができそうと考えたので、このissueに追記しています。

seki-hiro avatar Jul 11 '22 14:07 seki-hiro

@seki-hiro

EL_ERROR_LEVEL_EHは記録に残らないという認識です。

EL に記録残ってるはずだよ. EventLogger.tlogs[EL_ERROR_LEVEL_EH] などに入ってます.

meltingrabbit avatar Jul 12 '22 05:07 meltingrabbit

/**
 * @brief  TLog のイベントテーブルの上書きをすべて有効化
 * @note   EL_ERROR_LEVEL_EH は基本的にユーザーが操作するものではないので,ここでは有効化されない
 * @param  void
 * @return void
 */
void EL_enable_tlog_overwrite_all(void);

これを見て勘違いしていたのですが、EL_ERROR_LEVEL_EHのページを見れば記録されているということですね。(上の関数は上書きについての設定で、かつEL_enable_tlog_overwrite(EL_ERROR_LEVEL_EH);により別で上書きもされているため、あんまり関係なかったみたいです)。

ただ運用の時は、EL_ERROR_LEVEL_HIGHを一番見る気がするので、ここにきちんと記録されるといいのかなというイメージを持っています。

seki-hiro avatar Jul 12 '22 06:07 seki-hiro

なるほどです. EHの反応ログは,運用中は結構見てるだろうなぁと思いつつも,

ただ運用の時は、EL_ERROR_LEVEL_HIGHを一番見る気がするので

はその通りなので,ISSLの次期プロにむけて考えておきます!

meltingrabbit avatar Jul 12 '22 06:07 meltingrabbit