John Beard
3d6d8b9946
Strip richio.h from headers that don't need them
...
Like the DSNLEXER header, this has visibility in over 700
files, whereas well under half actually use any of it
(quite a bit, but not all, of it actually via DSNLEXER)
Many places already forward-declare the OUTPUTFORMATTER type,
by doing that for the others, it still possible to use the
non-IO methods without having to see richio.h.
2024-10-04 18:06:18 +01:00
Jeff Young
c7859e7ed7
Clean up (and better comment) referential model handling.
2024-09-02 09:50:31 +01:00
Jeff Young
ee77d06be7
Turn off LTspiceXVII/lib/cmp hack.
...
Now that performance has improved and we process models
one-by-one there's no need to create fallback models for
the (copiously buggy) standard LTspice libs.
2024-09-01 22:14:15 +01:00
Jeff Young
33efd9e0ef
Revert single parsing because we use different parsers
...
for different model types.
Alos fix AKO & SUBCKT model handling, which can't be done
in parallel because they refer to other models.
2024-09-01 10:56:05 +01:00
Jeff Young
1959bacf08
Performance.
...
Don't parse PEGTL twice, once for modelType and once for
model itself.
Also don't do O(n^2) searches on parameter names when
reading libraries.
And, because it's still too slow, multi-thread it.
2024-08-31 18:51:28 +01:00
Jeff Young
7f6ab7043b
Clean up more exception processing in simulation GUI.
...
This allows us to more correctly report errors without
dialog issues, logs popping up, etc.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18259
2024-07-03 13:32:44 +01:00
Jeff Young
7a2a2e2df0
Remove error-prone SetReporter() API.
2023-09-06 11:37:50 +01:00
jean-pierre charras
a9fff82664
spice_library_parser: catch an exception thrown when a spice model cannot be built.
...
Fixes #15012
https://gitlab.com/kicad/code/kicad/-/issues/15012
2023-06-20 10:26:42 +02:00
Jeff Young
69500bfcaa
LTSpice schematic import based on the work of Chetan Shinde.
2023-04-24 13:52:52 +01:00
Jeff Young
c381b6d024
More robust file reading for simulator files.
2023-04-24 13:52:52 +01:00
Jeff Young
9b9795a87d
Reduce reliance on exception processing -- it's waay too bugy at present.
...
This moves some stuff to REPORTER APIs. Moving more stuff would be good,
but it probably too high-risk at present. We'll wait for 8.0 for that....
Fixes https://gitlab.com/kicad/code/kicad/issues/13359
2023-01-03 17:20:23 +00:00
Seth Hillbrand
10a3d57193
Add sim_lib callback to resolve embeded libs
...
Also teach parser to look for include directives in libraries
We get KiCad variable resolution in include pathnames for free.
Fixes https://gitlab.com/kicad/code/kicad/issues/13083
2022-12-14 13:31:41 -08:00
Jeff Young
f29f0c5c0a
Don't push a model that didn't load.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12689
2022-12-04 21:06:35 +00:00
jean-pierre charras
8ab8a48657
fix order of includes to avoid conflicts with a Windows header.
2022-12-03 10:59:46 +01:00
Mikolaj Wielgus
bbcb0c04fc
Sim: Don't crash when parsing unknown model in a Spice file
2022-11-27 08:59:54 +01:00
Mikolaj Wielgus
c3d5b3b3e5
Sim: Only store device type in reference, not full model type
...
Instead of Reference="VSIN1", Value="dc=1 ampl=2 f=3", it's now
Reference="V1", Value="SIN dc=1 ampl=2 f=3".
2022-10-15 19:36:26 +02:00
Mikolaj Wielgus
120b569048
Sim: Support ako models
2022-10-04 17:48:10 +02:00
jean-pierre charras
b6663a1c41
minor fixes.
2022-09-21 15:49:50 +02:00
jean-pierre charras
78087597cd
Avoid including plotters/plotter.h in many files.
...
It avoid a large rebuild when modifying the plot code.
2022-09-21 08:52:34 +02:00
Mikolaj Wielgus
2bf6791352
Sim: Move SIM_LIBRARY_SPICE parsing facilities to a new class
...
This leaves SIM_LIBRARY_SPICE very small, but it will grow larger later.
2022-09-20 08:17:51 +02:00