Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

コマンド実行時エラーの EL の local_id を改善する #480

Closed
chutaro opened this issue Jan 24, 2023 · 13 comments
Closed

コマンド実行時エラーの EL の local_id を改善する #480

chutaro opened this issue Jan 24, 2023 · 13 comments
Labels
good first issue Good for newcomers priority::medium priority medium

Comments

@chutaro
Copy link
Contributor

chutaro commented Jan 24, 2023

概要

コマンド実行時エラーの EL の local_id を改善する

詳細

CDIS の コマンド実行時エラーの EL で、

  • local_id は cdis の関数ptrのアドレス
  • note は cmd_id と 実行時status を 16bitずつ分けたやつ

となっているが、分かりにくいうえ、個別で無効化したり EH 対処したりしにくい(特定の Cmd の実行時エラーのみ EL 記録を無効化したい、というようなユースケースが生じた)。ので、local_id を cmd_id、note を実行時ステータスにしたい。(どのCDISで実行されたかは正直あまり重要でない説)

close条件

変更したら

@meltingrabbit
Copy link
Collaborator

特定の Cmd の実行時エラーのみ EL 記録を無効化したい、というようなユースケースが生じた

を見てて思ったんだけど,EL って group ごとにしか無効化できない気がしてて,どういう感じの想定してます?

@chutaro

@chutaro
Copy link
Contributor Author

chutaro commented Mar 4, 2023

あれ、そうですね勘違いしてました。。

少なくとも、EHでは対応しやすくなるのかなとは思うのですが。(CDISのアドレス情報っていりますか、、?)

@meltingrabbit
Copy link
Collaborator

  • local id を cmd id にする,はかなり賛成
  • 今後,衛星運用を自動化していくには,どのエラー化を自動で特定したいので,cdisアドレス情報はnoteにはほしいかも

って感じかなぁ.

@meltingrabbit
Copy link
Collaborator

まあそうすると,localとnoteで情報が足りない...となり,

  • el group を CCP_EXEC_STS ごとにつくる?

というのもあり?
ちょっとだるいか...

それか,

  • 今 2 つの EL を発行してるが,以下のELをがさっと発行するようにする(ELはgroupごとに無効化できるので,いらないものはuserでとめてもらう?)
    • loral: cmd id, note: cdis
    • loral: cdis, note: err_code
    • loral: cdis, note: exec_sts

うーん,きついな

@meltingrabbit
Copy link
Collaborator

cdisのアドレス持ってるのがうざいので,

typedef struct
{
CDIS_ExecInfo prev; //!< 前回のコマンド実行情報
CDIS_ExecInfo prev_err; //!< 最後にエラーが出たコマンド実行情報
uint32_t error_counter; //!< エラーカウンタ
int lockout; //!< 実行中断フラグ
int stop_on_error; //!< 異常時実行中断フラグ
PacketList* pl; //!< コマンドキュー
} CommandDispatcher;

の cdis の内部状態に idx もたせる?
CDIS_init のなかにstatic counter もたせて,CDIS_init 呼び出し回数の番号を u8 で持たせれば,note に押し込めそう.

@meltingrabbit
Copy link
Collaborator

その場合,local を 上位 8 bit: cdis idx, 真ん中 8bit exec sts,下位 8bit, cmd id とかできるので,

  • local id: cmd id だけ
  • local id: 上位 8 bit: cdis idx, 真ん中 8bit exec sts,下位 8bit, cmd id (full 情報)

とかできそう?

@chutaro いかが?

@chutaro
Copy link
Contributor Author

chutaro commented Mar 9, 2023

今後,衛星運用を自動化していくには,どのエラー化を自動で特定したいので,cdisアドレス情報はnoteにはほしいかも

了解です

cdis の内部状態に idx もたせる?

たしかにそれが良さそうですね!以下でどうですか?

  • local: cmd_id
  • note
    • 上位8bit: cdis idx
    • 次の8bit: exec sts
    • 下位16bit: err code

@meltingrabbit
Copy link
Collaborator

meltingrabbit commented Mar 12, 2023

err_code,u32だし,

1つめ

  • group: EL_CORE_GROUP_CDIS_EXEC_ERR_CODE
  • local: cmd_id
  • note
    • err_code

2つめ

  • group: EL_CORE_GROUP_CDIS_EXEC_ERR_STS
  • local: cmd_id
  • note
    • 上位8bit: cdis idx
    • 次の8bit: exec sts
    • 下位16bit: cmd_id? <---- ここなに入れよう? 今冗長だなぁ...提案してくれたように err code の 16 bit 入れるのはありな気がしてきた.

ともに EL_ERROR_LEVEL_LOW (でいいよね?)

とか?(いらなければuserでdisableにしてもらって)

@chutaro
Copy link
Contributor Author

chutaro commented Mar 13, 2023

  • 個人的には EL は一つにまとめたい気持ちですね、、 (err_code で 32bit 使っているものって基本ないですよね?)なので、ISSL側では1つめを disable して使う感じにしようかなと思います
  • level low で OK です

^ この方針で良ければこちらで修正します!

@meltingrabbit
Copy link
Collaborator

meltingrabbit commented Mar 13, 2023

err_code で 32bit 使っているものって基本ないですよね?

ISSL の flash の EL は全部 note が読み書きしようとした flash のアドレスなので u32 なきがする.
(他にもアドレス系は u32 かも)

じゃあ,2つめは提案通り note を u16 でいれましょうか!

@meltingrabbit
Copy link
Collaborator

なので、ISSL側では1つめを disable して使う感じにしようかなと思います

良さそう!

初期時にdisableする方法把握してる?

@meltingrabbit
Copy link
Collaborator

meltingrabbit commented Mar 13, 2023

https://github.com/ut-issl/c2a-core/blob/develop/Examples/minimum_user/src/src_user/Settings/System/event_logger_settings.c

ここで,無効化関数 (EL_disable_logging) 書いておけばOKね

@chutaro
Copy link
Contributor Author

chutaro commented Apr 11, 2023

反映させた

@chutaro chutaro closed this as completed Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers priority::medium priority medium
Projects
None yet
Development

No branches or pull requests

2 participants