c2a-core
c2a-core copied to clipboard
telemetry_definitions.c のファイル分割
概要
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条件
いい感じになったら.
tlmごとにファイル分割したらどのくらいビルド時間変わるものなのかがまず気になる
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することになる場合,ビルド時間は変わらないね.(再ビルドされるとき,全部のファイルが再ビルドされることになるので)
む,telemetry_source.h
ってそんなに頻繁に変更されるんです?と思ったけどそもそも開発環境側がちゃんと依存関係見て必要なやつだけビルドとかできないって話だろうか.
telemetry_source.hってそんなに頻繁に変更されるんです?
いや,めったに更新されない.
めったに更新されないんだけど,仮に更新されたときに,(例えば, src_core/System
に新しくなにか生えたとか),それに合わせて自動生成スクリプト側も更新しないといけないのはおかしいので,自動生成される telemetry_definitions.c
は telemetry_source.h
をincludeしておき,もし telemetry_definitions.c
に食わせたいヘッダファイルが増えたら telemetry_source.h
を更新するような運用になってる(cmdも同様)