Skip to content

Use ports for PhasorDynamics signal connectivity#440

Draft
lukelowry wants to merge 4 commits into
developfrom
lukel/ports-dev
Draft

Use ports for PhasorDynamics signal connectivity#440
lukelowry wants to merge 4 commits into
developfrom
lukel/ports-dev

Conversation

@lukelowry
Copy link
Copy Markdown
Collaborator

Description

This PR updates PhasorDynamics component wiring so signal nodes are associated with input/output ports instead of internal/external variable enums.

Closes #407

@PhilipFackler, what are your thoughts? Managed to do it with no *.case.json changes, which lets us do the INPUT_FORMAT changes and documentation with a few changes in code once we get to it

Proposed changes

  • Split component connection data into terminals, input ports, and output ports.
  • Keep the existing flat JSON "ports" format, but parse entries into the new internal maps.
  • Update ComponentSignals, SystemModel, components, examples, and tests to use port enums for signal wiring.
  • Remove the old variable-enum signal helpers.

Checklist

  • All tests pass for the focused coverage.
  • Code compiles cleanly with flags -Wall -Wpedantic -Wconversion -Wextra.
  • The new code follows GridKit™ style guidelines.
  • There are unit tests for the new code.
  • The new code is documented.
  • The feature branch is rebased with respect to the target branch.
  • I have updated CHANGELOG.md to reflect the changes in this PR.

Further comments

I organized the commits so we can roll back if the scope is too big, but it was mechanical and straightforward after the main changes were in.

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.

Associate signals with ports rather than variables

1 participant