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

Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング #597

Merged
merged 32 commits into from
Jun 1, 2023

Conversation

meltingrabbit
Copy link
Collaborator

@meltingrabbit meltingrabbit commented May 24, 2023

概要

Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング

Issue

詳細

cmdファイルと末尾のhow to use参照

検証結果

  • 手元でテストした (末尾参照)
  • pytest つくりたいが,pytest の 5 Hz HK を壊すので悩み...

影響範囲

既存の TLM MGR が大幅アップデート かつ TG に対応

補足

  • Pre Release を打つ
  • マージする前にバージョンを上げる

→ やっぱやめ

@meltingrabbit meltingrabbit added the priority::high priorityg high label May 24, 2023
@meltingrabbit meltingrabbit requested a review from chutaro May 24, 2023 17:05
@meltingrabbit meltingrabbit self-assigned this May 24, 2023
@meltingrabbit meltingrabbit changed the title WIP: Feature/update tlm mgr for new tg WIP: Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング May 25, 2023
@meltingrabbit meltingrabbit force-pushed the feature/update_tlm_mgr_for_new_tg branch 2 times, most recently from 7e9faf6 to ccae225 Compare May 25, 2023 03:08
@meltingrabbit
Copy link
Collaborator Author

meltingrabbit commented May 25, 2023

@chutaro
ヘッダとcmd dbみてもらって,違和感ないかチェックもらってもいいですか?

実行時間がかなりでかいことが予想されるので,DCUを2箇所で使ってます.

.c と pytest は全然つくってないので,一旦無視で.

@meltingrabbit meltingrabbit force-pushed the feature/update_tlm_mgr_for_new_tg branch 2 times, most recently from f2133e8 to 4388fd3 Compare May 25, 2023 09:41
Copy link
Contributor

@chutaro chutaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

とりあえず思ったことをコメントしています。詳細はcore mtg で相談できればと思います

Applications/telemetry_manager.h Outdated Show resolved Hide resolved
Applications/telemetry_manager.h Show resolved Hide resolved
Applications/telemetry_manager.c Outdated Show resolved Hide resolved
Applications/telemetry_manager.h Outdated Show resolved Hide resolved
Applications/telemetry_manager.h Show resolved Hide resolved
@meltingrabbit meltingrabbit force-pushed the feature/update_tlm_mgr_for_new_tg branch 2 times, most recently from ce76d3a to e649bc7 Compare May 28, 2023 16:35
@meltingrabbit meltingrabbit changed the title WIP: Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング May 29, 2023
@meltingrabbit meltingrabbit changed the title Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング Pre Release (v3.9.0-beta.8): Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング May 29, 2023
@meltingrabbit
Copy link
Collaborator Author

@chutaro できた.
今なんとかtlmを1tlmに抑えようとテレメ圧縮してて,でき次第WINGSでテストします(このあと出張なので,今日の深夜頃を予定)

@meltingrabbit meltingrabbit force-pushed the feature/update_tlm_mgr_for_new_tg branch from ca4d7f4 to 3a5c75b Compare May 29, 2023 08:02
@meltingrabbit
Copy link
Collaborator Author

meltingrabbit commented May 29, 2023

検証ログ

初期値

.# =======================================
.MOBC_RT.BCT_CLEAR_BLOCK 77     # BCT 77 を使用
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 1 0xf0 # HK
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 3 0x18 # TLM MGR 1
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 5 0x19 # TLM MGR 2
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 7 0x2a # DCU
 wait_sec 1
 MOBC_BL.TLCD_DEPLOY_BLOCK 10 2 77
 wait_sec 1
 MOBC_RT.BCE_ACTIVATE_BLOCK
 wait_sec 1
 MOBC_RT.TLCD_CLEAR_ALL_TIMELINE 2
 wait_sec 1
 # BCを展開し,TLM出力開始
 MOBC_RT.TLCD_DEPLOY_BLOCK 2 77
.#
.# =======================================
 #  TLM MGR
 # =======================================
.MOBC_RT.TLM_MGR_INIT

image

@meltingrabbit
Copy link
Collaborator Author

初期化

.# =======================================
 #  TLM MGR
 # =======================================
.MOBC_RT.TLM_MGR_INIT

image
image

BC ROLE や cmd type が OK そう

@meltingrabbit
Copy link
Collaborator Author

meltingrabbit commented May 29, 2023

.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 0 0xf0   # HK, HK
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x18   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x19   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x20   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x21   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x25   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x26   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x2a   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x40   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x45   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x46   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x56   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x57   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x58   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x56   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x57   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x00   # LOW
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0xf1   # LOW
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x78   # LOW

image

登録OKそう

@meltingrabbit
Copy link
Collaborator Author

.MOBC_RT.TLM_MGR_START_TLM
.MOBC_RT.TLM_MGR_STOP_TLM
.MOBC_RT.TLM_MGR_START_TLM
.#

start, stop

@meltingrabbit
Copy link
Collaborator Author

meltingrabbit commented May 29, 2023

.# 消す
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 1 0x20

image

.# 消す
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 1 0x20
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 1 0x56
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0xf1
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0x78
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0xf0    # エラー
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0x00
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0x00    # エラー

image

複数 ID が登録されていても,ちゃんと1つだけ消える

@meltingrabbit
Copy link
Collaborator Author

最終的な検証コマンド

.# =======================================
.MOBC_RT.BCT_CLEAR_BLOCK 77     # BCT 77 を使用
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 1 0xf0 # HK
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 3 0x18 # TLM MGR 1
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 5 0x19 # TLM MGR 2
 wait_sec 1
 MOBC_BL.TG_GENERATE_MS_TLM 7 0x2a # DCU
 wait_sec 1
 MOBC_BL.TLCD_DEPLOY_BLOCK 10 2 77
 wait_sec 1
 MOBC_RT.BCE_ACTIVATE_BLOCK
 wait_sec 1
 MOBC_RT.TLCD_CLEAR_ALL_TIMELINE 2
 wait_sec 1
 # BCを展開し,TLM出力開始
 MOBC_RT.TLCD_DEPLOY_BLOCK 2 77
.#
.# =======================================
 #  TLM MGR
 # =======================================
.MOBC_RT.TLM_MGR_INIT
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 0 0xf0   # HK, HK
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x18   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x19   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x20   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x21   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x25   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x26   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x2a   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x40   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x45   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x46   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x56   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x57   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x58   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x56   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x57   # HIGH
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x00   # LOW
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0xf1   # LOW
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x78   # LOW
.#
.MOBC_RT.TLM_MGR_START_TLM
.MOBC_RT.TLM_MGR_STOP_TLM
.MOBC_RT.TLM_MGR_START_TLM
.#
.# 消す
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 1 0x20
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 1 0x56
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0xf1
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0x78
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0xf0    # エラー
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0x00
.MOBC_RT.TLM_MGR_DELETE_GENERATE_MS_TLM 2 0x00    # エラー
.#
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18   # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19   # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_CLEAR_HIGH_FREQ_TLM
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x18   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x19   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_CLEAR_LOW_FREQ_TLM
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x18   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 1 0x19   # HIGH, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18   # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19   # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 0 0x18    # HK, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 0 0x19    # HK, TLM MGR1
.MOBC_RT.TLM_MGR_CLEAR_USER_TLM
.MOBC_RT.TLM_MGR_CLEAR_HK_TLM
.#
.# 登録しすぎ
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 0 0xf0   # HK, HK
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x19    # LOW, TLM MGR1
.MOBC_RT.TLM_MGR_REGISTER_GENERATE_MS_TLM 2 0x18    # LOW, TLM MGR1 # err

MS tlm だけしか試してないが...

@meltingrabbit meltingrabbit force-pushed the feature/update_tlm_mgr_for_new_tg branch from d11a718 to 972e5e9 Compare May 29, 2023 17:24
@meltingrabbit meltingrabbit changed the title Pre Release (v3.9.0-beta.8): Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング Pre Release (v3.9.0-beta.9): Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング May 31, 2023
@meltingrabbit meltingrabbit force-pushed the feature/update_tlm_mgr_for_new_tg branch from 972e5e9 to c2a31d5 Compare May 31, 2023 08:34
Copy link
Contributor

@chutaro chutaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ロジックまわりざっと見ましたが良さそうです!お疲れさまです。

変数名などでいくつかコメント入れてます。

Applications/telemetry_manager.h Outdated Show resolved Hide resolved
Applications/telemetry_manager.h Show resolved Hide resolved
Applications/telemetry_manager.h Outdated Show resolved Hide resolved
Applications/telemetry_manager.h Outdated Show resolved Hide resolved
Applications/telemetry_manager.c Outdated Show resolved Hide resolved
Applications/telemetry_manager.c Outdated Show resolved Hide resolved
@chutaro
Copy link
Contributor

chutaro commented Jun 1, 2023

パス終了時にDR再生だけ1コマンドだけ止めたいという需要が結構あって、別プロではDR再生のコマンドを特定のBCに固めて、そのBCたちを inactivate することで対応していたのですが、座標がユーザーから見えなくなったのでこの実装だとできないですね。

別途DR側に、DR再生を無効化するコマンドを追加した方が良いかもです。

@meltingrabbit
Copy link
Collaborator Author

たしかに。
DRの元閉めるのは、DRにあれば良さそう。

@chutaro
Copy link
Contributor

chutaro commented Jun 1, 2023

DCU使えば分割単位でPHに投げられるから、適切に分ければ3-3は出ないってことですよね?

@chutaro
Copy link
Contributor

chutaro commented Jun 1, 2023

これはユーザー側でやれば良いと思いますが、sub OBC 数が少ないなら APID 1byteに圧縮して、

  • cmd type
  • apid
  • tlm id
  • dr partition

で4byte * 100 < 432 でコマンドテーブルだけは1テレメに抑えたいですね。

@meltingrabbit
Copy link
Collaborator Author

DCU使えば分割単位でPHに投げられるから、適切に分ければ3-3は出ないってことですよね?

そう

@meltingrabbit
Copy link
Collaborator Author

1テレメ

これ,APID下1桁で1byteにするとはいったんだけど,いまtlm dbが最大500行で,そっちに引っかかった.....

@meltingrabbit
Copy link
Collaborator Author

@chutaro レビューありがとう!反映しました!

@meltingrabbit meltingrabbit requested a review from chutaro June 1, 2023 16:48
Copy link
Contributor

@chutaro chutaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お疲れさまです!!

@chutaro
Copy link
Contributor

chutaro commented Jun 1, 2023

いまtlm dbが最大500行で,そっちに引っかかった

なるほど、、

@meltingrabbit
Copy link
Collaborator Author

#601

がすぐマージできるので,これリリース無しで行きます!

@meltingrabbit meltingrabbit changed the title Pre Release (v3.9.0-beta.9): Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング Tlm Manager の 新 GENERATE_TLM 対応と,リファクタリング Jun 1, 2023
@meltingrabbit meltingrabbit merged commit f5a2571 into develop Jun 1, 2023
@meltingrabbit meltingrabbit deleted the feature/update_tlm_mgr_for_new_tg branch June 1, 2023 17:00
@chutaro chutaro mentioned this pull request Aug 3, 2023
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority::high priorityg high
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants