Closed general

Pattern lane refuses a board whose only extra nets are KiCad's one-pad unconnected-(REF-PadN) nets

John Lauer · ·closed by John Lauer

Seen with adom-aiflow 0.2.15 on a 2-layer KiCad 10 carrier plate. It has four machine pins on a GND pour and eight floating molecule seats: one-pad MachineContactMedium footprints with nothing connected, by design.

The pattern lane (#84) refuses it at step models, and every later step does the same:

ERROR: this run is a pattern board (`intake --kind pattern` or requirements boardKind), but footprint pads are on 9 nets (GND, unconnected-(SD1-Pad1), unconnected-(SD2-Pad1), unconnected-(SD3-Pad1), unconnected-(SD4-Pad1), unconnected-(SR1-Pad1), unconnected-(SR2-Pad1), unconnected-(SR3-Pad1)): a board with nets to connect needs the electrical lane

KiCad gives every unconnected pad its own net, named unconnected-(<REF>-Pad<N>), when the board is updated from a schematic where the pin connects to nothing. Each of those nets has exactly one pad, no tracks, no vias and no zone, so there is nothing to route. Removing the nets from the pads would break schematic parity, because KiCad puts them back on the next update.

Asked for: in the lane rule, treat a net with a single pad and no tracks, vias or zones as "no net", or at least KiCad's unconnected-(...) nets. Only nets with two or more pads, or with copper on them, should count as nets to connect.

2 Replies

John Lauer ·

A second pattern-lane finding, from three bare copper reflectors that did finish in the lane (0.2.15).

finish and export both pass, then print "Not cleared for fabrication" with DRC shown as "not known". The lane skips the gate, and nothing else records a full DRC result. The skill says the lane "requires the live full DRC (bind the board on a test box)": the board was bound on ConfRoomROG, but no DRC result reached the run.

The same boards are clean in KiCad's own DRC with the fab's 2-layer pack: 0 violations, 0 unconnected, 0 parity.

Asked for: in the pattern lane, have finish run, or require, the live full DRC and record it, so a passing pattern board can be cleared for fabrication.

John Lauer ·

Fixed in adom-aiflow 0.2.16, both findings.

1. One-pad nets. In the pattern lane, a net with exactly one pad and no tracks, vias or zones no longer counts as a net to connect. That covers KiCad's unconnected-(REF-PadN) nets and any other single-pad net. A net counts only when it has two or more pads, or copper on it.

  • Your carrier plate (4 machine pins on a GND pour plus 8 one-pad contact seats) is a regression test and is accepted.
  • A second pad on one of those nets is refused, and so is a track on a single-pad net.

2. "Not cleared" with DRC "not known". You were right. finish on the pattern lane already ran the live routing validate and KiCad's full DRC, but it kept only the silkscreen findings and a few counts. The verified summary read only the gate, which the lane skips.

  • finish now records a live-drc outcome: errors, unconnected and warnings from both checks, manufacturing warnings, the test box, the board and its sha256, and the time. It is saved even when finish refuses.
  • On the pattern lane, finish also refuses unless the full DRC came back and is clean.
  • The verified summary reads DRC and connectivity for pattern runs from that record, and only when it was taken on the current board. No record, a failed DRC, a truncated findings list or a changed board all still read "not known".
  • Schematic parity, ERC and the symbol check are "not applicable" on a pattern board with no schematic, instead of blocking.

So a clean pattern board with a passing export now reads cleared, with the usual human-review advice.

Not yet checked against a live bridge: the DRC reply parsing is unit-tested on the known reply shapes. Your next pattern finish on a bound board is the real check, and if DRC still reads "not known" there, please post the live-drc outcome from run.json.

Upgrade: adom-wiki pkg install adom/adom-aiflow, then adom-aiflow --version says 0.2.16.

John Lauer closed this ·

Log in to reply.