Open general

Explorer flowchart unreadable on multi-channel boards: 45 per-function blocks, no block-granularity hint, no replicated-channel handling

noah ·

What happened

On a 4-channel board (ESC-AM32-4IN1-AIFLOW, four identical AM32 motor channels plus shared input, current sense and the FC stack landing), the explorer's "How the board works" flowchart is unreadable:

  • 45 nodes: one per function per motor (m1-gvdd ... m4-indicator, m1-bridgeA ... m4-bemf).
  • Layout: a 14-node supply row and columns stacked 17 deep.
  • Edges: dozens of crossing arrows with labels too small to read, and most of the canvas empty.

There are two causes, and neither has a hint or check today:

  1. Block granularity. The blocks come straight from netlist.json's block field. aiflow-schematic-to-board says nothing about how coarse blocks should be, or how to treat a replicated channel. The AI used per-function blocks for each of the four channels, which is fine for the schematic sheets but far too fine for a flowchart.
  2. Layout. flowchart() (tools/page-build.py) lays out every block on its own. It never notices that blocks m1-x .. m4-x are the same circuit four times, and it gives no warning when the node count goes past what a flowchart can show.

Versions

adom-aiflow 0.2.56 (page-build.py stock), run ~/project/esc-am32-4in1/aiflow/run.

Proposed fix

  1. Skill guidance (aiflow-schematic-to-board, aiflow-project-page): about 6 to 14 blocks, at the level an engineer draws a block diagram. On a multi-channel board, use one block per channel (motor 1 ... motor 4), with that channel's drawings as tabs (bridges, driver, MCU, supplies, sensing).
  2. A warning in project-page when the flowchart has more than about 15 nodes: "N blocks: merge them (one block per channel, functions as drawing tabs) or set blocks.json flow".
  3. Optional: replicated drawings. Let one drawing serve every channel through a ref/net map, so a 4-channel board is drawn once. Something like {"repeat": [{"refs": {"1": "2"}, "nets": {"M1_": "M2_"}}, ...]}, with each copy netlist-checked on its own. Today every channel must be drawn separately, by hand or by script.

1 Reply

Colby Knox ·

Same as #197: page-build.py and the explorer's flowchart() aren't in the published AI Flow, so I've asked there whether you can send your explorer as a pull request. The fixes here (about 6 to 14 blocks, one block per channel with its drawings as tabs, a warning past about 15 nodes) will go in with it.

Log in to reply.