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

telemetry_definitions.c のファイル分割

Open meltingrabbit opened this issue 2 years ago • 4 comments

概要

telemetry_definitions.c のファイル分割

詳細

https://github.com/ut-issl/c2a-core/blob/ee01998d95d8701bcd111a2d45427b133de337b6/Examples/minimum_user_for_s2e/src/src_user/CmdTlm/telemetry_definitions.c をファイル分割したい.

ちょっとでもテレメを編集したり,include元の https://github.com/ut-issl/c2a-core/blob/ee01998d95d8701bcd111a2d45427b133de337b6/Examples/minimum_user_for_s2e/src/src_user/CmdTlm/telemetry_source.h を修正すると,かなりのビルド時間を消費してしまう.

tlmごとにファイル分割したい?

このコードは自動生成部分でもあるので,そことの調整も

close条件

いい感じになったら.

meltingrabbit avatar Dec 08 '21 14:12 meltingrabbit

tlmごとにファイル分割したらどのくらいビルド時間変わるものなのかがまず気になる

sksat avatar Dec 16 '21 02:12 sksat

tlmごとに分割したら,変更のあるtlmしかビルドされなくなるので,それだけ早くなる.(sampleにくらべて,実OBCはずっとおおいtlmが定義されているので)

一方で,今は https://github.com/ut-issl/c2a-core/blob/7d6e7f41e82c6ae7593c0af4e526c2c4df45d06f/Examples/minimum_user_for_s2e/src/src_user/CmdTlm/telemetry_definitions.c が自動生成されていて,自動生成したいから,ここでincludeするヘッダを https://github.com/ut-issl/c2a-core/blob/7d6e7f41e82c6ae7593c0af4e526c2c4df45d06f/Examples/minimum_user_for_s2e/src/src_user/CmdTlm/telemetry_source.h でまとめてるんだけど,ファイル分割したところで,それらのファイルがすべて telemetry_source.h をincludeすることになる場合,ビルド時間は変わらないね.(再ビルドされるとき,全部のファイルが再ビルドされることになるので)

meltingrabbit avatar Dec 16 '21 02:12 meltingrabbit

む,telemetry_source.hってそんなに頻繁に変更されるんです?と思ったけどそもそも開発環境側がちゃんと依存関係見て必要なやつだけビルドとかできないって話だろうか.

sksat avatar Dec 16 '21 02:12 sksat

telemetry_source.hってそんなに頻繁に変更されるんです?

いや,めったに更新されない.

めったに更新されないんだけど,仮に更新されたときに,(例えば, src_core/System に新しくなにか生えたとか),それに合わせて自動生成スクリプト側も更新しないといけないのはおかしいので,自動生成される telemetry_definitions.c telemetry_source.h をincludeしておき,もし telemetry_definitions.c に食わせたいヘッダファイルが増えたら telemetry_source.h を更新するような運用になってる(cmdも同様)

meltingrabbit avatar Dec 16 '21 02:12 meltingrabbit