Releases: arkedge/c2a-core
v4.5.1
v4.5.1 (2025-09-04)
Breaking Changes
- #460: Update Rust version & MSRV to 1.81.0
Internal
- #449: chore(config): migrate renovate config
- #448: chore(deps): update swatinem/rust-cache action to v2.8.0
- #447: chore(deps): update actions/setup-node action to v4.4.0
- #452: chore(deps): update actions/checkout action to v5
- #453: chore(deps): update reviewdog/action-actionlint action to v1.66.1
- #454: chore(deps): update dependency pnpm to v10
- #450: chore(deps): update actions/cache action to v4.2.4
- #451: chore(deps): update actions/setup-python action to v5.6.0
- #455: chore(deps): update reviewdog/action-actionlint action to v1.67.0
- #456: chore(deps): update actions/setup-node action to v5
- #457: chore(deps): update actions/setup-python action to v6
- #431: fix(deps): update rust crate once_cell to v1.21.3
- #443: fix(deps): update rust crate anyhow to v1.0.99
- #442: chore(deps): update dependency windows to v2025
Migration Guide
- Rust
- MSRV (minimum supported Rust version) を 1.81.0 に上げたため、rust-toolchain.toml などで 1.81.0 以上のバージョンの Rust を指定してビルドすること
What's Changed
- chore(config): migrate renovate config by @renovate[bot] in #449
- chore(deps): update swatinem/rust-cache action to v2.8.0 by @renovate[bot] in #448
- chore(deps): update actions/setup-node action to v4.4.0 by @renovate[bot] in #447
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #452
- chore(deps): update reviewdog/action-actionlint action to v1.66.1 by @renovate[bot] in #453
- chore(deps): update dependency pnpm to v10 by @renovate[bot] in #454
- chore(deps): update actions/cache action to v4.2.4 by @renovate[bot] in #450
- chore(deps): update actions/setup-python action to v5.6.0 by @renovate[bot] in #451
- chore(deps): update reviewdog/action-actionlint action to v1.67.0 by @renovate[bot] in #455
- chore(deps): update actions/setup-node action to v5 by @renovate[bot] in #456
- chore(deps): update actions/setup-python action to v6 by @renovate[bot] in #457
- fix(deps): update rust crate once_cell to v1.21.3 by @renovate[bot] in #431
- fix(deps): update rust crate anyhow to v1.0.99 by @renovate[bot] in #443
- chore(deps): update dependency windows to v2025 by @renovate[bot] in #442
- Update Rust version & MSRV to 1.81.0 by @sksat in #460
Full Changelog: v4.5.0...v4.5.1
What's Changed
- chore(config): migrate renovate config by @renovate[bot] in #449
- chore(deps): update swatinem/rust-cache action to v2.8.0 by @renovate[bot] in #448
- chore(deps): update actions/setup-node action to v4.4.0 by @renovate[bot] in #447
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #452
- chore(deps): update reviewdog/action-actionlint action to v1.66.1 by @renovate[bot] in #453
- chore(deps): update dependency pnpm to v10 by @renovate[bot] in #454
- chore(deps): update actions/cache action to v4.2.4 by @renovate[bot] in #450
- chore(deps): update actions/setup-python action to v5.6.0 by @renovate[bot] in #451
- chore(deps): update reviewdog/action-actionlint action to v1.67.0 by @renovate[bot] in #455
- chore(deps): update actions/setup-node action to v5 by @renovate[bot] in #456
- chore(deps): update actions/setup-python action to v6 by @renovate[bot] in #457
- fix(deps): update rust crate once_cell to v1.21.3 by @renovate[bot] in #431
- fix(deps): update rust crate anyhow to v1.0.99 by @renovate[bot] in #443
- chore(deps): update dependency windows to v2025 by @renovate[bot] in #442
- Update Rust version & MSRV to 1.81.0 by @sksat in #460
- Release v4.5.1 by @sksat in #461
Full Changelog: v4.5.0...v4.5.1
v4.5.0
What's Changed
Breaking Changes
- #332: Rename tools dir to Boom tools
- #353: Move NodeJS package manager to pnpm
- #414: AOS 用 SCID を 10 bit に拡張
- #425: Configure c2a-core crate MSRV & set to 1.78
Enhancements
- #344: bindgen C2A RESULT type
- #348: Add C99 build option to example users
- #355: Make example user Printf() impl understandable
- #342: Update dependency ut-issl/s2e-core to v7.2.7
- #365: chore(deps): update arkedge/workflows-c2a action to v5.4.0
- #370: chore(deps): update dependency ut-issl/s2e-core to v7.2.9
- #392: C2A Boom: Install pre-compiled binaries
- #406: Add c2a-core Cargo lockfile
- #415: コマンドのパケット配送での EL 発行の追加
- #417: テレメのパケット配送での EL 発行の追加
- #380: WDTの監視周期設定コマンドの追加
- #424: Update Rust to 1.78.0
- #432: examples: Update Boom kble version to 0.4.2
- #433: examples: Update Boom Gaia version to v1.1.1
Fixed
- #404: Force set home crate to 0.5.9
- #416: PH_analyze_tlm_packet の返り値を修正
- #420:
TSP_pei_dest_info_の設定ミスの修正 - #429: example: Install missing kble-serialport
Documentation
Internal
- #345: Tell c2a-core crate re-build condition to cargo
- #334: Update sksat/setup-rye action to v0.23.1
- #335: Update actions/checkout action to v4.1.6
- #356: Update actions/checkout action to v4.1.7
- #357: Update sksat/action-clippy action to v1
- #358: Update sksat/setup-rye action to v0.24.0
- #361: Update actions/setup-node action to v4.0.3
- #360: Update sksat/setup-rye action to v0.25.0
- #362: Update actions/setup-python action to v5.1.1
- #367: chore(deps): update sksat/setup-rye action to v0.26.0
- #368: chore(deps): update sksat/setup-rye action to v0.28.0
- #374: chore(deps): update actions/checkout action to v4.2.2
- #378: chore(deps): update actions/cache action to v4.1.2
- #372: chore(deps): update actions/setup-node action to v4.1.0
- #371: chore(deps): update actions/setup-python action to v5.3.0
- #375: chore(deps): update sksat/setup-rye action to v0.31.0
- #382: chore(deps): update sksat/action-clippy action to v1.1.0
- #377: chore(deps): update swatinem/rust-cache action to v2.7.5
- #379: chore(deps): update crazy-max/ghaction-github-labeler action to v5.1.0
- #381: chore(deps): update python docker tag to v3.13
- #376: chore(deps): update dependency ubuntu to v24
- #387: Use Renovate Shareable config presets
- #390: Renovate generic cargo install in shell script
- #391: chore(config): migrate renovate config
- #402: cargo build with --locked option on Actions
- #403: Specify Rust toolchain version in CI with rust-toolchain.toml
- #393: Update actions/cache action to v4.2.0
- #396: Update Swatinem/rust-cache action to v2.7.7
- #397: Update sksat/action-clippy action to v1.1.1
- #399: chore: add repository to bind-utils package metadata
- #410: chore(deps): update actions/setup-node action to v4.2.0
- #422: chore(deps): update actions/cache action to v4.2.2
- #423: fix(deps): update rust crate anyhow to v1.0.97
- #409: chore(deps): update rust crate semver to v1.0.26
- #427: chore(deps): update actions/setup-python action to v5.4.0
- #428: chore(deps): update crazy-max/ghaction-github-labeler action to v5.2.0
- #430: chore(deps): update pnpm/action-setup action to v4.1.0
- #434: chore(deps): update actions/setup-node action to v4.3.0
- #435: chore(deps): pin dependencies
- #437: chore(deps): update swatinem/rust-cache action to v2.7.8
- #436: chore(deps): update actions/cache action to v4.2.3
- #439: chore(deps): update crazy-max/ghaction-github-labeler action to v5.3.0
- #438: chore(deps): update actions/setup-python action to v5.5.0
Migration Guide
- C2A Boom
- Rust を 1.78.0 以上のバージョンに更新すること(MUST): #424, #425
- Rust の lockfile v4 移行に伴い、
c2a-corecrate の MSRV を 1.78 とした: #425 - もし C2A user プロジェクト/リポジトリで Rust バージョンが設定されていない場合は、
rust-toolchain.tomlを書いて Rust バージョンを固定すること(RECOMMENDED)
- Rust の lockfile v4 移行に伴い、
- CMake
- example user を参考に
C2A_BUILD_AS_C99option を明示的に追加すること(RECOMMENDED): #348- C99 に移行可能なプロジェクトは C99 への移行(default 値を
ONにする)ことを推奨する(RECOMMENDED)
- C99 に移行可能なプロジェクトは C99 への移行(default 値を
- example user を参考に
- WDT 監視周期設定コマンドの追加: #380
- example 実装を参考に、
WDT_SET_TIMERコマンドを実装すること(MUST)
- example 実装を参考に、
- AOS 用 SCID の 10bit 化: #414
- 8bit の SCID が枯渇したとのことなので、 CCSDS 732.0-P4.2 (DRAFT STANDARD) に則って AOS SCID を設定すること(RECOMMENDED)
- MOBC 向け CCSDS AOS Space Data Link Protocol ライブラリ(
tlm_cmd/ccsds/aos_space_data_link_protocol)の SCID の型がuint8_tからuint16_tに変更されたので、examples/mobcのパッチを参考に修正すること(MUST)
New Contributors
Full Changelog: v4.4.0...v4.5.0
v4.4.0
v4.4.0 (2024-05-13)
Breaking Changes
- code-generator
- #306: MOBC を想定した機能を有効化するためのビルドオプションを追加
- #310: Common Packet のディレクトリ変更
- #329: Common Packet のデフォルト実装を core から提供する(Space Packet のみ)
- #330: Rename c2a-sils-runtime to c2a-dev-runtime
Enhancements
- #327: Add rust-toolchain override config
Fixed
- #319: Block Command Executor の Rotator の実行開始コマンド位置の修正
- BCE Rotator において,Rotate する BC の 0 番目のコマンドから実行されることを本来意図していた.
- 実際は 1 番目のコマンドから実行されていたため,意図通りの挙動になるように修正された.
Documentation
Internal
- #289: Update Rust crate bindgen to 0.69.4
- #296: Update actions/cache action to v4
- #288: Update actions/deploy-pages action to v4.0.4
- #308: Update actions/upload-pages-artifact action to v3.0.1
- #295: Update sksat/setup-rye action to v0.15.0
- #293: Update sksat/action-clippy action to v0.7.1
- #294: Update dependency ut-issl/s2e-core to v7.2.5
- #290: Update Swatinem/rust-cache action to v2.7.3
- #307: Update actions/setup-node action to v4.0.2
- #316: Update actions/cache action to v4.0.1
- #315: Update Rust crate kble-socket to 0.3.0
- #311: Update Rust crate semver to 1.0.22
- #322: Update actions/deploy-pages action to v4.0.5
- #323: Update actions/cache action to v4.0.2
- #325: Update actions/setup-python action to v5.1.0
- #324: Update dependency ut-issl/s2e-core to v7.2.6
- #314: Update sksat/setup-rye action to v0.20.0
- #309: Update arkedge/workflows-c2a action to v5.2.0
- #333: Update CHANGELOG for v4.4.0 release
What's Changed
- Update Rust crate bindgen to 0.69.4 by @renovate in #289
- Update actions/cache action to v4 by @renovate in #296
- Update actions/deploy-pages action to v4.0.4 by @renovate in #288
- Update actions/upload-pages-artifact action to v3.0.1 by @renovate in #308
- Update sksat/setup-rye action to v0.15.0 by @renovate in #295
- Update sksat/action-clippy action to v0.7.1 by @renovate in #293
- [code_generator] コマンドの説明を cmd definition の doxygens コメントに出力する by @meltingrabbit in #312
- [code_generator] コード生成時に不要な空白を除去する by @meltingrabbit in #313
- Update dependency ut-issl/s2e-core to v7.2.5 by @renovate in #294
- Update Swatinem/rust-cache action to v2.7.3 by @renovate in #290
- Update actions/setup-node action to v4.0.2 by @renovate in #307
- Update actions/cache action to v4.0.1 by @renovate in #316
- Update Rust crate kble-socket to 0.3.0 by @renovate in #315
- Update Rust crate semver to 1.0.22 by @renovate in #311
- BCE Rotator の実行開始コマンド位置の修正 by @ToshiAki64 in #319
- Add rust-toolchain override config by @sksat in #327
- Update actions/deploy-pages action to v4.0.5 by @renovate in #322
- Update actions/cache action to v4.0.2 by @renovate in #323
- Update actions/setup-python action to v5.1.0 by @renovate in #325
- Update dependency ut-issl/s2e-core to v7.2.6 by @renovate in #324
- Update sksat/setup-rye action to v0.20.0 by @renovate in #314
- Update arkedge/workflows-c2a action to v5.2.0 by @renovate in #309
- MOBC を想定した機能を有効化するためのビルドオプションを追加 by @meltingrabbit in #306
- Common Packet のディレクトリ変更 by @meltingrabbit in #310
- Rename c2a-sils-runtime to c2a-dev-runtime by @sksat in #330
- Common Packet のデフォルト実装を core から提供する(Space Packet のみ) by @meltingrabbit in #329
- Example user CMake config is not only for SILS-S2E by @sksat in #331
- C2A User 開発者のための簡易なドキュメントを追加 by @meltingrabbit in #328
- Update CHANGELOG for v4.4.0 release by @meltingrabbit in #333
- Update version (v4.4.0) by @meltingrabbit in #343
New Contributors
- @ToshiAki64 made their first contribution in #319
Full Changelog: v4.3.0...v4.4.0
v4.3.0
v4.3.0 (2024-02-06)
Breaking Changes
Documentation
What's Changed
- アプリケーション追加時に必要な手順をドキュメントに追加する by @hender14 in #299
- Tlm ID の採番についてのルールをドキュメントに追加 by @meltingrabbit in #300
CCP_form_and_exec_*の再帰実行時のメモリエラーバグの修正 by @meltingrabbit in #301- static に確保している packet 系の変数をローカル変数にする by @meltingrabbit in #302
- Update version (v4.3.0) by @meltingrabbit in #304
New Contributors
Full Changelog: v4.2.0...v4.3.0
v4.2.0
v4.2.0 (2024-01-26)
Breaking Changes
- #245: memory dump application のリファクタリング
- #266: example mobc の tlm の tlm id を再採番する (CDIS, CA)
- #269: Rename
src_user/settings/component_driver_super/dir tosrc_user/settings/component_driver/dir - #275: AM tlm でのキャストを緩和し,1 tlm でダウンリンクできる個数を減少させた
Enhancements
- C2A Boom
- c2a-core crates
- code-generator
- #261: TL TLM に TL に登録された cmd 数を追加
- #263: CDIS や BCT に保存された CCP をダンプする App を追加
- #268: GS と FSW 側での同期のために,BCT, TL のダイジェスト (CRC) を下ろせるようにする App の追加
- #270: Component Driver を統一的に c2a-core で扱えるようにし,CDS の tlm と,テレメ不通関連 Cmd を追加
- #273: 任意の Component Driver に対して,任意バイト列の送受信と HAL init, reopen Cmd を提供する
- #274:
TMGR_get_master_mode_cycle_in_msecなどの in_sec 版を実装 - #260: C2A 初期化時に実行環境のエンディアンが設定と正しいかチェックする
Fixed
- #265: [code-generator] subobc の MD5 の計算のバグ修正
- #251: の修正であるため,中途半端なバージョンを使用していなければ対応不要
- #279:
component_driver_utility.cでのパラメタ取得のバグ修正 - #286: Fix examples/subobc pytest testcase dir
- #298: max_tlm_num のアサーションの off-by-one error の修正
- #243: の修正であるため,中途半端なバージョンを使用していなければ対応不要
Documentation
- #238: Add missing v4.1.0 compatible tools to changelog
- #247: VS Code を使ったデバッグ手順の追加 / READMEの微修正
- #278: タスク定期実行に関するドキュメントを追加
Internal
- #246: node_modules を .gitignore に追加
- #231: Update actions/setup-python action to v5
- #248: Update actions/setup-node action to v4.0.1
- #253: Update actions/deploy-pages action to v4
- #254: Update actions/upload-pages-artifact action to v3
- #250: Update sksat/setup-rye action to v0.10.0
- #252: Update sksat/action-clippy action to v0.4.0
- #258: Update renovate default reviewers
- #241: Update dependency ut-issl/s2e-core to v7.1.1
- #271: CDS: ComponentDriverSuper の整理(コードに変更なし)
- #272: sync_with_mobc_example.bat のメンテ
- #264: Update dependency ut-issl/s2e-core to v7.2.0
- #276: Update Rust crate semver to 1.0.21
- #257: Update arkedge/workflows-c2a action to v5
- #282: Update Swatinem/rust-cache action to v2.7.2
- #283: Fix check-coding-rule v4 workflow in workflows-c2a v5
- #284: Enable example build all again
- #285: Use matrix job to build multiple example users with same config
What's Changed
- [code-generator] 自動生成コードの @note に,生成元DBのコミットハッシュと生成パラメータを出力する by @meltingrabbit in #240
- [code-generator] max_tlm_num のアサーションを追加 by @meltingrabbit in #243
- MEM DUMP を整備する by @meltingrabbit in #245
- node_modules を .gitignore に追加 by @meltingrabbit in #246
- Add missing v4.1.0 compatible tools to changelog by @sksat in #238
- [code-generator] Refactor code-generator by @sksat in #251
- sils-runtime: require c2a-core v4 by @sksat in #133
- c2a-core hal crates: require c2a-core v4 by @sksat in #134
- VS Code を使ったデバッグ手順の追加 / READMEの微修正 by @meltingrabbit in #247
- .nvmrc の追加 by @meltingrabbit in #249
- Update actions/setup-python action to v5 by @renovate in #231
- Update actions/setup-node action to v4.0.1 by @renovate in #248
- Update actions/deploy-pages action to v4 by @renovate in #253
- Update actions/upload-pages-artifact action to v3 by @renovate in #254
- Update sksat/setup-rye action to v0.10.0 by @renovate in #250
- Update sksat/action-clippy action to v0.4.0 by @renovate in #252
- [code-generator] MOBC が定義を持っていない Sub OBC の tlm id の tlm でも GS に Forward できるように by @meltingrabbit in #256
- Update renovate default reviewers by @sksat in #258
- Update dependency ut-issl/s2e-core to v7.1.1 by @renovate in #241
- TL TLM に TL に登録された cmd 数を追加 by @meltingrabbit in #261
- [code-generator] subobc の MD5 の計算のバグ修正 by @meltingrabbit in #265
- example mobc の tlm の tlm id を再採番する (CDIS, CA) by @meltingrabbit in #266
- CDIS や BCT に保存された CCP をダンプする App を追加 by @meltingrabbit in #263
- タスク定期実行に関するドキュメントを追加 by @suzuki-toshihir0 in #278
- GS と FSW 側での同期のために,BCT, TL のダイジェスト (CRC) を下ろせるようにする App の追加 by @meltingrabbit in #268
- Rename
src_user/settings/component_driver_super/dir tosrc_user/settings/component_driver/dir by @meltingrabbit in #269 - CDS: ComponentDriverSuper の整理(コードに変更なし) by @meltingrabbit in #271
- Component Driver を統一的に c2a-core で扱えるようにし,CDS の tlm と,テレメ不通関連 Cmd を追加 by @meltingrabbit in #270
- sync_with_mobc_example.bat のメンテ by @meltingrabbit in #272
- 任意の Component Driver に対して,任意バイト列の送受信と HAL init, reopen Cmd を提供する by @meltingrabbit in #273
TMGR_get_master_mode_cycle_in_msecなどの in_sec 版を実装 by @meltingrabbit in #274- AM tlm のキャスト緩和のためにテレメを再設定 by @meltingrabbit in #275
- C2A 初期化時に実行環境のエンディアンが設定と正しいかチェックする by @meltingrabbit in #260
- component_driver_utility.c でのパラメタ取得のバグ修正 by @meltingrabbit in #279
- Update dependency ut-issl/s2e-core to v7.2.0 by @renovate in #264
- Update Rust crate semver to 1.0.21 by @renovate in #276
- Use Gaia 0.6 in C2A Boom for C2A DevTools usage update by @sksat in #281
- Update arkedge/workflows-c2a action to v5 by @renovate in #257
- Update Swatinem/rust-cache action to v2.7.2 by @renovate in #282
- Fix check-coding-rule v4 workflow in workflows-c2a v5 by @sksat in #283
- Enable example build all again by @sksat in #284
- Use matrix job to build multiple example users with same config by @sksat in #285
- Fix examples/subobc pytest testcase dir by @sksat in #286
- [code_generator] max_tlm_num のアサーションの off-by-one error の修正 by @meltingrabbit in #298
- Update version (v4.2.0) by @sksat in #287
New Contributors
- @suzuki-toshihir0 made their first contribution in #278
Full Changelog: v4.1.0...v4.2.0
v4.0.2
v4.0.2
v4.0 系の最初のメンテナンスのためのリリース.
このようなメンテナンスのためのリリースは v4.1.0/#201 でのリリースルールの変更によって可能となったが,v4.0 系でもこのバージョン以降は例外的に新たなリリースルールに則ってメンテナンスを行えるものとする.
Fixed
- ut-issl/c2a-core v3.10.1 からの backport
- #236: [stable-4.0] backport PL_BC_LIST_CLEARED を level high で EL 登録する
What's Changed
- [stable-4.0] backport PL_BC_LIST_CLEARED を level high で EL 登録する by @sksat in #236
- [stable-4.0] Update version (v4.0.2) by @sksat in #237
Full Changelog: v4.0.1...v4.0.2
v4.1.0
v4.1.0 (2023-12-11)
Breaking Changes
- #193: VCDU を AOS transfer frame に rename する
- #197: M_PDU をコード規約に合わせるなどのリファクタ
- #199: Drop c2a-core crate links config
- #201: Refactor release rule
- #225: Space Packet 関連ファイルのディレクトリを変更
- #214: CCSDS の主に MOBC 向け Data Link Layer のコードを Core 管理にする
- #219: CCSDS data link layer における SCID をユーザー設定として切り出す
- #220: APIDの命名規則の更新
- 命名規則は
tlm_cmd/common_tlm_cmd_packet.hを参照
- 命名規則は
Fixed
- #188: [v3.10.1 Backport] PL_BC_LIST_CLEARED を level high で EL 登録する
- #204: More match v4.0.0 script migration
- #205: Fix v4 applications rename order
- #206: More match system migration
- #211: Fix v4 system rename typo
- #212: More match v4 tlmcmd rename migration
- #218: Feedback from v4.0.0 beta.4
- #223: Feedback from v4.0.0 beta.5 migration
- #224: Feedback from v4.0.0 migration
- #222: add section 漏れを修正
Documentation
- #215: Update v4.0.0 migration guide
- #207: Move doxygen config to top
- #208: Exclude Doxygen stdint_wrapper
- #209: Deploy Doxygen generated HTML to GitHub Pages
Internal
- #179: Update Rust crate bindgen to 0.69.1
- #210: Update dependency ut-issl/s2e-core to v7.1.0
- #229: Run Rust CI on all workspace crates
Migration Guide
- #193: 影響範囲は MOBC のみ
src_user/tlm_cmd/ccsds/vcdu.{c,h}を消し,src_user/tlm_cmd/ccsds/aos_transfer_frame.{c,h}をexamples/mobcからコピーする.CMakeLists.txtも修正する.VCDUをAOSTFに置換する(TLM DB の csv なども).vcduをaostfに置換する(TLM DB の csv なども).vcdu.hをaos_transfer_frame.hに置換する(include の修正).- コンパイルが通らないところを直す.想定されるものは以下.
VCDU構造体 がAosTransferFrame構造体に変わったので,変数定義の型名が変わっているはず.
- #197: 影響範囲は MOBC のみ
src_user/tlm_cmd/ccsds/m_pdu.{c,h}を消し,src_user/tlm_cmd/ccsds/multiplexing_protocol_data_unit.{c,h}をexamples/mobcからコピーする.CMakeLists.txtも修正する.m_pdu.hをmultiplexing_protocol_data_unit.hに置換する(include の修正).- コンパイルが通らないところを直す.想定されるものは以下.
M_PDU構造体 がMultiplexingProtocolDataUnit構造体に変わったので,変数定義の型名が変わっているはず.
- #225
- コンパイルが通るように,以下の include の修正を行う.
#include <src_core/tlm_cmd/ccsds/space_packet.h>->#include <src_core/tlm_cmd/ccsds/space_packet_protocol/space_packet.h>#include <src_core/tlm_cmd/ccsds/space_packet_typedef.h>->#include <src_core/tlm_cmd/ccsds/space_packet_protocol/space_packet_typedef.h>#include <src_core/tlm_cmd/ccsds/tlm_space_packet.h>->#include <src_core/tlm_cmd/ccsds/space_packet_protocol/tlm_space_packet.h>#include <src_core/tlm_cmd/ccsds/cmd_space_packet.h>->#include <src_core/tlm_cmd/ccsds/space_packet_protocol/cmd_space_packet.h>
- コンパイルが通るように,以下の include の修正を行う.
- #214: 影響範囲は MOBC の CCSDS Data Link Layer の実装
- AOS Space Data Link Protocol の実装を c2a-core のものに切り替える
src_user/tlm_cmd/ccsds/内の既存の実装を消すaos_transfer_frame.{c,h}multiplexing_protocol_data_unit.{c,h}tcp_to_m_pdu.{c,h}
- c2a-core の実装を使うように切り替える
src_core/ccsds/aos_space_data_link_protocol/内のソースファイルをビルド対象に追加する- CMake の場合,
C2A_USE_CORE_CCSDS_AOS_SPACE_DATA_LINK_PROTOCOLoption をONにするだけでよい (C2A user top のCMakeLists.txt)examples/mobc/CMakeLists.txtを参考にできる.
- コンパイルが通らないところを直す.ファイルの場所が変わったことによる include path の修正が想定される.
- TC Space Data Link Protocol の実装を c2a-core のものに切り替える
src_user/tlm_cmd/ccsds/内の既存の実装を消すtc_segment.{c,h}tc_transfer_frame.{c,h}
- c2a-core の実装を使うように切り替える
src_core/ccsds/tc_space_data_link_protocol/内のソースファイルをビルド対象に追加する- CMake の場合,
C2A_USE_CORE_CCSDS_TC_SPACE_DATA_LINK_PROTOCOLoption をONにするだけでよい (C2A user top のCMakeLists.txt)examples/mobc/CMakeLists.txtを参考にできる.
- コンパイルが通らないところを直す.ファイルの場所が変わったことによる include path の修正が想定される.
- AOS Space Data Link Protocol の実装を c2a-core のものに切り替える
- #219: 影響範囲は MOBC のみ
- PR の diff (
examples/mobc/src/) に出ている修正を, user にも反映させる.
- PR の diff (
- #220
tlm_cmd/common_tlm_cmd_packet.hにある命名規則に従うように, APID の命名を更新する.
Compatible C2A Tools
- ut-issl/tlm-cmd-db v2.4.0
- ut-issl/python-wings-interface v1.5.1
- arkedge/gaia v0.5.0
- tlmcmddb-cli 0.2.0
- kble 0.2.0
- C2A DevTools
What's Changed
- [v3.10.1 Backport] PL_BC_LIST_CLEARED を level high で EL 登録する by @meltingrabbit in #188
- VCDU を AOS transfer frame に rename する by @meltingrabbit in #193
- M_PDU をコード規約に合わせるなどのリファクタ by @meltingrabbit in #197
- Update Rust crate bindgen to 0.69.1 by @renovate in #179
- More match v4.0.0 script migration by @sksat in #204
- Fix v4 applications rename order by @sksat in #205
- More match system migration by @sksat in #206
- Drop c2a-core crate links config by @sksat in #199
- Fix v4 system rename typo by @sksat in #211
- Update dependency ut-issl/s2e-core to v7.1.0 by @renovate in #210
- More match v4 tlmcmd rename migration by @sksat in #212
- Refactor release rule by @sksat in #201
- Update v4.0.0 migration guide by @sksat in #215
- Feedback from v4.0.0 beta.4 by @sksat in #218
- Move doxygen config to top by @sksat in #207
- Exclude Doxygen stdint_wrapper by @sksat in #208
- Deploy Doxygen generated HTML to GitHub Pages by @sksat in #209
- Feedback from v4.0.0 beta.5 migration by @sksat in #223
- Feedback from v4.0.0 migration by @sksat in #224
- add section 漏れを修正 by @meltingrabbit in #222
- Space Packet 関連ファイルのディレクトリを変更 by @meltingrabbit in #225
- MOBC 用 CCSDS のコード(主にデータリンク層)を core に移植する by @meltingrabbit in #214
- CCSDS data link layer における SCID をユーザー設定として切り出す by @meltingrabbit in #219
- APIDの命名規則の更新 by @meltingrabbit in #220
- Run Rust CI on all workspace crates by @sksat in #229
- Update version (v4.1.0) by @sksat in #228
- Update main (v4.1.0) on 2023-12-11 by @meltingrabbit in #232
Full Changelog: v4.0.1...v4.1.0
v4.0.1
v4.0.1 (2023-11-09)
v4.0.0 の migration script の修整に伴う patch update
What's Changed
- Refactor v4 IfWrapper migration script by @sksat in #180
- Refactor v4 migration script by @sksat in #182
- Add Gaia label by @meltingrabbit in #185
- Update version (v4.0.1) by @sksat in #183
- Update main (v4.0.1) on 2023-11-09 by @sksat in #200
Full Changelog: v4.0.0...v4.0.1
v4.0.0
v4.0.0 (2023-11-02)
arkedge/c2a-core v4.0.0 は ArkEdge Space Inc. による C2A の先行開発のための ut-issl/c2a-core の fork 後最初のリリースとなる.
v4.0.0 では,fork に伴う開発体制の変更に加え,以下の大きなセマンティクス的な変更を行ったため,major update とした.
- 大規模な rename
- 各ツールの c2a-core リポジトリへの吸収合併
- Rust のエコシステム / C2A 標準開発環境 C2A Boom の導入
大規模な rename はあくまで現在の設計・コードの責務をできるだけ明らかにし,(特に C2A の開発経験の無い一般的なソフトウェアエンジニアを中心とした)開発者のディスコミュニケーションを低減する目的で実施した.
ex: IfWrapper -> HAL, Driver -> Component Driver
また,ディレクトリ名に大文字・小文字があったりなかったりする,不必要に階層構造が深いといった歪なディレクトリ構造の修正も行った.
ex: src/src_core/System -> src/src_core/system, src/src_user/Settings/TlmCmd/data_base -> tlm-cmd-db
これらの rename は大規模ではあるものの,C2A としてのロジックの変更やリファクタリングはほぼ行っていない.
この移行については migration script を用意している(CHANGELOG.md の Migration Guide 参照).
各ツールの c2a-core リポジトリへの吸収合併については,ut-issl/c2a-enum-loader や ut-issl/c2a-tlm-cmd-code-generator などの c2a-core のコード構成に依存したツールのリリース単位は c2a-core と同一であると判断し実施した.
これらのツールについては,今後は各 C2A user で使用している c2a-core と同じバージョンのものを使用してもらうことになる(実務上は src/src_core から使うことになる).
Rust エコシステム / C2A Boom の導入については,ArkEdge Space Inc. 内での開発成果を OSS 化しつつ実施した.
これらについては c2a-core v3 系に対しても互換性があり導入可能だが,新機能の開発や積極的なサポートは c2a-core v4 系以降を前提として行われる可能性がある.
Breaking Changes
- ut-issl/c2a-core v3.10.0 から ArkEdge Space Inc. による先行開発のために fork し,リポジトリを arkedge/c2a-core に移行
- #1: ライセンス情報の更新
- 94: メジャーバージョンアップ中は煩雑さ軽減のために c2a-core の Pre-Release の免除を可能に
- #18: CommandDispatcher の統一的なテレメの提供
- #19: App の initializer, entry_point の返り値を void から RESULT にする
- 各ディレクトリ名・構造の変更
- #15: example user を
minimum_user->mobc,2nd_obc_user->subobcに変更 - #20: ディレクトリ名のコーディング規約を
CamelCaseからsnake_caseに変更- v4 系統ではこの変更は移行期間とし,あらゆるディレクトリ名を一気に変更する必要はないものとしている
- #42: Rust の crate のためのディレクトリは小文字の
-区切りとする
- #8: C2A 用語の rename
- #28: 歪なディレクトリ構造の修正
- #122, #124:
src/src_core/Drivers/Super->src/src_core/driver,src/src_core/Drivers/Protocol->src/src_core/driver - #138:
src/src_user/Test->src/src_user/test,src/src_user/Test/test->src/src_user/test - #10: ディレクトリ名の CamelCase をやめて snake_case にする
- #20: コーディング規約の変更
- #21, #24:
IfWrapper->hal - #26:
c2a-core/Examples->c2a-core/examples - #31:
Docs->docs - #33, #39:
Script->script - #46, #48, #140:
Applications->applications - #50, #51, #53:
Library->library - #54, #55, #125:
System->system - #79, #80:
TlmCmd->tlm_cmd - #122, #124:
Drivers->driver - #138:
src/src_user/Test->src/src_user/test - #167, #168:
src/src_user/Settings->src/src_user/settings
- #172:
src/src_user/settings/tlm_cmd/data_base->tlm-cmd-db
- #122, #124:
- 移行には scripts/migration/ 以下の
v4-rename-*.shの migration script を使用可能- example user についてはこの migration script のみで移行しているが,あらゆる C2A user の状況について考慮できているわけではないため,適宜対応が必要
- #15: example user を
- #23, #25, #129, #130, #131:
hal(旧IfWrapper)のうち,古すぎるインターフェースを排除- 既に使われてしまっているものについては,各 C2A user で一旦雑に古いヘッダファイルを各々で持って対応可能(今後再設計する予定)
- #97:
check_coding_rule.pyの設定ファイルであるcheck_coding_rule.jsonの場所を C2A user のトップディレクトリに変更- 対応方法
Script/CI/check_coding_rule.jsonないしscript/ci/check_coding_rule.jsonを C2A user のトップディレクトリに移動- 設定ファイルから
c2a_root_dirを削除 - 設定ファイル中のディレクトリの設定を C2A user のトップディレクトリからの相対パスに変更
- 対応方法
- #99: ut-issl/c2a-enum-loader を c2a-core リポジトリで管理するように変更
- import したバージョン: ut-issl/c2a-enum-loader ae-v2.0.0
- #111: ut-issl/c2a-tlm-cmd-code-generator を c2a-core リポジトリで管理するように変更
- import したバージョン: ut-issl/c2a-tlm-cmd-code-generator ae-v2.0.0
- #83, #86, #132, #139: CMake option の整理
C2A_prefix に統一した(これはコーディング規約にも追加)- 意味が分かりにくい命名の変更,今後 optional としていく挙動を default OFF とした
option()の挙動はユーザ指定によってかなり変わるため,該当する変更は単なるビルドチェックなどではなくすべて grep して変更することBUILD_C2A_AS_UTF8->C2A_BUILD_AS_UTF8BUILD_C2A_AS_C99->C2A_BUILD_AS_C99BUILD_C2A_AS_CXX->C2A_BUILD_AS_CXX(NOT USE_32BIT_COMPILER)->C2A_BUILD_FOR_32BIT:ONの時に明示的に 32bit ターゲットとしてビルドする(-m32をつける)(NOT C2A_USE_STDINT_WRAPPER)->C2A_USE_STDINT_WRAPPER: C89 ターゲットでビルドする際にONにすることでユーザ定義のstdint.hを使うBUILD_C2A_AS_SILS_FW->C2A_BUILD_FOR_SILSUSE_ALL_C2A_CORE_APPS->C2A_USE_ALL_CORE_APPSUSE_ALL_C2A_CORE_TEST_APPS->C2A_USE_ALL_CORE_TEST_APPSUSE_ALL_C2A_CORE_LIB->C2A_USE_ALL_CORE_LIBUSE_SCI_COM_WINGS->C2A_USE_SCI_COM_WINGS: 今後 WINGS 向けビルドは optional なものとなるので,default で OFF に変更.使う場合はビルド時に指定するか,S2E user のCMakeLists.txtで設定することUSE_SCI_COM_UART->C2A_USE_SCI_COM_UARTUSE_SILS_MOCKUP->C2A_BUILD_WITH_SILS_MOCKUPSHOW_DEBUG_PRINT_ON_SILS->C2A_BUILD_WITH_SILS_MOCKUP
Enhancements
- #35, #37:
c2a-corecrate で Rust 向けの binding を提供する- C2A 内で共通の bindgen の設定を使用可能にするため,c2a-bind-utils crate を追加
- #38: C2A 単体での SILS のための C2A のランタイム実装である
c2a-sils-runtimecrate を追加 - 共通して使用可能な C2A HAL(旧
IfWrapper)実装群を追加 - #44, #45:
c2a-sils-runtimeと Rust 製の C2A HAL 実装を使って,example user の C2A 単体での SILS(S2E なし)を実装 - #56: 新たな C2A 標準環境である
C2A Boomを example user に導入- これに伴い,各種 ArkEdge 独自のライブラリ・ツール群が 導入・OSS 化された
- Gaia
- tlmcmddb-cli
- kble
- [C2A DevTools](https://github.com/arkedge/c2a-d...
v4.0.0-beta.5
v4.0.0-beta.5
IF list 周りの refactor / rename と,C2A user の test, Settings ディレクトリの rename を行ったことによる Pre Release.
C2A Core の該当 PR: #169
crates.io: https://crates.io/crates/c2a-core/4.0.0-beta.5
What's Changed
- Rename code-generator by @sksat in #153
- c2a runtime や c2a devtools での開発のためのドキュメントを追加 by @meltingrabbit in #123
- Update dependency ut-issl/s2e-core to v7 by @renovate in #152
- Update actions/checkout action to v4.1.1 by @renovate in #158
- Update Swatinem/rust-cache action to v2.7.1 by @renovate in #161
- Update sksat/action-clippy action to v0.3.0 by @renovate in #160
- Update sksat/setup-rye action to v0.9.1 by @renovate in #159
- Update python Docker tag to v3.12 by @renovate in #112
- Refactor user test dir by @sksat in #138
- Update actions/setup-node action to v4 by @renovate in #164
- Rename component driver prefix by @sksat in #154
- Apply rename migration: component driver prefix by @sksat in #155
- Rename & Refactor IF list to CDS handler registry by @sksat in #165
- Apply rename migration: IF list by @sksat in #166
Full Changelog: v4.0.0-beta.4...v4.0.0-beta.5