Mikolaj Wielgus
9b6cc6c505
Sim: Fix tuners
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
f95e77499b
Sim: Make exception messages slightly more verbose
2022-10-21 08:15:29 +02:00
jean-pierre charras
c4db7337d0
NETLIST_EXPORTER_SPICE: add missing switch to "C" locale (missing LOCALE_IO).
...
It breaks spice netlist in countries using a comma as floating number separator.
2022-10-19 11:50:35 +02:00
Jeff Young
1964087960
Fix some instance-data issues in netlist exporters.
...
Also removes the final requirements for setting the current sheet so
that we no longer need to do a save/restore.
2022-10-18 17:26:34 +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
d9eb76eae0
Sim: Refactor SPICE_GENERATOR methods to accept a single SPICE_ITEM
2022-10-11 02:22:59 +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
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
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
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
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
Mikolaj Wielgus
e4865ce543
Excise wxString from simulation
2022-09-22 07:41:52 +02:00
Marek Roszko
63295cfb9e
Remove unused vars
2022-09-18 08:49:07 -04:00
Mikolaj Wielgus
a8d7a845b6
Sim: Rename SIM_MODEL_SPICE to SIM_MODEL_RAW_SPICE
2022-09-18 07:25:56 +02:00
Mikolaj Wielgus
5fa0a1a064
Sim: Output more descriptive parsing errors
2022-09-17 08:29:18 +02:00
Seth Hillbrand
524b129c64
ADDED: Support for explicit DNP field
...
Dims elements shown as DNP. Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00: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
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
4f5998ee6b
Spice Model Exporter: Export port directions as comments
...
Also fix missing subcircuit name.
Fixes https://gitlab.com/kicad/code/kicad/issues/11813
2022-09-09 23:49:17 +02:00
Mikolaj Wielgus
0184875d26
Commit missing files
2022-09-09 18:14:33 +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
jean-pierre charras
8b96e6fa44
orcadpcb2 netlist export: fix an issue with duplicated pins in multi-unit symbols.
...
Due to some changes in code, pins common to units were written more than once.
2022-09-07 17:13:04 +02:00
Mikolaj Wielgus
39ac58ea33
Use the PEGTL grammar for detecting .control and .subckt text directives
2022-08-30 17:27:58 +02:00
jean-pierre charras
767be75cac
Netlist spice creation: fix serious issues.
...
* fix broken float values in countries using a comma as separator (missing LOCALE_IO switch)
* fix regression that ignored the pseudo directive Kxx Lyy Lzz nn (coupling factor)
* fix regression that created empty blocks for .subckt and .control
2022-08-30 11:06:50 +02:00
Mikolaj Wielgus
e82ff4de73
Remove the old netlist_exporter_pspice.cpp file
2022-08-29 05:39:09 +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
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
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
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
jean-pierre charras
b5c83ffd95
Eeschema, slash in power pin name: better fix than commit ba7a06f5
.
...
ba7a06f5
tried to fix a (minor) issue in net names when the name was coming
from a input power pin having a '/' in name. But ba7a06f5
blindly escaped any '/'
in net name, and the hierarchy info was lost.
Now only the pin name is escaped (like any other pin name used in net names)
2022-08-10 11:00:19 +02:00
jean-pierre charras
574783bf70
netlist_exporter_spice: cleanup data lists when rerun the netlister.
...
It avoid duplicate includes when rerun the simulator.
Avoid also duplicate includes found in symbols.
Fixes #12192
https://gitlab.com/kicad/code/kicad/issues/12192
2022-08-09 20:52:06 +02:00
jean-pierre charras
4f7d7013e0
netlist_exporter_spice: fix crash when re-run the simulator after a schematic change.
...
Fixes #12142
https://gitlab.com/kicad/code/kicad/issues/12142
2022-08-09 18:33:54 +02:00
Jeff Young
ba7a06f52e
Escape netnames with illegal characters in them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12194
2022-08-09 15:05:10 +01:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01: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
Jeff Young
5479514819
Honour m_resolveTextVars flag for properties as well as fields.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11937
2022-07-08 17:27:05 -06:00
jean-pierre charras
2701642b1b
minor fixes and French translation update
2022-05-30 11:23:20 +02:00
Fabien Corona
0536ab4f6c
Remove kicad_pair in transmission lines
...
This was a misread from the ngspice doc
2022-05-25 00:00:07 +00:00
Seth Hillbrand
a56955443f
Fix botched commit
...
(cherry picked from commit ba276fe470
)
2022-05-02 16:29:07 -07:00
Seth Hillbrand
2079d15b3f
Catch IO_ERRORs that we throw
...
FILEOUTPUT_FORMATTER likes to throw when it gets an issue. We need to
catch this to avoid the app falling apart
Fixes https://gitlab.com/kicad/code/kicad/issues/11516
(cherry picked from commit 4d47857738
)
2022-05-02 15:15:52 -07:00
Seth Hillbrand
5d5a2f9270
Allow common greek letters in passive regex
...
Adds common letters (µ and Ω) as prefix and unit
Fixes https://gitlab.com/kicad/code/kicad/issues/11289
(cherry picked from commit 15fe2f2fd0
)
2022-04-01 12:51:43 -07:00
Sylwester Kocjan
53ccd8bd67
eeschema,sim: refactor NETLIST_EXPORTER_PSPICE_SIM creation
2022-03-26 15:50:15 +00:00
Jeff Young
58c146a7c0
ADDED ki_description and ki_keywords to footprint properties.
...
Also a bunch of wxT().
Fixes https://gitlab.com/kicad/code/kicad/issues/7783
2022-03-19 23:16:56 +00:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Fabien Corona
58e167013d
SPICE: Add support for transmission lines
2022-01-23 17:23:22 +00:00
Jeff Young
2b14b60c32
Resolve text variables in eeschema before passing to pcbnew.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10429
2022-01-15 01:30:03 +00:00
Seth Hillbrand
30549a5e6a
Don't strip extensions twice in BOM export
...
Exporting the Bill of Materials uses the netlist exporter. Both of
these routines were stripping the extension, leading to projects like
"test.project.kicad_pro" having the project name stripped. We separate
the BOM netlist export from generic plugin netlist export to allow the
correct behavior when exporting netlists and generating BOMs
Fixes https://gitlab.com/kicad/code/kicad/issues/10270
(cherry picked from commit bef762e652
)
2022-01-05 11:07:49 -08:00
Frank Zeeman
f004665df8
Add tuner support for potentiometer code model
2021-12-28 02:53:39 +01:00
Frank Zeeman
e618ef98e9
Add potentiometer code models to model selection
2021-12-28 02:53:39 +01:00
Jeff Young
1b2a278de9
Don't put "exclude from board" symbols in CvPCB netlist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9939
2021-12-10 23:00:50 +00:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
5bf042fcc1
Use individual parameter version of wxExecute.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-09-26 15:03:06 +01:00
Seth Hillbrand
8a305eec32
Remove broken RefDesStringCompare
...
This function attempted a poor-man's natural compare but it assumed
specific structure of the string. This broke for strings with
numberings that looked like decimals.
Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.
Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
jean-pierre charras
9f22baf109
netlist xml exporter: fix incorrect keyword change (field was changed to f)
...
Keywords cannot be changed without a very good reason. the keyword is now field.
Fixes #9016
https://gitlab.com/kicad/code/kicad/issues/9016
2021-08-23 17:14:45 +02:00
Jeff Young
7561715ffe
Unescape symbol fields going out to XML netlist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8995
2021-08-21 22:03:24 +01:00
Wayne Stambaugh
f485ba9338
Fix netlist error when editing schematic symbols in place.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8798
2021-07-30 18:37:45 -04: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
Jeff Young
46338403e7
Unwrap some std::library typedefs.
2021-07-28 22:16:38 +01:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
jean-pierre charras
f55f9a522b
Netlist exporter spice: expand env vars when used in include library name.
2021-07-09 14:22:31 +02:00
Jeff Young
ea6769b702
The REPORTER interface is inherently line-based.
...
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).
Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Jeff Young
0484ca5564
Separate LIB_PIN and SCH_PIN GetShownName/Number processing.
...
SCH_PIN wasn't handling the legacy empty string token (~), but
more importantly this will allow text variable resolution specific
to the schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/8625
2021-06-17 10:52:46 +01:00
Jeff Young
1722bc03b0
Consistent terminology and punctuation.
2021-06-17 00:05:17 +01:00
Wayne Stambaugh
ff099453c8
Rename class_library.[h|cpp] to symbol_library.[h|cpp].
2021-06-15 09:24:55 -04:00
Wayne Stambaugh
ee3eac325d
Expunge the use of the word part from Eeschema code.
2021-06-15 08:32:11 -04: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
71c183d7bb
Rename LIB_PART to LIB_SYMBOL.
2021-06-14 07:11:17 -04:00
Jeff Young
bcdec0dea7
Move '~' pin name processing to LIB_PIN and SCH_PIN.
...
This will also allow us to do variable processing in the future if
desired.
2021-06-12 19:54:34 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Marek Roszko
7fa6e13c48
Remove xnode.h from netlist_exporter_xml.h
2021-06-06 09:32:36 -04:00
jean-pierre charras
a60183ec32
netlist xml: fix missing space between UUIDs for multi-units symbols (trial 2).
...
Fixes #8509
https://gitlab.com/kicad/code/kicad/issues/8509
2021-05-30 11:23:14 +02:00
jean-pierre charras
71f40bd67c
Revert a change made in commit acb024f6
, because it breaks the .net netlist format.
2021-05-30 08:37:13 +02:00
jean-pierre charras
acb024f622
netlist exporter xml: fix missing space between UUIDs for multi-units symbols.
...
(similar to the .net netlist)
kicad_netlist_reader.py: fix compatibility with V6 xml netlist :
"tstamp" keyword is now "tstamps" keyword.
Fixes #8509
https://gitlab.com/kicad/code/kicad/issues/8509
2021-05-29 18:29:02 +02:00
jean-pierre charras
40b96c8388
Netlisters: do not remove unconnected pins from netlists needing all pins.
...
Fixes #8499
https://gitlab.com/kicad/code/kicad/issues/8499
2021-05-28 10:09:33 +02:00
Marek Roszko
8c2f07be2a
Write xml netlists explicitly via wxFFileOutputStream for performance
...
Fix #6944
2021-05-03 19:10:21 -04:00
Jeff Young
ecb2e0e031
Formatting.
2021-04-22 12:38:29 +01: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
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
664b0c597a
Schematic netlist exporter header housekeeping.
2021-03-22 07:59:54 -04:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jeff Young
8a33542bcd
SCH_COMPONENT::GetField() expects a vector index, not a field id.
...
Check this at compile time. Callers wanting to use an index now must
use SCH_COMPONENT::GetFields()[i] instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/7757
2021-02-28 15:10:37 +00:00
Wayne Stambaugh
1786ae8773
Eeschema: use symbol nomenclature for object file naming.
2021-02-24 08:48:02 -05:00
Seth Hillbrand
8a12aa4e3a
Handle unit changes in the netlist
...
Each symbol unit in eeschema has a unique identifier. But we don't have
a unique identifier for the entire symbol. So changing which symbol
instance was unit A (our default base for matching), changed the UUID
that we were using to match the footprints.
This commit adds all UUIDs to the netlist, allowing us to match symbol
to footprint without worrying about which unit is referenced.
This still does not handle changing different units on different sheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/7604
2021-02-20 20:11:49 -08: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
Jon Evans
32b12228fc
Use the right sheet when looking for pins to add to netlist
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7434
2021-02-11 20:50:26 -05:00
Jeff Young
41234a8373
Implement more precise annotation-required messages.
...
Also moves the message to an infobar so it's more noticeable.
Fixes https://gitlab.com/kicad/code/kicad/issues/7332
2021-01-30 16:31:27 +00:00
Jeff Young
ff7742c6b8
File naming and include cleanup.
2021-01-28 11:35:18 +00:00
Jeff Young
df80f6484e
Use canonical names when exporting fields to netlist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7300
2021-01-27 13:52:24 +00:00
Wayne Stambaugh
4619d5e112
Fix more broken Doxygen comment specifiers.
2021-01-26 12:17:52 -05:00