← Commit history

kicad-lane: simulate sweep, temperatures, signals[].step, not_supported pitfall (#23 ruling)

Colby Knox ·5cbbf65c25 ·12d ago ·parent 044c399
1 file changed +5−2
tools/proposed/kicad-lane.json+5−2
@@ -1995,10 +1995,12 @@    "schematic": "the design or sheet to simulate (the bridge's own path or id) (required)",    "analysis": "{type: op} | {type: dc, source, start, stop, step} | {type: ac, sweep: dec|oct|lin, points, start, stop} (Hz) | {type: tran, step, stop, start?} (s) | {type: raw, text: \".ac dec 20 10 1meg\"} (a bridge that cannot run raw SPICE refuses it with not_supported); default the analysis the design carries",    "probes": "[{net: \"OUT\"} | {current: \"V1\"}]; default every net (a bridge may cap the count)",+   "sweep": "{parameter, start, stop, step, scale?: \"lin\" | \"dec\" | \"oct\"}: optional; steps a part's value (\"R4\") or a model parameter (\"Q1.BF\"), one run per value; for lin, step is the increment, for dec and oct the points per decade or octave; a bridge may cap the number of runs",+   "temperatures": "{start, stop, step} (°C): optional; one run per temperature",    "points": "int, default 200: a ceiling on the points returned per signal; decimation keeps the first and last points and every extremum (the run itself is not coarsened)"   },   "output": {-   "signals": "[{signal: \"V(OUT)\", x: [..], y: [..], xUnit: s|Hz|V, yUnit: V|A|dB, phase?: [..] (AC, degrees, unwrapped)}]; an op gives one point per signal",+   "signals": "[{signal: \"V(OUT)\", x: [..], y: [..], xUnit: s|Hz|V, yUnit: V|A|dB, phase?: [..] (AC, degrees, unwrapped)}]; an op gives one point per signal; with sweep or temperatures each run is its own signal, with step saying which run it is (\"R4 = 300\", \"T = 85\"), so a reader groups runs by signal + step",    "missing": "[probe]: probes the run did not have",    "notSimulated": "[ref]: parts the run left out for want of a simulation model, when the sheet is only partly modelled, so a reader knows the result covers only part of the circuit (empty when every part was simulated)",    "available": "[signal name]",@@ -2008,7 +2010,8 @@   "pitfalls": [    "simulation_failed carries the simulator's own message: a part without a model, a node with no DC path to ground, or a bad analysis.",    "points thins the reply, not the run: a long transient with a tiny step still takes its time.",-   "A partly modelled sheet still runs and names the parts it left out in notSimulated; a sheet with no modelled parts refuses with no_model."+   "A partly modelled sheet still runs and names the parts it left out in notSimulated; a sheet with no modelled parts refuses with no_model.",+   "A bridge that cannot sweep refuses sweep or temperatures with not_supported; it never runs once and returns a single trace as if it were the sweep (ngspice has no .step: loop with alter per value)."   ],   "related": [    "export_spice",