Allow multi-connector SOURCE/SINK terminals via PDN_P_DES / PDN_N_DES - #47
Merged
anarthrous-eda merged 20 commits intoSep 4, 2026
Merged
Conversation
Generic script reads branch config from team/local via git show, fetches origin branches by default (--local-only to disable), auto-resolves .gitignore merge conflicts on throwaway test/combined. Co-authored-by: Cursor <cursoragent@cursor.com>
Pass a .PrjPcb path to launch FYPA gui directly after the combined test branch run. Also gitignore scripts/py314.local.json. Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse test/combined when input SHAs match a git-note stamp, fall back to local refs when fetch fails, skip pytest via -SkipTests, and quiet fetch stderr so stamp matching works reliably from Altium.
PowerShell only accepts the PascalCase switch; the kebab-case form never matched a parameter. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Rebuild and publish the shared tip via maintain-test-combined.ps1 (origin tips only). test-combined.ps1 and launch-combined-gui.ps1 only check out origin/test/combined — no merges at Altium start. Co-authored-by: Cursor <cursoragent@cursor.com>
First publish has no origin/test/combined yet; do not fail the input fetch when that ref is absent. Co-authored-by: Cursor <cursoragent@cursor.com>
Leave the in-progress merge on test/combined so conflicts can be resolved without losing MERGE_HEAD. Co-authored-by: Cursor <cursoragent@cursor.com>
Centralize test/combined maintain + launch
Default updates from origin/test/combined and merges only missing tips so prior conflict resolutions survive. -Rebuild stays the clean recreate. -Abort resets a stuck test/combined without forcing a dirty checkout. Document the finish/abort conflict path in fork-workflow.md. Co-authored-by: Cursor <cursoragent@cursor.com>
maintain-test-combined: incremental + Abort
cs42
marked this pull request as ready for review
August 7, 2026 06:40
…banana plugs). Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
cs42
force-pushed
the
feature/multi-connector-pdn-source
branch
from
September 2, 2026 11:00
f84abfb to
10dd87c
Compare
anarthrous-eda
added a commit
that referenced
this pull request
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Lab and prototype boards often bring supply in through separate single-pin connectors (banana jacks): one jack for the rail, several for return. FYPA previously required both
PDN_P_NETandPDN_N_NETpads on the same annotated footprint, so a two-terminal SOURCE could not be placed on that topology without a kludge (2-pin symbol, wrong injection point, or single-net mode that ignores return copper).This change lets one logical SOURCE or SINK keep its value on a host part while binding each terminal to pads on other designators — so current injects at the real lab connectors.
Summary
PDN_P_DES/PDN_N_DES(andPDNn_*) — comma-separated designator lists for the P/N side. When set, that side uses only those parts’ pads on the named net (host is not auto-included).p_des/n_deson.fypadirectives, plus slim CSV fields in the PDN panel.TerminalPin.component_designatorand metadatacomponent/pad_labelso multi-part terminals stay readable; rawpadstays unlock-safe.Example
Without
*_DES, behaviour is unchanged (pads on the host only).Test plan
pytest tests/test_annotations.py tests/test_editor_directives.pyPDN_N_DESlisting return jacks; confirm N pads/solve use those connectors*_DES, existing two-terminal sources behave unchanged