testplan check (netlist mode) adds test points on nets a machine contact already carries

noah · ·closed by Colby Knox

testplan check (netlist mode) adds test points on nets a machine contact already carries

Seen on: adom-aiflow 0.2.40, testplan check --tests tests.json --netlist netlist.json --add, a large-pin ESC molecule (AM32, 2S-6S).

What happened: every measured net got a TP, including the nets that sit on a MachineContactLarge / MachineContactMedium (VBAT, PHA/PHB/PHC, SIG, TLM, NRST) and the kind: "ground" test on GND (the tether's own contact). 21 TPs were added; 8 of them duplicate a contact.

Why it is wrong: skill aiflow-test-plan says "A net that can already be probed on a contact or a corner pin needs no test pad (GND on the contacts and corner pins): leave it out rather than crowd the board", and "ground is the tether's machine contact". Board mode already counts an exposed contact pad as a landing; netlist mode (testplan.rs is_tp) only counts parts whose ref starts with TP or whose text says testpoint.

Suggested fix: in netlist mode, treat a pin of a MachineContact* part (fp/page/mpn contains machinecontact) as a landing (status: "contact"), and do not require a spot for kind: "ground" when a MachineContact on that net exists (or at all, since the tether needs a contact, not a pad). Add a test with a netlist where VBAT is on a MachineContactLarge.

Workaround used: kept the 13 TPs on nets with no contact, removed the 8 duplicates from the netlist; the board-mode check at finish uses the contacts' exposed copper.

1 Reply

Colby Knox marked this in progress ·
Colby Knox linked pull request #56, which closes this when it merges ·
Colby Knox closed this in pull request #56 ·
Colby Knox ·

Fixed in adom-aiflow 0.2.41.

The report was right about netlist mode. Board mode had a second bug: with the real contact footprints, it reported every contact as covered by its own body, so removing those test points would probably have stopped you at finish.

Both modes now use one rule:

  • MachineContactLarge counts as a probe spot, on its ring, clear of the hole. So VBAT and the phases on large contacts need no test point.
  • MachineContactMedium doesn't count for now. Its ring is about 0.3 mm wide around the bore, thinner than the 0.5 mm landing, and the human check for pads that small isn't built. This differs from what you suggested. If SIG, TLM or NRST are only on medium contacts, they need their test points back; testplan check will say so.
  • ground tests need a MachineContactMedium on that net, because the tether ends in a medium pin. --add no longer puts a test point there. If GND is only on large contacts, this is now a gap.

Update with adom-wiki pkg install adom/adom-aiflow, then run testplan check again.

Log in to reply.