← Commit history

1.0.85: 1.0.85: simulation sweeps and the parts a run left out, and footprints from a datasheet's land pattern laid out by the standard's engine.

Colby Knox ·ca808ce6c3 ·12d ago ·parent 7f17c07
- **kicad_footprint_from_land_pattern:** the standard's engine lays the footprint out, and KiCad's own writer turns it into the .kicad_mod and the 3D body box. - The layout is the same as before: KiCad's code and the engine's both came from the Altium bridge, line for line. One copy now, so the engine's fixes reach KiCad. - It covers pad numbering for chip, dual, SOT, quad and BGA packages, the exposed pad, the courtyard, silkscreen clear of the copper with a pin-1 dot, and a fab outline with a pin-1 chamfer. - Replies carry engine. A missing number is still named ("dual needs padLength (mm)"). - Checked: a 3x3 mm QFN-16 with exposed pad was built live and read back by KiCad with 17 pads and its 3D model. - **Engine:** adom-eda-checks 0.19.0 (EDA Bridge Standard 0.22.1). - A width rule with only a minimum (Fusion's EAGLE rules) now counts as the board's track width. - The engine's new panelize and teardrops plans are not used here: KiCad keeps its own kicad_teardrops (KiCad's own teardrop generator) and kicad_panelize. - **kicad_simulate and kicad_export_spice: notSimulated** (standard #23, as Altium 0.2.82 reports it). These are the sheet's parts that KiCad left out of the netlist because they have no simulation model. - A partly modelled sheet still runs, and the reply says which parts the result does not cover. KiCad writes a part with no model as a stub with no nodes (J1 __J1), which made ngspice refuse the whole circuit; the run now leaves those stubs out. - A sheet where no part has a model refuses with no_model instead of an ngspice error. - Parts the designer excluded from simulation are left out on purpose and are not listed. - Checked: an RC with a connector on its output runs and names J1; a sheet of two connectors refuses no_model. - **kicad_simulate: sweeps** (standard #23, as accepted from Altium). Arguments: `sweep {parameter, start, stop, step, scale?}` and `temperatures {start, stop, step}`. - ngspice has no .step, so the circuit runs once per value: a part's value ("R4") is set with alter, a model parameter ("Q1.BF") with altermod on the part's model, and the temperature with .temp. - Each run's signals carry step ("R1 = 2k", "T = 85"); the reply says how many runs there were (at most 50). - A part that isn't in the netlist, or a model the netlist doesn't define, is refused with bad_args, never one run passed off as the sweep. - Checked live: - R1 at 1k and 2k puts the RC filter's corner at 1588 Hz and 794 Hz. - A diode's forward voltage is 753, 696 and 639 mV at -10, 25 and 60 °C. - Its emission coefficient N at 1 and 2 gives 0.69 V and 1.38 V.
1 file changed +1−1
README.md+1−1
@@ -580,7 +580,7 @@ Every verb of this build (298, `kicad_describe` is the live catalog with inputs, | `kicad_silk_designators` | Place every reference designator the way assembly houses want: one size, upright, beside its own part, clear of every pad (JLCPCB: 0.15 mm), every other part's body and the other designators, inside the board, then read back from KiCad. Parts with no clear spot are reported, not forced onto pads. | | `kicad_silk_state` | The silkscreen as it stands: every part's body box, its designator and value as placed (text, position, size, rotation, shown), and the free texts and graphics on both silkscreen layers. | | `kicad_silkscreen_prep` | Get the silkscreen off the copper for fab: the Gerbers set to subtract the solder mask from the silkscreen (KiCad's own clipping), silkscreen lying outside the board deleted, designators that sit on pads moved beside their parts, and KiCad's silkscreen DRC findings counted before and after. |-| `kicad_simulate` | Simulate a schematic with SPICE, headless: KiCad's netlist of the sheet run by the ngspice library KiCad installs, with the analysis you give (transient, AC, DC sweep, operating point) or the one the schematic carries; each probe comes back downsampled with its first, last, min and max values (AC as dB and phase), and as a CSV file. |+| `kicad_simulate` | Simulate a schematic with SPICE, headless: KiCad's netlist of the sheet run by the ngspice library KiCad installs, with the analysis you give (transient, AC, DC sweep, operating point) or the one the schematic carries, optionally stepped over a part's value, a model parameter or the temperature; each probe comes back downsampled with its first, last, min and max values (AC as dB and phase), and as a CSV file. | | `kicad_state` | KiCad's full state of the union: every owned window as inline base64 PNG + logical state. | | `kicad_status` | Bridge health, KiCad version, install location and uptime. | | `kicad_symbol_prims` | A library symbol's drawing: primitives counted by kind, the body rectangle, the polylines' bounding box, units and body styles, the footprint link and filters. Read only. |