Mikolaj Wielgus
f33cd3e383
Sim: Remove vestiges of (de)serialization from SIM_MODEL
2022-11-11 05:17:26 +01:00
Mikolaj Wielgus
490069c5e6
Move (de)serialization of models into fields to new SIM_SERDE class
2022-11-11 03:08:32 +01:00
jean-pierre charras
ffd578ef70
Ibis parser: fix a collision name with a windows header (msys2 specific)
...
This is recurrent conflict. (fixed by changing INPUT to INPUT_SDT).
2022-11-08 17:35:57 +01:00
Jeff Young
ece752d5a2
Move annotation error reporting to preflight before simulation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9220
2022-11-08 12:13:15 +00:00
Jeff Young
5af506777c
Formatting and wxT
2022-11-08 12:13:15 +00:00
Mikolaj Wielgus
e8762da4f4
Revert "Support for variable references in SPICE models."
...
This reverts commit 95ebfeeed1
.
This reverts commit 672ce650a9
.
2022-11-07 19:37:40 +01:00
Jeff Young
95ebfeeed1
Support for variable references in SPICE models.
...
Also fixes a couple of bugs where sheet instance data wasn't being
handled correctly.
2022-11-07 10:57:34 +00:00
Alex
c279a2e696
Hotfix build when KICAD_SPICE=OFF
2022-11-02 11:03:09 +05:00
Jeff Young
9eef638f0b
Don't validate on keystrokes.
...
KiCad policy is to validate on focus-loss so that you can make changes
which have intermediate states that are not valid.
2022-10-31 14:09:30 +00:00
Mikolaj Wielgus
5eca8dd8de
Undo hardcoding swapping of diode pins
...
Revert commits d1e2acd3
70b4d1aa
cff508fb
2022-10-30 11:01:59 +01:00
jean-pierre charras
50d2237f06
command_export_pcb_dxf.cpp: switch to "C" locale before exporting the file
...
Fix also a minor Coverity warning
2022-10-29 09:45:45 +02:00
Mikolaj Wielgus
d1e2acd3d8
Sim: Reverse Cathode and Anode strings in diode model data
2022-10-28 15:16:34 +02:00
Mikolaj Wielgus
70b4d1aac8
Commit sim_model_diode.{cpp,h}
2022-10-28 14:29:32 +02:00
Mikolaj Wielgus
cff508fb3b
Sim: Reverse diode model pin order to match diode symbols
2022-10-28 14:01:09 +02:00
Mikolaj Wielgus
20ffb7d334
Sim: Don't throw exception for certain garbage characters in Value field
2022-10-27 06:42:43 +02:00
Jeff Young
a9a2cc3e84
Enhance readability of Simulation Model dialog.
2022-10-27 00:01:38 +01:00
Wayne Stambaugh
6a0db3e7e2
Fix Coverity warnings.
2022-10-26 14:39:44 -04:00
Mikolaj Wielgus
aa0e3666d1
Sim: Skip param name when writing primary param in model's Value field
2022-10-26 09:03:02 +02:00
Mikolaj Wielgus
01c69f1066
Sim: Swap pins instead of inverting position variable in potentiometers
2022-10-26 03:57:53 +02:00
Jeff Young
445657022b
Don't attempt to read simulation model if symbol isn't included.
...
Also collect up all errors for one dialog when preparing simulation.
Also translate error messages.
Fixes https://gitlab.com/kicad/code/kicad/issues/12686
2022-10-26 00:41:31 +01:00
Jeff Young
5f3d440ce3
Fix compile error.
2022-10-25 13:29:38 +01:00
Fabien Corona
20b63f305e
Sim: Ibis improvements and fixes
...
Follow-up after the KIBIS and KIBIS GUI merge requests.
- Move KIBIS from Pcbnew to Eeschema space,
- Make KIBIS obtain the Ku/Kd coefficients via the `SPICE_SIMULATOR` class instead of calling the `ngspice` executable via `system()`,
- Allow to toggle between differential and single-ended model in the GUI,
- Various GUI fixes and improvements.
2022-10-25 09:45:40 +00:00
Mikolaj Wielgus
3e0f4a47b0
Sim: Remove pins field in all inferred models with linear pin mapping
2022-10-25 08:52:12 +02:00
Mikolaj Wielgus
80c426f577
Sim: Fix writing inferred model for tlines
2022-10-25 08:52:12 +02:00
Mikolaj Wielgus
d10fd7bb09
Sim: Remove tuner (log) scale choice button
...
We probably won't be using it for now.
2022-10-25 04:38:09 +02:00
Mikolaj Wielgus
0399d08aaa
Sim: Fix potentiometers
2022-10-24 11:04:47 +02:00
Mikolaj Wielgus
9b6cc6c505
Sim: Fix tuners
2022-10-24 11:04:47 +02:00
Mikolaj Wielgus
78b193af5f
Sim: Add tuner param virtual getter
2022-10-24 11:04:47 +02:00
Mikolaj Wielgus
d14de1ce78
Sim: Rename Value field's "principal value" to "primary value"
2022-10-24 11:04:47 +02:00
jean-pierre charras
63002cec57
Do not add a title/comment in mandatory field strings when writting netlists.
...
This is mainly for "Sheetfile" property because current it is the only one
that has a title when plotting/drawing it.
2022-10-22 12:50:26 +02:00
Mikolaj Wielgus
958bd1897d
Sim: Add potentiometer model
2022-10-22 04:33:52 +02:00
Mikolaj Wielgus
2a5bc9f87e
Sim: Don't accept lone '.' as Value principal value
2022-10-22 04:33:52 +02:00
Mikolaj Wielgus
209ff933e7
Sim: Ignore everything between principal value and parameter-value pairs
2022-10-21 18:55:40 +02:00
Mikolaj Wielgus
f95e77499b
Sim: Make exception messages slightly more verbose
2022-10-21 08:15:29 +02:00
Mikolaj Wielgus
9819fa43dd
Sim: Allow principal value in Value field to be followed by regular params
2022-10-21 08:14:13 +02:00
Mikolaj Wielgus
d01dcc1c51
Sim: Interpret anything starting with .inc as .include
2022-10-20 05:13:32 +02:00
Mikolaj Wielgus
662f6c7d83
Sim: Don't match newlines in model names
...
This caused errors in AKO models with no overrides.
2022-10-20 04:00:33 +02:00
Mikolaj Wielgus
7ad927671d
Sim Ltspice compat: Narrow ignoring undocumented parameters
2022-10-20 04:00:33 +02:00
Mikolaj Wielgus
5878749ed2
Sim LTspice compat: Ignore undocumented LTspice diode parameters
2022-10-20 04:00:33 +02:00
Mikolaj Wielgus
7378aaae9d
Sim: Ignore the "mfg" parameter in all models
2022-10-19 06:53:39 +02:00
Mikolaj Wielgus
952f3da53f
Sim: Only set sim command if the sheet sim command is different
2022-10-19 03:02:32 +02:00
Mikolaj Wielgus
f68df09696
Sim: Fix analysis set from GUI
2022-10-19 02:32:50 +02:00
Mikolaj Wielgus
1965411bf5
Sim: Remove the parsing exception for LTspice compat
...
Silently ignoring this may be a cure worse than disease.
2022-10-18 23:19:48 +02:00
Mikolaj Wielgus
6e874f4c1e
Ngspice: Preload a basically empty circuit to avoid error messages
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12481
2022-10-18 05:48:01 +02:00
Mikolaj Wielgus
2475a703d6
Sim Model Editor: Checkbox for toggling inference
2022-10-16 05:10:57 +02:00
Mikolaj Wielgus
c8e13813d9
Sim: Rename Sim_Disabled field to Sim_Enable
2022-10-16 00:49:44 +02: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
c857e533a9
Sim: Fix crash when a field tries to set an inexistent parameter
...
Refactored SetParamValue() and friends to use exceptions instead of
return values.
2022-10-12 04:27:48 +02:00
Mikolaj Wielgus
6ae333a116
Sim Model Editor: Fix crash when opening sources
2022-10-12 04:27:48 +02:00
Mikolaj Wielgus
d47752ad75
Sim Model Editor: Fix displaying Ibis pin list
2022-10-11 02:22:59 +02:00
Mikolaj Wielgus
d9eb76eae0
Sim: Refactor SPICE_GENERATOR methods to accept a single SPICE_ITEM
2022-10-11 02:22:59 +02:00
Mikolaj Wielgus
6d958c5a3b
Sim: Remove some superfluous class members
2022-10-10 13:49:43 +02:00
Mikolaj Wielgus
4931b80066
Sim: Resolve name collisions for generated model names
2022-10-10 13:38:35 +02:00
Mikolaj Wielgus
72402cf687
Sim: Override base model type if there's a Sim_Type field
2022-10-09 20:46:05 +02:00
Mikolaj Wielgus
994274fe9f
Move IBIS model Spice code generation to SIM_MODEL_KIBIS
...
IBIS drivers are temporarily broken. Will fix is subsequent commits.
2022-10-08 03:01:52 +02:00
jean-pierre charras
01a1d148e6
Make a sentence understandable and translatable.
...
Fix a minor compil warning
2022-10-07 10:11:02 +02:00
Mikolaj Wielgus
6f2b2d7e19
Sim: Minor SIM_LIBRARY cleanup
2022-10-06 14:08:01 +02:00
Mikolaj Wielgus
b95f4ec6bb
Sim: Use the new library manager class in Spice netlist exporter
...
Temporarily comment out IBIS processing.
2022-10-06 09:49:29 +02:00
Alex
c019ae3b89
Add missing include
2022-10-05 20:21:38 +03:00
Mikolaj Wielgus
6df774a62f
Commit missing sin_lib_mgr.{cpp,h}
2022-10-05 18:08:25 +02:00
Mikolaj Wielgus
e99d531c88
Sim: LTspice model compat: Ignore spurious values
...
Also fix parsing type in ako models
2022-10-04 22:44:26 +02:00
Mikolaj Wielgus
120b569048
Sim: Support ako models
2022-10-04 17:48:10 +02:00
Mikolaj Wielgus
c464c5b87b
Sim: cleanup: use unique_ptr for PARAM::value
2022-10-03 22:15:14 +02:00
Mikolaj Wielgus
0d369f700f
Sim: Basic cleanup after KIBIS merge
...
- Some preliminary refactoring,
- Use multiple types for IBIS drivers instead of a wftype variable,
- Remove the m_requiresUIUpdate variable and its accessors.
2022-09-30 16:17:00 +02:00
jean-pierre charras
46b0c116cd
fix a compil warning.
2022-09-29 13:06:50 +02:00
Fabien Corona
7e486327d9
Ibis differential and PRBS models
2022-09-29 08:35:01 +00:00
jean-pierre charras
dcc325b3b2
More about fix compil issues and warnings, especially in ibis code.
...
A few are msys2 specific and due to include files order.
2022-09-28 11:26:07 +02:00
Mikolaj Wielgus
b3b2b8b3f0
Sim: Don't hold KIBIS in MODEL_TYPE enum
...
Fixes pipeline error.
2022-09-28 11:14:50 +02:00
Mikolaj Wielgus
b7c8570b2a
Sim: Fix infinite recursion
2022-09-28 11:14:50 +02:00
Fabien Corona
528fe4d371
Add Ibis to spice model editor
...
ADDED: IBIS models are now supported in Sim Model Editor
2022-09-27 20:47:00 +00:00
jean-pierre charras
7584ccc758
Fix duplicate variable member m_userUnits, creating issues depending on
...
the way it was acceded (by name or by accessor).
2022-09-26 19:47:28 +02:00
Ian McInerney
1683e552f7
Add/fix some variable initializations
2022-09-25 00:48:38 +01:00
Ian McInerney
fdb97a46c1
Don't copy items in for loops when not needed
2022-09-24 03:46:06 +01:00
Mikolaj Wielgus
e27969217c
Add missing virtual destructor in SPICE_GENERATOR
2022-09-22 11:17:07 +02:00
Mikolaj Wielgus
e4865ce543
Excise wxString from simulation
2022-09-22 07:41:52 +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
Mikolaj Wielgus
8599323dce
Sim: Move Spice model parsing to a separate class hierarchy
...
Roughly analogous to the SPICE_GENERATOR hierarchy.
2022-09-19 07:24:46 +02:00
Mikolaj Wielgus
0efc1149af
Sim: Create a common base class for models sourced from Spice libs
2022-09-18 21:25:28 +02:00
Marek Roszko
63295cfb9e
Remove unused vars
2022-09-18 08:49:07 -04:00
Mikolaj Wielgus
3b94624e90
Commit forgotten files
...
I must stop forgetting to commit new and renamed files.
2022-09-18 07:27:47 +02:00
Mikolaj Wielgus
a8d7a845b6
Sim: Rename SIM_MODEL_SPICE to SIM_MODEL_RAW_SPICE
2022-09-18 07:25:56 +02:00
Mikolaj Wielgus
4128a5533f
Sim LTspice compat: Ignore mfg, icrating, vceo, type params
2022-09-18 04:14:57 +02:00
Mikolaj Wielgus
dcb3f16fbc
Sim: Don't use long type in SIM_VALUE
2022-09-18 02:25:40 +02:00
Mikolaj Wielgus
15b5b48992
Sim: More descriptive parsing errors in all Spice parsers
...
In my previous commit, which changed Spice parsing errors to be more
descriptive, I forgot to apply this to all invocations of the Spice
parser. This commit corrects that.
2022-09-17 08:46:45 +02:00
Mikolaj Wielgus
5fa0a1a064
Sim: Output more descriptive parsing errors
2022-09-17 08:29:18 +02:00
Mikolaj Wielgus
d48ec3aa8c
Sim: Slightly simplify grammars
2022-09-17 02:18:23 +02:00
Mikolaj Wielgus
545212eb13
Sim Window: Support dark theme
2022-09-16 06:57:27 +02:00
Mikolaj Wielgus
4ae2225b6d
Sim: Replace all wxStrings with std::strings in SIM_VALUE
2022-09-16 06:11:14 +02:00
Mikolaj Wielgus
d19b2dbfe4
Sim Model Editor: Display error when failing to set parameter
2022-09-16 05:44:23 +02:00
Mikolaj Wielgus
ce3fe46751
Sim Window: Display latest netlist without having to run sim
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11787
2022-09-16 03:12:28 +02:00
Mikolaj Wielgus
907ad27e7f
Sim: Move SPICE_GENERATOR class to a new file
2022-09-15 05:26:23 +02:00
Mikolaj Wielgus
e4c5bc6c66
Sim: Refactor Spice code generation to a new SPICE_GENERATOR class
2022-09-14 09:36:49 +02:00
Mikolaj Wielgus
ba723d36c9
Sim: Don't generate .model line when there's no instance param overrides
2022-09-14 03:16:53 +02:00
Mikolaj Wielgus
0e0d1a34f5
Sim: Spice grammar fixes
...
- Fix parsing .model lines with model names containingnon-alphanumeric
characters like - and _,
- Fix parsing libraries in which EOF is not preceded by a newline.
Fixes https://gitlab.com/kicad/code/kicad/issues/12394
2022-09-12 04:05:17 +02:00
Mikolaj Wielgus
e56635a02b
Sim: Add mutual inductor model
2022-09-11 19:23:01 +02:00
Mikolaj Wielgus
91358dfcac
Sim Model Editor: Fix Enable/Disable of parameters
...
Only SIM_STRING_PROPERTY-based parameters were updated.
2022-09-11 15:24:16 +02:00
Mikolaj Wielgus
1b7ff376b0
Sim: Simplify generated .model cards
...
One parameter per line instead of wrapping after a certain line width.
Consistent with the formatting in the recently added generation of
.subckt cards from the schematic.
2022-09-10 02:45:48 +02:00
Mikolaj Wielgus
300a1c4144
Add a new schematic exporter to Spice .subckt model
...
An option to use the current sheet as root is added to both the original
and new (.subckt model) exporters.
2022-09-09 16:18:48 +02:00