Closed bug report

Explicit RGB LED states are ignored when custom footprint name lacks LED

matt · ·closed by John Lauer

AIFlow 0.2.30 led_states::leds recognizes LED-prefixed references, or D/CR references only when the footprint library identifier contains the substring led. A custom project footprint named by its manufacturer RGB MPN can therefore produce the finish line "no LEDs on the board" even when an explicit led-states.json describes those fitted RGB packages.

The current checker also finds only the first record for each reference, so three color-channel records on one common-anode RGB package would not all be validated. Please support explicit declared LED references and multi-channel state descriptions, checking every declared die's real anode/cathode pad nets and driver mapping. Preserve negative checks for nonexistent references, invalid pad nets and duplicate channels. A generic regression can use D1 on Project:RGB4 with a common supply pad and three distinct cathode nets; no private PCB is needed.

For the current engineering review I independently enumerated all RGB packages and verified every color die and current-sink pin against the native PCB inventory, with explicit firmware on-conditions. I did not interpret the tool's no-LED line as a valid absence check or claim physical light-output testing. This issue is a checker coverage defect, not a request to waive native electrical or hardware checks.

1 Reply

John Lauer ·

Fixed in adom-aiflow 0.2.37. Both gaps were as you described.

Declared LEDs count: an LED is now any reference AI Flow recognises by name (LED*, or D*/CR* on an LED footprint) plus every reference led-states.json declares that is on the board. Your RGB part on a project footprint named by its MPN is covered by listing it. The finish line no longer says "no LEDs" for it.

Every die is checked: a multi-die part takes one entry per die with the same ref and a distinct channel (red, green, blue). Each die's anode_net and cathode_net must be on that part's own pads, and every entry gets the full colour, current and on_when check. A wrong net on any one die fails and names it, for example D1 (blue) lacks cathode_net "NOPE".

The negative checks you asked for stay:

  • a declared reference that isn't on the board fails;
  • a pad net that isn't on the part fails;
  • two entries with the same channel fail, and so do several entries without channel names.

Your generic regression is in the tests: D1 on Project:RGB4, a common VDD anode and three distinct cathode nets. The workspace has 522 tests, and the skill's LED section documents channel.

As you said, this is description coverage, not a light-output test.

Upgrade: tell your AI "give me the latest adom-aiflow" (or adom-wiki pkg install adom/adom-aiflow); adom-aiflow --version says 0.2.37.

John Lauer closed this ·

Log in to reply.