Skip to content

Conversation

@jlucas9
Copy link
Contributor

@jlucas9 jlucas9 commented Aug 20, 2025

Summary

  • Added a make mold COMP=<name> command that clones and renames the demo component
  • Drafted EPS component

How to Test

  • make uninstall
  • make
  • make start
  • Manually confirm that EPS target executes (app and sim) and is fully functional in GSW

Checklist

  • My code follows the project's coding standards
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works

Related

List any related issues or submodule PRs that need to be completed:

@jlucas9 jlucas9 requested a review from Copilot August 20, 2025 01:32
@jlucas9 jlucas9 self-assigned this Aug 20, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements a component mold system for creating new TrySpace components and adds an EPS (Electrical Power System) component. The mold system allows developers to generate new components from the demo template with automated renaming and content replacement.

  • Adds a make mold COMP=<name> command for component generation from the demo template
  • Introduces a new EPS component as an example of using the mold system
  • Implements dynamic CLI compose file generation using Jinja2 templates

Reviewed Changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated no comments.

Show a summary per file
File Description
cfg/tryspace-comp-mold.py New component mold generator script with validation, content replacement, and file renaming
cfg/tryspace-orchestrator.py Adds CLI component selection and Jinja2 template rendering for cli-compose.yaml
cfg/cli-compose.j2 Converts static CLI compose to dynamic Jinja2 template
cfg/tryspace-config.yaml Adds EPS component and CLI configuration section
cfg/drm/drm.yaml Includes EPS component in DRM mission
Makefile Adds mold target and improves clean/build process
.gitmodules Registers EPS component submodule

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@codecov
Copy link

codecov bot commented Aug 20, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@jlucas9 jlucas9 merged commit c90738d into dev Aug 20, 2025
3 checks passed
@jlucas9 jlucas9 deleted the 24-comp-mold branch August 20, 2025 02:17
jlucas9 added a commit that referenced this pull request Sep 25, 2025
* [#24] Component Mold and EPS (#50)

* [#24] Created tryspace-comp-mold.py;

* [#26] Initial comp/eps from mold;

* [#26] Overhaul the EPS to use I2C;

* [#26] Updated cli to use orchestrator and proved with EPS;

* [#26] Removed standalone sims in favor of libraries for tryspace-director;

* [#26] Resolved error with eps.xtce;

* [#26] Flattened GSW command structure and fixed conversions;

* [#26] Updates to submodules after PR review;

* [#27] Radio Component (#52)

* [#27] Initial mold for radio from demo component;

* [#27] Radio NOOP and HK working with CLI;

* [#27] Added radio app to FSW;

* [#27] Radio downlink functional;

* [#27] Wrapped debug prints in *_CFG_DEBUG statements;

* [#27] Updated radio unit tests;

* [#27] Added log_mode to default active.yaml;

* [#27] Updates after PR reviews;

* [#28] Updates to use cryptolib with radio; (#61)

* [#28] Updates to use cryptolib with radio;

* [#28] Updates for unit tests;

* [#28] Update to latest tryspace-lab:0.0.1;

* [#28] Update after PR review;

* [#35] 42 GUI (#62)

* [#35] Added 42 truth telemetry;

* [#35] Added demo display and procedure;

* [#35] Resolved issue with nesting components;

* [#35] Submodule updates after PR review;

* [#20] CF, DS, LC, SC (#63)

* [#20] Try to setup CFDP;

* [#20] Updates to CFDP:

* [#20] CFDP upload EIDs set;

* [#20] Class 2 CFDP transactions (manual downlink);

* [#20] Updates after submodule merges;

* [#25] ADCS Component (#65)

* [#25]  Added ./comp/adcs submodule

* [#25] Initial ADCS;

* [#25] ADCS updates to xtce and unit tests;

* [#25] Submodule updates after PR review;

* [#29] Design Reference Mission (#66)

* [#29] Initial updates from DRM effort;

* [#29] Resolved EPS tlm packet offset issue;

* [#29] Updated architecture and DRM;

* [#29] Updated unit-tests after changes;

* [#29] Submodule updates after merges;

* [#51] Strict build flags (#67)

* [#51] Modifications after CompFlags.cmake improvements;

* [#51] Separate flags for unit tests;

* [#51] CLI updates for strict flags;

* [#54] CLI CI;

* [#54] build-cli updated to avoid docker calls;

* [#51] Submodule updates after merges;

* [#58] Added backdoor simulator interface; (#68)

* [#58] Added backdoor simulator interface;

* [#58] Updates after submodule merges;

* [#53] Review and Optimize (#69)

* [#53] CMake update to use libsimulith.so;

* [#55] Additional tests in simulith;

* [#53] Submodule update after merges;

* [#30] Multiple Configurations (#70)

* [#30] Orchestrator support for spacecraft;

* [#30] Moved tryspace_defs from fsw to cfg;

* [#30] Support spacecraft builds;

* [#30] Support spacecraft fsw cfgs;

* [#30] Mission and spacecraft build directories;

* [#30] Mission and spacecraft in runtime name;

* [#30] Address missing active.yaml configuration defaults;

* [#30] Address missing parameters for FSW CI;

* [#30] Look for libsimulith.so in multiple places for runtime;

* [#30] Search for perfids.h in the right location;

* [#30] Spacecraft FSW cfg now tryspace_defs;

* [#30] Rename the mission configuration to the default;

* [#30] Submodule updates after merges;

* [#71] Updates to submodules after merges; (#72)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants