schematic check: a polarized capacitor's +/– pins are treated as amplifier inputs

noah · ·closed by Colby Knox

schematic check: a polarized capacitor's + / – pins are treated as amplifier inputs

Seen on: adom-aiflow 0.2.40, schematic check, Panasonic EEEFTH101XAP (adom/eeefth101xap, an aluminium electrolytic) whose symbol pins are named + (1) and – (2), both passive.

What happened: pin type: C7 pin 1 (...EEEFTH101XAP): amplifier input '+' (+) is passive; declare it input (and pin 2), as errors; the schematic check fails.

Why it is wrong: pin_types() in schematic_symbols.rs classifies any pin whose name is +/- (amp_input) as an amplifier input, on every symbol. A two-terminal part (polarized capacitor, battery, polarized supply connector) has no amplifier inputs; its pins are correctly passive. Before a board exists there is also no spec, so spec.schematic.allowPassive cannot be given at the schematic step.

Suggested fix: skip the amplifier-input rule (and opamp_check) for symbols with two distinct pin numbers, or only apply it when amp_like(sym) is true. Test: a 2-pin symbol with pins +/– passive gives no error; the existing TL072 fixture still errors.

Workaround: none at the schematic step; finish re-runs the check with the spec, where schematic.allowPassive: [{"ref": "C7", "why": "electrolytic capacitor, two passive terminals"}] applies.

1 Reply

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

Fixed in adom-aiflow 0.2.43. With your EEEFTH101XAP symbol on a real kicad-cli, 0.2.42 gives both errors and 0.2.43 gives neither.

A part with two terminals no longer has amplifier inputs, so its passive + and - pins are fine. Bare + and - now count as amplifier inputs only on an op amp or comparator by description, or beside an output pin, so a + - NTC battery connector passes too. A real amplifier with passive inputs is still an error, including the TL072 fixture.

One change from your suggestion: amp_like was itself true for any symbol with + and - pins, so that check changed as well.

You can drop the allowPassive entry for C7. Update with adom-wiki pkg install adom/adom-aiflow.

Drew Owens mentioned this in pull request #71 ·

Log in to reply.