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
Jeff Young
0a1a5ea669
Fold annotation error reporting into ERC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6938
2021-01-24 23:01:24 +00:00
Jeff Young
0ba0160da9
Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT.
...
ADDED a new pin electrical type "free" for internally unconnected pins.
CHANGED the "unconnected" pin electrical type is now represented by
"no_connect" in files and netlists. (The legacy syntax is also accepted
in files.)
2021-01-23 00:10:01 +00:00
Jeff Young
f5e35af1a5
Transmit pin electrical types through to pads.
2021-01-23 00:10:01 +00:00
Jeff Young
360953ba98
"comp" -> "symbol".
2021-01-19 23:50:40 +00:00
Jon Evans
1491330596
Fix various memory leaks exposed by qa_eeschema
2021-01-18 22:40:58 -05:00
Jeff Young
1eb6902b82
Fix race condition between eeschema and cvpcb.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6969
2021-01-18 19:24:57 +00:00
Jeff Young
f1221a9ca3
Resolve text variables in title blocks for outputing to netlist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7153
2021-01-17 16:24:22 +00:00
Jon Evans
02681fcf0e
Move no-connect processing to connection graph
...
This way the net names can be inspected in eeschema and cross-probing works.
Testcases updated for the name changes
CHANGED: all unconnected pins are now included in the netlist with no_connect_ prefixes
2021-01-14 20:55:49 -05:00
Jeff Young
3467e643e5
Move pad locking from footprint to pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-08 20:43:02 +00:00
Jeff Young
c3d46c1cb5
Add ncPins to the list of no_connect_ nets.
...
This allows the info to be acted upon in PCBNew (for instance, clearance
rules).
Fixes https://gitlab.com/kicad/code/kicad/issues/6991
2021-01-07 21:56:04 +00:00
Jeff Young
10e68daa37
Fix some bugs in Change Symbol and Update Symbols.
...
In particular, there was a typo that kept library values from being
updated, and there was missing logic to fetch the various field names
from the library parts (and the change-to part).
Also implements some performance gains by desisting from copying
LIB_FIELDs around every time we want to look at them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6733
Fixes https://gitlab.com/kicad/code/kicad/issues/6749
2020-12-15 16:12:17 +00:00
Jeff Young
797a588015
Aliases should inherit their descs, keywords, and fp filters.
...
Assuming they're not set locally, of course.
Also updates to new class structure order.
Fixes https://gitlab.com/kicad/code/kicad/issues/6051
2020-12-14 13:48:26 +00:00
Jeff Young
9ece90a541
Fix off-by-one error in exporting netlist, and update testcases.
...
The golden file update entails the change to no-connects as well as
the introduction of natural number ordering.
2020-12-04 19:37:55 +00:00
Jeff Young
7b347d793b
Change gears on no-connect net generation. See bug rpt.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6534
Fixes https://gitlab.com/kicad/code/kicad/issues/6615
2020-12-04 18:25:48 +00:00
Jeff Young
5f8a8c6850
Read/write "no net" (0) for pins with a no-connection marker.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2273
Fixes https://gitlab.com/kicad/code/kicad/issues/5587
2020-11-23 19:47:55 +00:00
Dominik Wernberger
99da663e82
Remove unused variables plus some more fixes from CppCheck
...
Remove unused variables plus a few more fixes from CppCheck
Remove unused variables plus a few more fixes from CppCheck
2020-11-19 02:28:47 +00:00
Jeff Young
55d0b79746
Make sure current sheet gets set when creating BOM.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6418
2020-11-18 17:32:40 +00:00
Jeff Young
c89676e39d
Require client to specify whether they want resolved values or not.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6408
2020-11-17 21:36:48 +00:00
Jeff Young
6654c03041
Embarking on the next adventure: component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
63a54d003e
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
f0d0e17aab
Prepare for MODULE -> FOOTPRINT.
2020-11-13 15:16:24 +00:00
jean-pierre charras
976b7e1c47
Eeschema: Move last netlist code to netlist_exporters folder
2020-10-26 18:40:58 +01:00
Marek Roszko
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Marek Roszko
a2c3bdec0d
Remove kicad_string.h from netlist_exporter.h
2020-10-15 18:48:53 -04:00
Jeff Young
445b9df827
Don't output pins to net if parent symbol isn't included on board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5984
2020-10-15 18:32:52 +01:00
Jeff Young
4565631728
Finish moving eeschema assigned netclasses to sheet-path-relative.
...
Also adds code for the case where a new label is created on a net
with an existing netclass assignment.
Fixes https://gitlab.com/kicad/code/kicad/issues/5886
2020-10-07 16:31:55 +01:00
jean-pierre charras
bda275de46
more cleanup about removing useless include
2020-10-03 11:48:16 +02:00
Simon Richter
aa24fe2880
Fix return type from ternary operator ( fixes #5554 )
2020-09-12 22:43:49 +00:00
Seth Hillbrand
cfcc3bbc0a
Fix UTF8 conversion issue
...
The ternary needs a wxString object for both sides to reference the UTF8
functions
Fixes https://gitlab.com/kicad/code/kicad/issues/5554
2020-09-08 10:08:21 -07:00
Jeff Young
7b05e456cc
Bug fixes for multiple symbol instances in complex hierarchies
...
1) use SCH_COMPONENT::GetRef(), GetValue() and GetFootprint() when
instance-specific info is needed
2) update UpdateAllScreenReferences() to handle value and footprint.
3) BACKANNO is CvPcb's handler, not back annotation's handler. Which
means it needs GUI behaviour, not back annotation behaviour.
Fixes https://gitlab.com/kicad/code/kicad/issues/5520
2020-09-06 13:57:14 +01:00
Jon Evans
38a4e4ad5a
Remove the last bits of the old netlist system
2020-08-30 16:30:04 -04:00
Jeff Young
e7db43285f
ADDED new footprint fabrication attributes.
...
This commit also adds mapping of the new symbol properties
"exclude from BOM" and "exclude from board" to be correctly
handled in Update Board from Schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/2399
Fixes https://gitlab.com/kicad/code/kicad/issues/4643
Fixes https://gitlab.com/kicad/code/kicad/issues/2233
2020-08-28 11:05:58 +01:00
Wayne Stambaugh
80ee805782
Eeschema: fix broken symbol exclude from BOM support.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5284
2020-08-22 13:44:55 -04:00
Jeff Young
23c8123ac9
Update a bunch of netlist exporters to resolve textVars.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5285
2020-08-21 22:19:43 +01:00
Jeff Young
97c34e2516
ADDED alternate pin definitions and assignments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2002
2020-08-21 18:29:36 +01:00
Jeff Young
c5b91c9bb2
Output resolved text to generic BOM XML.
2020-08-20 13:41:49 +01:00