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
Marek Roszko
9f522e1343
Forgot to actually change the fmt specifiers...
2022-09-08 07:17:58 -04:00
Marek Roszko
5b96736059
LOCALE_IO is expensive to hammer, use fmt
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12377
2022-09-08 07:04:45 -04:00
Mikolaj Wielgus
72651dffe8
Sim Model Editor: Fix crash on selecting behavioral models
...
Accidentally there was an infinite recursion.
2022-09-03 20:06:14 +02:00
Mikolaj Wielgus
70ab5db0e9
Sim Model Editor: Fix crash on selecting tline models
...
Dereferencing std::optional<T> objects was undefined behavior.
Change some forgotten SIM_VALUE_INST<T> usages to their corresponding
typedefs.
2022-09-03 19:52:24 +02:00
Mikolaj Wielgus
f6b1ff821b
Sim Model Editor: Improve raw model code preview
...
- Show whole file below the item line for reference
- Fix pin sequence in item line (was not displayed)
2022-09-03 16:20:41 +02:00
Mikolaj Wielgus
cfdf6c097d
Sim: Fix crash due to accessing param 0 of TYPE::NONE model
2022-09-02 20:21:09 +02:00
Mikolaj Wielgus
94bbb2e267
Sim: Skip NC pins of raw Spice models when generating netlist
...
Unconnected pins were erroreously placed in raw Spice item
instantiations, resulting in passing more pins than model had.
2022-09-01 11:41:43 +02:00
Mikolaj Wielgus
748324f4cd
Sim: Use O-devices to simulate all tlines (much faster than T-devices)
2022-08-31 15:50:11 +02:00
jean-pierre charras
f679400e91
simulator: fix a issue when the simulation ends, but ngspice is still running.
...
For instance if a lot of simulation results must be written to a file (using wrdata).
In this case the tools in simulator frame toolbar were never enabled.
2022-08-31 12:07:05 +02:00
Mikolaj Wielgus
39ac58ea33
Use the PEGTL grammar for detecting .control and .subckt text directives
2022-08-30 17:27:58 +02:00
Marek Roszko
ae637296cd
Fix MSVC compile
2022-08-30 07:24:58 -04:00
Mikolaj Wielgus
2bcfe5e42c
Fix Spice subcircuit parsing
...
When parsing a subcircuit, the parser was incorrectly identifying
parameters of models inside it as belonging to the subcircuit.
2022-08-30 12:09:10 +02:00
Mikolaj Wielgus
bd6c153ad9
Sim: Implement "enum" model parameters for switches
...
Displayed in Sim Model Dialog parameter grid as a dropdown
(wxEnumProperty).
2022-08-30 09:45:49 +02:00
Mikolaj Wielgus
716b60c20d
Commit forgotten sim_model_switch.{cpp,h} files
2022-08-29 04:28:56 +02:00
Mikolaj Wielgus
3b3131ad74
Create class for voltage and current -controlled switches
...
Unfortunately, along the way it turned out that Ngspice's .probe alli
breaks current-controlled switches. So they won't work in that case for
now.
2022-08-29 03:49:41 +02:00
Mikolaj Wielgus
963900ab83
Sort sim model pins by symbol pin number in sim model dialog
2022-08-26 04:36:48 +02:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Mikolaj Wielgus
a0400791c0
Fix exporting Spice instance lines for multi-part symbols
...
Only pins from the current symbol part were used: the rest was
incorrectly set to Not Connected.
Also slightly change generation of names for Not Connected nets.
2022-08-25 08:47:31 +02:00
Mikolaj Wielgus
8a6a0ff7dc
Allow inferred voltage/current sources to have a single float in Value
...
Update Opamp test to use this feature.
2022-08-24 06:19:38 +02:00
Mikolaj Wielgus
ffab57ffd0
Fix default pin assignment for subcircuit sim models
...
Instead of using a linear order that incorrectly starts from 0, have all
pins unassigned by default.
2022-08-24 00:09:05 +02:00
Mikolaj Wielgus
6fad25f8ed
Allow mapping sim model pins to arbitrary string symbol pin numbers
...
This change removes the incorrect assumption that symbol pin numbers are
integers and are the same as indexes in the vector storing the symbol
pins.
"~" is now used to denote a floating sim model pin.
2022-08-22 08:13:26 +02:00
jean-pierre charras
34b38eb95b
Sim: on parameters parsing error, give a better info than tao::pegtl::eof error.
2022-08-17 11:11:36 +02:00
Roberto Fernandez Bautista
3e11506fa2
Fix a few unused variable warnings on msvc
2022-08-15 20:47:21 +01:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Wayne Stambaugh
898ec0d094
Fix wxWidgets 3.1 and later deprecated build warnings.
...
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize(). This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
2022-08-15 08:00:40 -04:00
jean-pierre charras
488a53e71b
Fix a few minor Coverity warnings
2022-08-12 10:51:36 +02:00
Mikolaj Wielgus
6d59fef9a5
Sim: Fix reading the legacy Spice_Node_Sequence field (2nd attempt)
...
bd809bf31c
was botched and broke QA tests,
this will fix the problem.
2022-08-11 15:50:16 +02:00
Mikolaj Wielgus
bd809bf31c
Sim: Fix reading the legacy Spice_Node_Sequence field
2022-08-11 02:42:16 +02:00
Mikolaj Wielgus
a1a99b1ec2
Sim QA: Check NGSPICE's LoadNetlist() and Run() status code
2022-08-10 17:54:28 +02:00
Mikolaj Wielgus
0040ffc567
Convert strings to UTF8 before they are input to PEGTL
...
Otherwise there are QA failures under non-UTF-8 locales.
2022-08-10 14:20:52 +02:00
Mikolaj Wielgus
67476c330e
Fix broken PEGTL include path
2022-08-08 17:50:42 +02:00
Mikolaj Wielgus
5096f5d8a9
Sim: Fix inference of RLC models with garbage suffixes
...
Garbage suffix is e.g. the "F" in "100uF".
2022-08-08 17:06:50 +02:00
Mikolaj Wielgus
24e7a8ac41
Commit missing eeschema/sim/sim_model_ngspice_data.cpp
2022-08-05 18:51:52 +02:00
Mikolaj Wielgus
c9f3507ff7
Sim: Don't require ngspice.h for SIM_MODEL_NGSPICE
2022-08-05 18:26:09 +02:00
jean-pierre charras
d667d9b464
Do not include and use sharedspice.h when KICAD_SPICE = OFF
2022-08-04 17:01:29 +02:00
Mikolaj Wielgus
a14d3e74a8
Remove generate_ngspice_models.bash script
2022-08-02 14:50:02 +02:00
Mikolaj Wielgus
5d64fc12a1
Attempt to fix GCC MSYS2 build crash
...
Initialize ngspice_models.cpp structures at runtime on demand. Use
a sequence of std::vector::emplace_back() instead of
brace-initialization.
2022-08-02 14:47:28 +02:00
Seth Hillbrand
e8627c89df
Fix initial compile error on Linux.
...
Still getting link error with DIALOG_SIM_MODEL
2022-07-31 16:43:52 -07:00
jean-pierre charras
fc849e3e0c
sim_model.h: change order of includes to avoid conflicts with a windows header.
...
msys2 specific. No actual change in code.
2022-07-31 10:32:31 +02:00
Mikolaj Wielgus
7cf5138c63
Sim: Bugfixes, mostly for MS Windows compilation errors
...
Unfortunately, Windows headers define a lot of macros for common words,
so we had to rename some enums to not collide.
We also fix some of the many bugs related to the new simulation
architecture and the Spice Model Editor dialog.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
739b9255d9
Sim Model Editor improvements
...
- Tab-switching,
- Automatic expansion of categories on tab-switch,
- Various minor simulation improvements,
- Various new simulation-related bugfixes.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
6984f63af8
Sim: Transmission line models
...
Implement transmission line models and perform some adjustments to
the current models. Add some QA tests.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
fe38c622a9
Sim: Improvements to model serialization
...
Don't serialize parameters in certain models for default values. Infer
models from Value field for some kinds of models. Resolve synonyms when
loading models from Spice libraries.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
6450ec6b85
Sim: Spice netlist exporter rewrite
...
Rewrite the spice exporter to work with the new simulation model
architecture and data model, with many bugfixes related to the latter
two along the way.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
ce84a48037
Sim: Implement loading Spice library files
...
Implement parsing and loading Spice libraries into KiCad. This is done
without any involvement of Ngspice -- we create our own in-tree parser
using PEGTL -- because Ngspice doesn't offer any intermediate output we
could plug ourselves into. We don't parse everything -- just the library
content, so this won't be that much effort.
We implement some basic Spice code preview to give the user a hint what
Spice code eir model will correspond to.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
978f01553b
Sim Model Editor: Serialize models in fields
...
Implemented serialization and deserialization of models in symbol fields
through the SIM_VALUE class. We don't carry the Spice legacy of
case-insensitive suffixes, instead we conform to the SI standard (i.e. M
is Mega, not milli, P is peta, p is pico).
Parameter grid value validation is implemented by simply not allowing
any characters that will make the value invalid (instead of highlighting
the field in a red color). This will likely be changed at some point in
the future.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
c5a256291e
Sim Model Editor: Display model parameters
...
This commit adds parameter display functionality, via a wxPropertyGrid
widget, to the Sim Model Editor. To faciliate that, a SIM_VALUE class is
created to serialize, deserialize, and validate numeric values in the
new parameter grid.
SPICE_MODEL is renamed to SIM_MODEL and split into several subclasses
that correspond to different model kinds.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
229e5c9e0f
Begin development of a new Sim Model Editor dialog
...
With that also begin reworking the internal structure of the simulation
model storage. Some models have parameter information extracted from
Ngspice, which was specially patched to faciliate that. The model is
stored and managed by the SPICE_MODEL class (later will be renamed to
SIM_MODEL).
2022-07-30 02:25:34 +00:00
Seth Hillbrand
93fb00d815
Protect the Kiway dereference
...
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.
Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame. This allow
for the cleanup actions onClose() to happen prior to the next action
starting
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-14 11:37:45 -07:00
jean-pierre charras
9f38fa43cd
Fix some minor compil and Coverity warnings.
2022-06-05 11:44:49 +02:00
Eduardo Behr
f246646d7a
Fix severe simulation memory leaks
2022-05-28 20:40:24 +00:00
Jeff Young
cb15bd1635
Fix compile issue.
2022-05-26 10:54:54 +01:00
Seth Hillbrand
11ae5b75b7
Remove broken assert
...
Fixes compile issue for linux/gcc which expects a boolean in the assert
statement that it cannot find from std::map
2022-05-25 16:36:47 -07:00
Eduardo Behr
6aa50304d9
Eeschema: Fixing simulation plot CSV exporter
2022-05-25 15:00:03 +00:00
Sylwester Kocjan
a9c61d21ca
eeschema: fix crash when closing simulation frame
...
Destructor of SIM_PLOT_FRAME calls sim->Attach( nullptr ) in order to destroy
circuit model (former netlist exporter). If this is skipped, eeschema crashes
when program is closed. nullptr is a valid parameter for Attach()
2022-04-05 19:28:05 +00:00
Sylwester Kocjan
05fbe47a1b
eeschema: two fixes for simulation tuners
...
- fix irrelevant warning message box when tuners moved
too quickly and simulation was slow
- fix for rerun simulation when tuning and result tab was changed
2022-04-02 15:05:54 +00:00
Sylwester Kocjan
4719fdc9bf
eeschema: rename m_exporter to m_circuitModel
2022-04-01 19:28:31 +00:00
Sylwester Kocjan
f5dedd77c6
eeschema,sim: add SIMULATOR and SIM_MODEL interface
...
SIMULATOR has now an Attach() method, which should be called
with proper SIMULATION_MODEL that should be simulated, before calling Run()
Concrete class of SIMULATION_MODEL for ngspice is NGSPICE_CIRCUIT_MODEL,
renamed from NETLIST_EXPORTER_PSPICE_SIM. DIALOG_SIM_SETTINGS relies
on above mentioned object, so it was added as an argument of the constructor.
2022-04-01 19:28:31 +00:00
Sylwester Kocjan
53ccd8bd67
eeschema,sim: refactor NETLIST_EXPORTER_PSPICE_SIM creation
2022-03-26 15:50:15 +00:00
Sylwester Kocjan
2fed8aa4b8
eeschema: Add sync functions to SPICE_SIMULATOR
...
SPICE simulator can be called also during IBIS model determination,
and in the future in ERC. Therefore a necessity arises to implement
exclusive access.
2022-03-21 19:10:08 +00:00
Seth Hillbrand
098e8f7d9b
Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option"
...
This reverts commit ea9f960cc1
.
Reverted for updates as this currently breaks kicad-mac-builder
2022-01-31 15:57:56 -08:00
Davide Gerhard
ea9f960cc1
cmake: adding KICAD_MACOSX_APP_BUNDLE option
...
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.
2022-01-28 15:49:37 -08:00
Mark Roszko
44dc602d6b
Yeet wxPoint/wxSize out of PLOTTER
2021-12-29 19:02:50 +00:00
Frank Zeeman
8167c69508
Add transformation function for characteristic curves of tuners
2021-12-28 02:53:39 +01:00
Frank Zeeman
f004665df8
Add tuner support for potentiometer code model
2021-12-28 02:53:39 +01:00
Mikolaj Wielgus
2dbc6ef6ca
If present, tune Spice_Model instead of Value
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9880
2021-12-14 14:02:25 +01:00
Seth Hillbrand
9e760512ac
Update schematic when saving tuned value
...
Also avoids a known(!) crash when the existing item has been deleted
while tuning.
Fixes https://gitlab.com/kicad/code/kicad/issues/9502
2021-11-01 17:05:22 -07:00
Seth Hillbrand
9b4c293f14
Ensure that any excess spaces removed
...
The sim command may have additional whitespace between the type and
first char
2021-10-18 10:12:53 -07:00
Seth Hillbrand
82ba456567
Remove unnecessary RegEx
...
This broke for signals using underscores. More critically, RegEx is
fragile and should not be used with user input if at all possible
Fixes https://gitlab.com/kicad/code/kicad/issues/9421
2021-10-18 10:08:29 -07:00
Jeff Young
5f5ee7335d
Formatting.
2021-10-01 21:49:14 +01:00
Sylwester Kocjan
fe608bfcef
eeschema, sim: clean signal list when last panel is closed
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9119
2021-09-09 01:11:47 +00:00
Mikolaj Wielgus
1c9e10f34e
Disable simulator notebook splitting
...
Using this feature freezes the simulator.
2021-09-09 01:07:23 +00:00
Sylwester Kocjan
f9c5c97f74
eeschema, sim: fix wrong names of the signals
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9062
2021-09-08 23:15:29 +02:00
Mikolaj Wielgus
44ea3a75f2
Simulator: Use last workbook path stored in .kicad_pro as initial path in dialogs
...
Previously this was done using a static variable, which was not loaded
from .kicad_pro on simulator launch, causing unexpected behavior
Fixes https://gitlab.com/kicad/code/kicad/issues/8799
2021-08-20 23:23:23 +00:00
Sylwester Kocjan
691b53d125
eeschema: add missing virtual destructors
2021-08-20 19:23:13 +00:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
Mikolaj Wielgus
395602b12a
Use Bind() instead of Connect() for simulator events
...
Also fixed "Settings..." menu item not starting settings. I don't know
why it's called `m_boardAdapter`.
2021-07-13 11:52:09 +00:00
Mikolaj Wielgus
c6a4f25538
Use wx events to update simulator title, start tools and menu items grayed out
2021-07-13 11:52:09 +00:00
Mikolaj Wielgus
3bafe6d6c9
Gray out unavailable simulator menu items, use wxUpdateUIEvent
2021-07-13 11:52:09 +00:00
Mikolaj Wielgus
4f2856b345
Gray out unavailable tools in simulator toolbar
...
Cures some of the dialogitis plaguing the simulator.
2021-07-13 11:52:09 +00:00
Mikolaj Wielgus
4f384085e2
Remove m_simulator null-check -- most of code already assumes it exists
2021-07-13 11:52:09 +00:00
Wayne Stambaugh
dffe2661e6
Fix SPICE simulator plot bug.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1944
2021-07-09 16:20:35 -04:00
Wayne Stambaugh
65c7958293
Coverity issue fixes.
...
Issues #331869 , #331875 , #332203 , #332159 , #332171 , #332180 , and #332648 .
2021-07-08 08:33:08 -04:00
Mikolaj Wielgus
43cce8b0b5
Remove automatic simulation start on simulator launch
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8644
2021-07-06 10:08:19 +00:00
Mikolaj Wielgus
6dfd655a7f
Save simulator checkbox settings in project file
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8450
2021-07-06 10:06:51 +00:00
Mikolaj Wielgus
8b2b3ca797
Define .wbk in wildcards_and_files.{cpp,h}, cosmetic code changes
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus
df2d4966b1
Do not set dirty bit on simulator launch, remove dead code
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus
9f1ecdd715
Give Spice simulator "Save As" option Shift+Ctrl+S shortcut key
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus
87441e256c
Escape CR and LF in Spice simulation command when saved
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus
bd1f3d85f4
Spice sim: Have more detailed error messages
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus
86c7db46b9
If there is no project name, default workbook name shall be "noname.wbk"
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus
28531a982d
Simulator: Use SIM_WORKBOOK in place of wxAuiNotebook
...
SIM_WORKBOOK is now a subclass of wxAuiNotebook, removing the problem of
having to maintain two separate workbook states.
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus
cd0c8a5676
Make panel sim command only accessible from outside through workbook object
2021-07-04 14:04:03 +00:00
Jeff Young
c11ee69499
Save 3D prefs after editing, and load some of them into FP Props.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8712
2021-07-04 13:20:55 +01:00
Jeff Young
c07367821e
Fix compile error, and use more robust method of setting fonts.
2021-06-29 19:36:06 +01:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young
4aa8318dc2
More error message regularization.
2021-06-27 14:24:02 +01:00
Jeff Young
173c9a974c
Formatting.
2021-06-25 20:49:38 +01:00
Jeff Young
685ee31c35
Workaround a few more OSX printf problems.
...
Also regularizes the frame title processing.
Also fixes a type where the library name wasn't processed for
variable expansion.
Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
Wayne Stambaugh
fb46cd8bc5
Expunge the use of the word component from Eeschema code.
...
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Sylwester Kocjan
b0e6bbb39c
eeschema: remove m_simCommand from SIM_WORKBOOK
2021-06-07 20:00:48 +00:00
Sylwester Kocjan
917e329bdf
eeschema: remove TRACE_DESC from SIM_WORKBOOK
2021-06-07 20:00:48 +00:00
jean-pierre charras
6919d12c70
Eeschema, Spice simulator: use Ctrl+letter as accelerator keys.
...
Using only a letter can conflict with widgets accepting letters to enter data.
Fixes #8537
https://gitlab.com/kicad/code/kicad/issues/8537
2021-06-02 19:45:30 +02:00
Mikolaj Wielgus
33c0bb78fd
Use file absolute path when determining title bar indicators
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8449
2021-06-01 17:03:20 +00:00
Mikolaj Wielgus
33c6bdd121
Preserve plot panel order in simulator notebook
2021-05-15 12:26:50 +00:00
Mikolaj Wielgus
afc6d29fde
Fix relative path used where absolute path should be
2021-05-15 12:26:50 +00:00
Mikolaj Wielgus
b9fd18d150
Minor UI changes, display workbook in title and some fixes
2021-05-15 12:26:50 +00:00
Mikolaj Wielgus
5410510bd4
Spice sim: remember last simulation, remove welcome page
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8019
2021-05-15 12:26:50 +00:00
jean-pierre charras
d4e5861c62
Fix a few issue in simulation (noticeable only when the calculation time is high):
...
- Wait for end of simulation before return from "C" locale to current locale
(to avoid data files created by ngspice using curr locale instead of "C" locale)
- Do not allow changing signal list to plot during simulation calculation
(avoid crashes)
2021-05-05 20:28:46 +02:00
Seth Hillbrand
61289ab39a
Cleanup ngspice calling signatures
2021-05-05 10:49:40 -07:00
Seth Hillbrand
36975c9cd0
Conditionally handle the SPICE signatures
...
ngspice updated their function signatures, requiring us to test. They
also don't provide an indicator that the signature is changed, so we
need to test based on the existence of a new version define.
Fixes https://gitlab.com/kicad/code/kicad/issues/8358
2021-05-05 10:19:01 -07:00
Jeff Young
c30102cd4f
Don't crash when trying to save sim settings during shutdown.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8327
2021-05-01 21:49:40 +01:00
jean-pierre charras
0427bda768
Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
...
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Marek Roszko
8a8475630e
Check wxHAS_NATIVE_TABART before using the simple tab art
2021-04-22 22:24:55 -04:00
Seth Hillbrand
2c2ac39990
Replace default aui art provide in sim
...
The default art provider was a gradient tab. This does not match the
system elsewhere and is particularly bad for dark themes.
The simple art provide matches the background colors correctly.
Although the tab background is still white, this is quite a bit better
than before.
Fixes https://gitlab.com/kicad/code/kicad/issues/8280
2021-04-22 17:35:54 -07:00
Jeff Young
87ca59f52e
One (correct) error message is sufficient.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8225
2021-04-22 12:38:29 +01:00
Jon Evans
511f4cd03c
Simulator: don't try to access an invalid map entry
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8273
2021-04-21 22:09:40 -04:00
jean-pierre charras
e5dd54e05a
Eeschema, spice sim: fix a crash when no value is available.
...
onSimFinished() try to analyse the list of plots, but did not test
if there is available data before using it.
Fixes #8169
https://gitlab.com/kicad/code/kicad/issues/8169
2021-04-14 21:01:39 +02:00
jean-pierre charras
5bfda7f1f0
spice netlist generation: use utf8 format.
...
Using basic conversion from unicode to 8bits strings can break non ASCII7 strings
Fixes #8192
https://gitlab.com/kicad/code/kicad/issues/8192
2021-04-14 09:54:29 +02:00
Wayne Stambaugh
dbb0a125ac
Fix build error when spice simulator build option is disabled.
2021-03-19 09:04:28 -04:00
Wayne Stambaugh
acec6ad7fc
Spice simulator: add Ngspce model behavior mode settings.
...
ADDED: Ngspice simulator model behavior mode settings for PSpice, LTSpice,
PSpice and LTSpice, and HSpice.
Fixes https://gitlab.com/kicad/code/kicad/issues/5810
2021-03-18 15:31:02 -04:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
jean-pierre charras
14b1d36b38
Simulator: Fix a ugly bug that happens is some simulations
...
TRhe initial code was broken.
2021-03-08 20:01:36 +01:00
jean-pierre charras
638a9b693d
SIM_PLOT_FRAME_BASE: minor cosmetic enhancements and fix a incorrect wxmenu
...
name in the .fbp file that prevent to rebuild working .cpp and .h files.
2021-03-08 16:33:08 +01:00
jean-pierre charras
c1003e2ddd
Fix missing call to Layout() in SIM_PLOT_FRAME after adding widgets.
...
Fix a minor wxWidgets warning.
2021-03-08 13:49:45 +01:00
Sylwester Kocjan
959ae73a01
Eeschema,sim: extract plot colors to new class
2021-03-01 18:50:37 +00:00
Marek Roszko
b80fdad511
Don't generate a format specifier length of ":"
...
It's ambiguous, are we talking the length of a human colon or a pigs?
Fix #7556
2021-02-17 18:53:07 -05:00
Marek Roszko
b609c7dcd6
Kick the osx specific path helpers into PATHS
2021-02-16 23:29:26 -05:00
Sylwester Kocjan
114043fe93
eeschema: add interface to SCHEMATIC for better testability
...
- added abstract class SCHEMATIC_IFACE
- added missing 'virtual' keyword at destructor
2021-02-17 00:59:44 +00:00
Marek Roszko
f9c7eae63a
Avoid null access in NGSPICE::AllPlots
2021-02-16 18:37:57 -05:00
Jeff Young
4408897b87
Formatting.
2021-02-16 16:24:37 +00:00
Marek Roszko
1608282a57
Remove msys2 search paths for ngspice under msvc
2021-02-13 20:08:31 -05:00
Michael Kavanagh
97775aa50b
Icons: redo missed simulator icon in new style
2021-02-06 22:51:56 +00:00
jean-pierre charras
c155218582
Sim plot: fix a rounding issue that can create a missing point in a plot.
...
Due to a truncation when converting a value to integer, the first point was
sometimes missing because it looked like out of plot range.
Fix also a cosmetic issue in dialog.
Fixes #7345
https://gitlab.com/kicad/code/kicad/issues/7345
2021-01-31 10:36:26 +01:00
Mikolaj Wielgus
babda304d9
Prevent addition of false plot when current plot panel is not in m_plots
...
Without this commit, when `currentPlotWindow()` returned a valid
pointer, but one that is not used as a key in `m_plots`, it would get
inserted to the `m_plots` map. Because this pointer was not properly
initialized, a crash would later occur. I think this problem was
triggered by the pointer to welcome page, but I haven't checked.
Fixes https://gitlab.com/kicad/code/kicad/issues/7324
2021-01-30 02:04:57 +01:00
Wayne Stambaugh
6a39b81647
Fix the last of broken Doxygen comment specifiers.
2021-01-27 17:39:44 -05:00
Sylwester Kocjan
df62adf901
eeschema,sim: fix crash at simulation start
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/7277
2021-01-26 23:29:05 +00:00
Wayne Stambaugh
4619d5e112
Fix more broken Doxygen comment specifiers.
2021-01-26 12:17:52 -05:00
Sylwester Kocjan
6a48e21eb2
simulator: update dialog to handle R, I & TEMP DC sweeps
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2370
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6195
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2386
2021-01-25 21:29:13 +00:00
jean-pierre charras
60152bc00e
Spice sim: fix incorrect (very large) dialog size displaying the netlist.
...
It was previously fixed to 1500x900 pixels, that can be too large.
The window size and position is also now retained during a session.
Fixes #7043
https://gitlab.com/kicad/code/kicad/issues/7043
2021-01-11 10:06:33 +01:00
Michael Kavanagh
39abf8964f
Icons: fix simulator menubar
2021-01-04 01:44:01 +00:00
Michael Kavanagh
154e19b6e7
Icons: use common prefix for small 16x16
2021-01-02 23:16:33 +00:00
Marek Roszko
2a5cd08abb
Fix another crash when using the simulator probe
2020-12-29 07:39:49 -05:00
Marek Roszko
f2c5856124
Correct comment about the cast
2020-12-28 22:38:02 -05:00
Marek Roszko
230f3c2792
Fix crash when welcome panel was present in simulator and white background is toggled
...
Fix #6872
2020-12-28 22:33:20 -05:00
Marek Roszko
d67cf2f9af
Replace wxFile usage with wxFFile
...
Buffered libc wxFFile is better thinking about syscall wxFile going wrong.
2020-12-12 13:16:23 -05:00
Michael Kavanagh
cf6f0b9b92
Use trash icon where appropriate
2020-12-11 17:05:11 -08:00
Marek Roszko
e5f340d176
Use monospace (teletype) font in show simulator netlist
...
May need fixing again for gtk (see #6587 )
2020-12-02 19:27:10 -05:00
Seth Hillbrand
56fa5a23c3
SPICE export full precision data
...
Saving csv files loses precision when time/data steps are smaller than
10^-6. This switches to engineering notation when dealing with higher
precision.
Ref KiCad Services ticket 281
(cherry picked from commit 938859f10a
)
2020-11-30 13:27:38 -08:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
6654c03041
Embarking on the next adventure: component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
f0d0e17aab
Prepare for MODULE -> FOOTPRINT.
2020-11-13 15:16:24 +00:00
Ian McInerney
31e626f279
Cleanup creation of all our smart pointers
2020-10-26 23:52:44 +00:00
Marek Roszko
1d559108c8
Move LOCALE_IO out of common.h
2020-10-23 21:49:42 -04:00
jean-pierre charras
f6b4b66a86
Avoid include wx/wx.h in many files that do not actually use this include.
...
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Marek Roszko
a2c3bdec0d
Remove kicad_string.h from netlist_exporter.h
2020-10-15 18:48:53 -04:00
Mark Roszko
89e74140eb
Save file / window states for kicad project locally
2020-08-24 02:01:14 +00:00
jean-pierre charras
111ed6c4ac
Fix simulator: op results are not printed correctly when numbers are very small
...
Was due to an overflow in units calculation.
Fixes #5074
https://gitlab.com/kicad/code/kicad/issues/5074
2020-08-08 15:18:50 +02:00
Jeff Young
741481591e
NetClass settings for Eeschema.
...
ADDED Eeschema-specific netclass settings including wire and bus
thickness, color, and line style.
Netclasses override individual wire & bus colors and line styles.
If that proves an issue we might look at something more sophisticated
with inheritance.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-08 21:23:25 +01:00
Seth Hillbrand
67bd49b4a8
Fix order-of-ops issue in sim plot
2020-06-27 19:59:49 -07:00
Jon Evans
a52435bbb0
ADDED: New mouse settings panel, expanded mouse settings
...
You can now choose the behavior of dragging with the
middle and right mouse buttons.
You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.
You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.
You can also now zoom by dragging with the right or
middle button if desired.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
Jon Evans
de9520d65e
Finish porting netlisters to use CONNECTION_GRAPH
2020-05-23 12:45:24 -04:00
Jon Evans
d7bd4c9b04
Move Eeschema globals to new SCHEMATIC object
...
Set up a new lineage for SCH_ITEMS to get back to the SCHEMATIC
they live on: Items will all be parented to the SCH_SCREEN that
they are added to, and each SCH_SCREEN will point back to the
SCHEMATIC that it is part of. Note that this hierarchy is not
the same as the actual schematic hierarchy, which continues to
be managed through SCH_SHEETs and SCH_SHEET_PATHS.
2020-05-18 13:04:56 -04:00
Simon Richter
632494cba7
Add missing includes
...
A few more instances of missing <algorithm> for std::max
2020-05-10 00:24:11 +02:00
jean-pierre charras
83cb9c0d14
Fix a few Coverity and compil minor warnings. Remove dead code
2020-04-21 12:47:48 +02:00
Ian McInerney
3b67e3d0a4
Rewrite window positioning logic
...
Now only reposition a window if it is completely on a
disconnected display or if only one corner is on screen
and it is within a region close to the screen border.
CHANGED: Window position on startup should be preserved more
2020-04-18 00:47:38 +01:00
jean-pierre charras
25d7c0cae2
Opencascade: fix min version: OCE=0.18, OCC=6.9.0
...
Fix also a few minor Coverity warnings.
2020-04-16 10:22:20 +02:00
Sylwester Kocjan
fdccdd5cb9
Eeschema: adding .op SPICE simulation support
...
ADDED new tab on simulation settings dialog, which allows to run .op analysis.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2368
2020-04-15 01:51:58 +00:00
Jeff Young
5134856f18
Rationalise 3D settings data-structure.
...
Move the camera out to its own so that everything else is board-
related, and then rename BOARD_ADAPTER.
At some point the flags should probably be moved out too, and they
can have the EDA_3D_SETTINGS name.
2020-03-28 16:09:40 +00:00
Jeff Young
d69ebfae49
Push tool framework base down into TOOL_HOLDER.
...
This allows us to use it outside of EDA_BASE_FRAMEs (in this case, in
PANEL_PREVIEW_3D.)
2020-03-24 19:00:25 +00:00
Jeff Young
93b7eacfb2
Fixup some Coverity issues.
2020-03-21 16:32:22 +00:00
jean-pierre charras
0f0b9bdf87
SIM_PLOT_FRAME_BASE: gives a minimal size for right panels.
...
On KDE, a too small size can hang wxWidgets.
2020-03-17 08:27:34 +01:00
jean-pierre charras
b7cd0c54c2
Fix compil issues, especially on Windows:
...
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Jon Evans
e59a3d981e
Implement a new settings framework across all of KiCad
...
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme
Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
jean-pierre charras
0e51ed32f9
ADDED: Sim plot panel: option to plot on a white background or a black background.
2020-02-01 18:20:18 +01:00
Ian McInerney
0d017e262c
Update documentation and comment
2020-01-22 08:47:14 +00:00
Simon Richter
f87dc08801
Readd <config.h> to ngspice.cpp
...
This file should really be included first from any source file, because it
contains platform specific workarounds.
This also groups includes a bit by source.
2020-01-22 08:38:45 +00:00
Jeff Young
384ff2539a
Fix uninitialized variables.
2020-01-21 09:29:33 +00:00
Ian McInerney
00e58cd974
Fix unintialized values (from coverity scan)
2020-01-12 13:00:42 +00:00
Jonatan Liljedahl
4378290094
Fix menu string capitalization for simulator Dotted Current/Phase
2020-01-07 19:45:44 +00:00
Jonatan Liljedahl
f433037dcd
Eeschema: simulator: allow dotted traces for current and phase.
...
ADD: Allow drawing of current and phase traces with dotted style
for easier differentiation from voltage and magnitude. The option
is available in the View menu of the simulator.
2020-01-07 19:45:44 +00:00
Jonatan Liljedahl
90d2ea5dd5
Eeschema: simulator: add keyboard shortcuts for add signal, etc
...
(cherry picked from commit bc4caa8913ceff15391f6347a9edb8acbc60172e)
2019-12-11 04:34:22 +00:00
Seth Hillbrand
c6f5df134c
Minor speed cleanup
...
This adjusts iterators to use const reference when only used for
copy. It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
Seth Hillbrand
b5f021ff9f
Cleanup: Replace push_back with emplace_back
...
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Jonatan Liljedahl
7c7d9c3e3f
Eeschema: simulator plot: allow standard mac pan and pinch to zoom
2019-11-25 09:24:31 -05:00
jean-pierre charras
c5290de6ec
housekeeping:
...
Remove not used files:
- markdown2html is not used (we are using "Sundown" tool)
- newstroke_font_without_CJK.cpp is removed.
Due to code optimization the full font works fine without memory issues
-fix also a few very minor compil warnings
2019-11-16 09:39:36 +01:00
Jonatan Liljedahl
fa14d5b9fa
Eeschema: simulator: more trace colors, smarter color allocation
...
NEW: The simulator plot now avoids colors already in use, if possible.
The palette is replaced with a larger one with less saturated colors.
Fixes: lp:1851372
* https://bugs.launchpad.net/kicad/+bug/1851372
2019-11-11 17:20:56 +00:00
Sylwester Kocjan
1c01cc001d
eeschema: fixed recognizing SPICE sim directive
2019-10-20 12:08:01 -07:00
Adam Wolf
c7c49cee5a
Add additional ngspice codemodel path for launching from standalone eeschema on macOS.
2019-10-04 13:41:50 -04:00
Jeff Young
67915b6a96
Add a warning message for attempting to current probe a subckt.
...
Fixes: lp:1843159
* https://bugs.launchpad.net/kicad/+bug/1843159
2019-09-12 14:45:01 +01:00
Jeff Young
a25368cc6b
Improve spelling.
...
The groundwork here is thanks to kunda1.
Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young
23d824de66
Simulator improvements.
...
1) Add highlighting to simProbe and simTune tools.
2) Probe tool should accept wires and pins, not wires and components.
3) Give simulator window a flat look to match rest of Kicad.
4) Collapse whitespace out of simulator window.
5) Add some error messages.
6) Add some whitespace to simulation setting dialog.
2019-08-05 16:48:18 -06:00
Jeff Young
97d70d7844
Fix cursor bugs in simulation.
...
1) cancel simProbe or simTune when simulator window closed
2) handle non-stock cursors through SetCurrentCursor()
Fixes: lp:1833583
* https://bugs.launchpad.net/kicad/+bug/1833583
2019-08-04 16:25:36 -06:00
Simon Richter
05353049b5
Pull in macro definition for strncasecmp on MSVC
2019-07-17 08:10:47 -04:00
jean-pierre charras
d92396341e
Simulation: do not add .save V(0) and/or .save V(GND) to ngspice.
...
These 2 nets are internally added by ngspice (info from Holger Vogt)
2019-07-07 17:55:43 +02:00
jean-pierre charras
bc27b0ed5f
Sim spice: fix unescaped netnames in spice netlist and simulator dialogs.
...
Net names in eeschema that include '/' are escaped ('/' replaced by "{slash}")
Escaped netnames are only for internal use, and must be unescaped in spice netlist and dialogs.
2019-06-09 17:48:01 +02:00
Jeff Young
568c8c336b
Move DRC control to a tool; move assorted commands to ACTIONS.
2019-06-03 21:08:30 +01:00
Jeff Young
39b91c90dd
Moved more operations to ACTIONs.
2019-06-01 23:03:24 +01:00
Jon Evans
5287ab6e4f
Eeschema: improve simulator behavior for two-source DC analysis
...
Fixes: lp:1830478
* https://bugs.launchpad.net/kicad/+bug/1830478
(cherry picked from commit 356ccd0314
)
2019-05-27 18:23:56 -04:00
jean-pierre charras
6cdde97e6f
ngspice dll search: add auxiliary search paths on Linux, like on other platforms
2019-04-15 11:04:59 +02:00