Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d79e0e7
Add fork combined-test workflow (test-combined.ps1).
cs42 Jul 16, 2026
d4284ac
Add -PrjPcb CLI to test-combined.ps1.
cs42 Jul 17, 2026
0e67677
Speed up combined-test launches with soft-fetch reuse and -SkipTests.
cs42 Jul 23, 2026
66697a3
always merge locally changed branches
cs42 Jul 24, 2026
3158376
Fix test-combined docs to use -LocalOnly instead of --local-only.
cs42 Jul 30, 2026
f6dd733
Add Get-Help/-? comment-based help to test-combined.ps1.
cs42 Aug 4, 2026
de94da1
Centralize test/combined: maintain script, slim launcher, docs
cs42 Aug 5, 2026
5c27b28
Centralize test/combined: soft-fetch missing test branch
cs42 Aug 5, 2026
fe17b99
maintain-test-combined: stay on branch when merge conflicts
cs42 Aug 5, 2026
94eac27
Merge pull request #2 from contronix/feature/central-test-combined
cs42 Aug 5, 2026
1f5db12
maintain-test-combined: incremental default + -Abort escape hatch
cs42 Aug 5, 2026
51f7349
Merge pull request #3 from contronix/fix/maintain-incremental-abort
cs42 Aug 5, 2026
9969c73
Merge remote-tracking branch 'upstream/main'
cs42 Aug 17, 2026
8fb066f
Merge remote-tracking branch 'upstream/main'
cs42 Sep 2, 2026
ad8f18c
Allow SOURCE/SINK terminals to pull pads from other designators (lab …
cs42 Aug 7, 2026
3da46b0
Cover multi-connector P/N DES resolution in annotation tests.
cs42 Aug 7, 2026
3163b41
Resolve editor p_des/n_des for multi-connector sources.
cs42 Aug 7, 2026
352408d
Document and expose P/N DES in the editor panel.
cs42 Aug 7, 2026
febf18f
Fix editor unlock and DES parity after multi-connector pad labels.
cs42 Aug 7, 2026
10dd87c
Accept 2- or 3-tuple returns from _resolve_terminal in multi-DES.
cs42 Aug 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,9 @@ ExampleDesigns/Sandbox/*
# would re-leak exactly what it removes. Run it before each commit.
sanitize_sandbox.ps1
wiring.json
scripts/test-*.ps1
# Local override for test-combined (team config is on team/local branch)
scripts/test-combined.json
scripts/py314.local.json
# Fork-local team config (team/test-combined.json is tracked on team/local only)
team/*
!team/test-combined.json
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,13 @@ define the power-delivery topology:
| `SERIES` | `PDN_R`, `PDN_P_NET`\*, `PDN_N_NET`\* | Series resistance / fuse / ferrite / inductor DCR (rail bridge) |
| `REGULATOR` | `PDN_V`, `PDN_REGULATOR_TYPE`, `PDN_REGULATOR_EFFICIENCY`, optional `PDN_QUIESCENT` — *or* `PDN_GAIN`, plus `PDN_OUT_*` / `PDN_IN_*` nets | On-board regulator (LDO / buck) — models BOTH input and output rails |

Optional two-terminal helpers (SOURCE / SINK):

| Parameter | Purpose |
|-----------|---------|
| `PDN_P_PINS` / `PDN_N_PINS` | Restrict which pads on the host (or DES-listed parts) couple |
| `PDN_P_DES` / `PDN_N_DES` | Pull that terminal's pads from other designators only (host not auto-included); for multi-connector / banana-style sources |

\* `PDN_P_NET` and `PDN_N_NET` are optional for `SERIES` on a 2-pin part — the
tool auto-infers them from the component's pad connectivity.

Expand Down
80 changes: 80 additions & 0 deletions docs/fork-workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Fork workflow (team/local)

This fork keeps upstream-ready work separate from local team tooling.

## Branches

| Branch | Purpose |
|--------|---------|
| `main` | Tracks upstream; use as the base for upstream pull requests |
| `team/local` | Shared fork config (combined-test branch list, GH Action for maintain) |
| `test/combined` | Published integration tip built from the JSON list (force-pushed) |

Daily development can use `team/local` or feature branches. **Do not merge `team/local` into branches you open upstream.**

## Combined test (`test/combined`)

Feature branches listed in `team/test-combined.json` on `team/local` are merged into the shared `test/combined` branch and pushed to GitHub. Machines only fetch and check out that tip — they do not merge at Altium/FYPA start.

Config on `team/local`:

```json
{
"baseBranch": "main",
"testBranch": "test/combined",
"deleteTestBranchFirst": true,
"extraFeatureBranches": ["feature/example-a", "fix/example-b"]
}
```

### Maintain (update + publish)

Uses **origin tips only**. Prefer **incremental** updates (default): check out `origin/test/combined` and merge only extras not already in that tip. That keeps prior conflict resolutions.

```powershell
pwsh scripts/maintain-test-combined.ps1 -Push # incremental
pwsh scripts/maintain-test-combined.ps1 -Rebuild -Push # clean recreate from main
pwsh scripts/maintain-test-combined.ps1 -Abort # escape stuck merge
```

Omit `-Push` while resolving conflicts locally, then `-Push` when clean.

**Conflicts:** only `.gitignore` / `FYPA.code-workspace` auto-resolve. On a real conflict the script stays on `test/combined` — do not `git switch` away. Either finish (`git add` + `git commit`, then `-Push`) or run `-Abort` to hard-reset to `origin/test/combined` and return to your previous branch.

Use `-Rebuild` only when `main` moved a lot, extras were removed/reordered, or the tip is broken. Expect to resolve the same conflicts again.

Config resolution: `scripts/test-combined.json` (gitignored) → `team/test-combined.json` → `team/local:team/test-combined.json` → example file.

### GitHub Action (fork only)

`.github/workflows/maintain-test-combined.yml` lives **only on `team/local`** — never commit it to `main` or upstream PR branches.

Triggers: `workflow_dispatch` (`--ref team/local`) and pushes to `team/local` that touch `team/test-combined.json`.

### Launch (no merge)

```powershell
pwsh scripts/test-combined.ps1
pwsh scripts/test-combined.ps1 -SkipTests -PrjPcb path\to\Board.PrjPcb
```

Checks out `origin/test/combined` only. `-Rebuild` is not supported — use maintain.

Altium (`Run_FYPA.ps1`) calls `scripts/launch-combined-gui.ps1`.

### Typical flow

1. Push the feature branch to `origin`.
2. Add it to `team/test-combined.json` on `team/local` and push `team/local`.
3. `pwsh scripts/maintain-test-combined.ps1 -Push` (incremental).
4. On any machine: Altium / `test-combined.ps1` → `origin/test/combined`.

Prefer clean feature branches in the JSON (not pre-merged `*-combined` stacks).

## Upstream pull requests

```powershell
git fetch upstream
git checkout -b feature/my-fix upstream/main
git cherry-pick <commit>
```
23 changes: 23 additions & 0 deletions docs/user-guide/01-sources-and-sinks.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,29 @@ To override the inferred pad set (e.g. to exclude a thermal pad), use
the `PDN_P_PINS` / `PDN_N_PINS` parameters documented in the
[main README](../../README.md).

### Multi-connector / banana-style sources

Some bench setups feed power through one connector and return through
several others (banana jacks, sense returns, distributed ground posts).
Annotate the SOURCE on the **host** connector that carries the value /
role, then list the other designators on the terminal that should pull
pads from them:

| Name | Value |
|--------------|--------------|
| `PDN_ROLE` | `SOURCE` |
| `PDN_V` | `5V` |
| `PDN_P_NET` | `VIN` |
| `PDN_N_NET` | `GND` |
| `PDN_N_DES` | `J3,J5,J7` |

Here J2 is the host (P pads stay on J2). The N terminal uses **only**
pads on J3, J5, and J7 that sit on `GND` — the host is not
auto-included. `PDN_P_DES` works the same way on the P side. Optional
`PDN_P_PINS` / `PDN_N_PINS` still filter pad numbers across the listed
parts. Indexed channels use `PDNn_P_DES` / `PDNn_N_DES`. Without
`*_DES`, behaviour is unchanged (host pads only).

### Several rails on one part (multi-channel)

An IC that draws from more than one supply rail is a single part with
Expand Down
Loading
Loading