Mike Williams
4b02e5efb4
Schematic: allowing ctrl/shift-clicking point editor points
2022-12-08 14:12:12 -05:00
Barabas Raffai
add082548d
Move timer used by SCH_EDITOR_CONTROL to member variable
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2430
2022-12-08 17:33:19 +00:00
jean-pierre charras
0098dfa6dc
Ensure exported spice netlist contains all spice directives found in schematic
2022-12-08 14:03:47 +01:00
Stefan
1fcdd94caf
add missing whitespace
2022-12-08 07:36:59 +00:00
Marek Roszko
2fc0cd68ed
Avoid crashing due to empty lib tables in cli
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13097
2022-12-07 23:56:03 -05:00
Jon Evans
5251ea6f27
Prevent crash on exit due to simulator settings being double freed
2022-12-07 21:04:49 -05:00
Seth Hillbrand
9a5df73060
ERC: don't flag hierarchically connected NCs
...
NCs require no more than one pin on the full net. They may also have
multiple labels connecting them.
2022-12-07 13:48:25 -08:00
Wayne Stambaugh
b95ce69054
Disconnect event handlers in symbol properties dialog dtor.
...
This is probably a good rule of thumb to prevent any event ordering
issues between platforms or unhandled events being trigger during
inherited object destruction.
2022-12-07 14:27:36 -05:00
Jeff Young
b15913bd53
Support env variables in spice library paths.
...
Also removes a bunch of std::string stuff from the file handling in the
simulator. All our file handling, env variable expansion, project path,
etc. stuff is wxString based, and jumping through std::string in between
just makes it more complex and increases the potential bug surface.
Also fixes a bug where you'd get two error messages when a spice model
library wasn't found.
Also fixes a bug where you'd get a spice model library not found error
when the text field was empty.
Also fixes a bug where we'd try to absolutize a path starting with an
unresolved text or environment variable. If the path starts with a
variable it's probably absolute, and tacking on the project path in the
error message just obfuscates things.
Fixes https://gitlab.com/kicad/code/kicad/issues/13082
2022-12-07 15:07:25 +00:00
jean-pierre charras
6130ce5d66
symbol_editor_control: fix incorrect bounding in SVG export.
...
Fixes #13093
https://gitlab.com/kicad/code/kicad/issues/13093
2022-12-07 13:13:35 +01:00
Jeff Young
4872dd7238
Don't put empty lines in the workbook.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12299
2022-12-07 11:39:47 +00:00
Marek Roszko
c0b5fe58c3
Implement output targeting of symlib/fplib upgrade per request
2022-12-06 21:20:27 -05:00
Jeff Young
b9287968d6
Update symbol default prefixes after updating instance data.
...
Also moves the sim model fixups after the instance data updating as
it uses the prefixes.
2022-12-07 01:34:56 +00:00
Jeff Young
69448afb47
Don't run simulation twice when the sim command is overridden.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12731
2022-12-07 01:34:56 +00:00
Wayne Stambaugh
da0624286c
Fix spelling error in schematic import exception handler.
2022-12-06 18:04:38 -05:00
Jeff Young
3836ec481f
Add fixups for legacy syntax used during 7.0 development.
2022-12-06 16:01:18 +00:00
Jeff Young
39ad7c8205
Formatting and Kicad naming conventions.
2022-12-06 16:01:18 +00:00
Jeff Young
38906397d2
Move V6->V7 sim model migration from sheets to screens.
...
Also moves passive RLC inference out from migration to just-in-time
creation for the simulator or netlisting.
Also fixes a version guard mismatch because the spice migration was
done inside UpdateSymbolInstances (which has its own version guard).
Also changed UpdateSymbolInstances to UpdateSymbolInstanceData so
someone else in the future doesn't think it's a general-purpose symbol
instance updater.
2022-12-06 16:01:18 +00:00
Jeff Young
f8e0a272c0
Remove a bunch of 'auto'.
2022-12-06 16:01:18 +00:00
Wayne Stambaugh
5001555f0e
Fix crash in Altium schematic importer.
...
The crash was caused by an unhandled exception. The uncaught exception
caused a cacophony of null configuration setting pointers so guards were
added to prevent crashes should other exceptions occur that do not get
handled correctly.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13046
2022-12-05 20:20:01 -05:00
Fabien Corona
4c76082f77
"Sim Params/Settings" -> "Sim Command"
...
The window only really sets the simulation command.
In the future, we might want a simulation setting window with things such as SPICE optimizations.
2022-12-05 23:12:04 +00:00
Jeff Young
8e4cd1e1a6
Check for sheet directive changes when running simulations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10486
2022-12-05 20:03:42 +00:00
Jeff Young
7e1fecaf2e
Formatting.
2022-12-05 20:03:42 +00:00
Fabien Corona
e861606871
sim: string change
2022-12-05 19:45:57 +00:00
Jeff Young
b7d41e0e56
Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
...
Also includes fixes for instance data and resolving of textvar
references.
Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.
Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Jeff Young
f50b9799a6
Remove old code that was only needed when we auto-added netclasses...
...
... to netclass flags. They're now directive labels and the netclass
field isn't auto-added anymore. However, we *do* auto-add an intersheet
refs field, and that's required.
2022-12-04 21:06:35 +00:00
Jeff Young
1855885d1e
Gracefully handle spice models not recognized by KiCad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12689
2022-12-04 21:06:35 +00:00
Jeff Young
f29f0c5c0a
Don't push a model that didn't load.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12689
2022-12-04 21:06:35 +00:00
Jeff Young
672927e183
Clearer error message.
2022-12-04 21:06:35 +00:00
Jeff Young
bed22272e5
Supply default values for random uniform voltage sources.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12861
2022-12-04 21:06:35 +00:00
Jeff Young
49abd2682a
Simulation model properties dialog improvements.
...
1) Fix <TAB> processing
2) Don't hide/show controls where possible
3) Use a more concrete reference to primary parameter in Save to Value
checkbox
4) Move Save to Value checkbox into model section
2022-12-04 21:06:35 +00:00
jean-pierre charras
6b9c82c975
eeschema: fix a crash when converting a old .sch file containing global labels.
2022-12-04 21:06:16 +01:00
jean-pierre charras
0562eaa7b1
Eeschema plot: fix some (minor) issues with page size option set to a fixed page-size
...
Fixes #13062
Fixes #13056
Fixes #13057
However, DXF and HPGL is not perfect, but OTOH this is not an usual format for schematic.
PS format is not tested for now.
2022-12-04 16:55:20 +01:00
Graham Keeth
ef83d01455
Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology
2022-12-04 14:29:57 +00:00
Jeff Young
adc5c9eb20
OpenGL render order appears to be the inverse of the drawing order.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13070
2022-12-04 11:51:44 +00:00
Jeff Young
294a4804ed
Minor dialog layout adjustments.
2022-12-04 11:51:44 +00:00
Jeff Young
f805fd267f
Divorce UNIT_BINDER from wxFrame.
...
This allows us to supply Pcbnew or Eeschema as the unitsProvider when
called from the main frame.
Fixes https://gitlab.com/kicad/code/kicad/issues/13066
2022-12-04 11:51:44 +00:00
Jeff Young
f9b3f14dfa
Bring intersheet refs in line with schematic setting when changing sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13061
2022-12-04 11:51:44 +00:00
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
jean-pierre charras
8ab8a48657
fix order of includes to avoid conflicts with a Windows header.
2022-12-03 10:59:46 +01:00
Fabien Corona
bd235048f9
sim GUI: remove "Adjust value" checkbox.
...
We had a change in notation and this checkbox became useless.
2022-12-03 08:28:43 +00:00
Seth Hillbrand
f9a36b9c91
Update thread_pool to 3.3
...
Fixes an issue with `wait_for_tasks()` and adds a lower-overhead
`push_loop` helper. We replace our usage of `parallelize_loop` with
`push_loop` as we didn't use the multi-future vector return and don't
need the extra overhead.
2022-12-02 12:01:34 -08:00
Fabien Corona
6e45987005
fix build warning
2022-12-01 20:33:51 +00:00
Mike Williams
8f646fa9fb
Schematic: fix XOR unselecting one end of fully selected line
2022-12-01 15:00:06 -05:00
Mike Williams
5b2020daf5
Schematic: only delete dangling lines not created directly by the user
2022-12-01 13:13:45 -05:00
Mikolaj Wielgus
f38c5d8cd0
Sim: Add virtual destructor to SIM_SERDE
2022-12-01 17:18:55 +01:00
Mikolaj Wielgus
4ec7ea376e
Sim Ibis: Minor code style changes
2022-12-01 17:13:37 +01:00
kliment
0f09172902
Eeschema: ibis_parser - Fix undefined behavior due to pointer aliasing in isNumberNA
2022-12-01 15:44:38 +00:00
Mikolaj Wielgus
d2adcdfde0
Sim: Add "number of bits" parameter to KIBIS PRBS model and some more fixes
...
The other fixes:
- PRBS's `m_bits` should be an integer.
- Fix some references to outdated parameter names.
2022-12-01 09:19:41 +01:00
Marek Roszko
bae8cb55c0
Rename the bom cli to pythonbom since we'll have a real bom system later
2022-11-30 19:56:59 -05:00
Seth Hillbrand
d23f285f8c
Avoid ngspice segfault
...
When simulating an empty netlist, calling the `.save all` and `.probe
alli` commands gives a segfault in ngspice. We can avoid this by
skipping these commands in KiCad.
Fixes https://gitlab.com/kicad/code/kicad/issues/12938
2022-11-30 15:22:17 -08:00
Seth Hillbrand
01cf6d76d8
Remove newly dangling lines when dragging
...
These lines are remnants from drag operations that should be cleaned
after commiting the new line positions
Fixes https://gitlab.com/kicad/code/kicad/issues/12870
2022-11-30 13:46:38 -08:00
Wayne Stambaugh
e517cad12b
Fix broken hierarchical sheet file paths when adding nest sheets.
...
The file path for each sheet must always be relative to it's parent sheet
or absolute if using a relative path is not possible.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10868
2022-11-30 15:44:59 -05:00
Seth Hillbrand
ce63c37bfd
Handle possible null in dynamic_cast
2022-11-30 12:30:49 -08:00
Wayne Stambaugh
0a62c17040
Remove schematic symbol value and footprint field instance data.
...
https://gitlab.com/kicad/code/kicad/-/issues/12933
2022-11-30 11:47:13 -05:00
Mikolaj Wielgus
7d207c5d2f
Sim Ibis: Change some strings for consistency
2022-11-30 17:38:09 +01:00
Mikolaj Wielgus
e39c0b20ea
Sim: Universally initialize enum parameters with their default values
2022-11-30 12:45:59 +01:00
Mikolaj Wielgus
39cd9f8980
Sim: Fix Sim.Params field generation logic
...
Don't generate the first parameter (e.g. for KIBIS it was 'vcc=""') when
it is empty in models without primary value.
2022-11-30 12:45:58 +01:00
Seth Hillbrand
09cc6decaf
ADDED: ERC for missing units
...
Reports a warning (by default) for missing units
Reports an error for missing units with power input pins
Reports a warning for missing units with input pins
Reports a warning for missing units with bidi pins
Fixes https://gitlab.com/kicad/code/kicad/issues/1922
2022-11-29 23:49:55 +00:00
Seth Hillbrand
4f4e355ce5
Reset existingRefs on cancel
...
When placing, we need to keep our static pointer map valid. If we
cancel the placement after annotation, we need to remove the annotated
symbol. The safer way is to just recreate the map
Fixes https://gitlab.com/kicad/code/kicad/issues/12983
2022-11-29 13:37:23 -08:00
Jeff Young
193e8715f9
Replace wxASSERT with wxCHECK2.
2022-11-29 21:12:53 +00:00
jean-pierre charras
f3aff63726
Fix minor compil warnings
2022-11-29 20:05:58 +01:00
Jeff Young
b2177718a1
Tighten up refresh logic for net & netclass references.
...
Also tightens it up a bit for text variables which can reference things
like netnames and netclasses, but also board settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/13032
2022-11-29 15:18:36 +00:00
Jeff Young
a105f6c297
Add asserting checking.
2022-11-29 14:24:20 +00:00
Mikolaj Wielgus
ab6caca384
Sim: Remove duplicate parameters
2022-11-29 15:02:45 +01:00
Mikolaj Wielgus
b025b103de
Sim Model Editor: Make the VBIC model the first BJT model to select
2022-11-29 10:13:20 +01:00
Mikolaj Wielgus
8143522371
Sim: Fix VDMOS model parsing
2022-11-29 09:48:01 +01:00
Marek Roszko
21fed9fc8c
Hotglue a symbol upgrade function in cli
2022-11-29 00:00:45 -05:00
Fabien Corona
6510afe699
Ibis: Show the parser log if the parser fails
2022-11-28 17:46:42 +00:00
jean-pierre charras
ef6348606a
altium schematic import: convert ports to hierarchical labels instead of global labels
2022-11-28 17:56:46 +01:00
jean-pierre charras
149ddf9ddb
PANEL_SETUP_BUSES: make delete a bus member working.
...
the member list was not updated when deleting a member.
Fixes #13024
https://gitlab.com/kicad/code/kicad/issues/13024
2022-11-28 17:55:04 +01:00
Jeff Young
9a25464337
Prevent nullptr dereference.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12516
2022-11-28 13:38:41 +00:00
Mikolaj Wielgus
20ea191f66
Sim: Fix model param vs. instance param duplicates in diode model
2022-11-28 08:00:49 +01:00
Mikolaj Wielgus
7b1a460649
Sim: Fix unhandled MODEL_TYPE in SIM_MODEL_NGSPICE
2022-11-28 07:59:24 +01:00
Mikolaj Wielgus
d836fbaaaa
Sim: Add VBIC model support
...
Update generate_sim_model_ngspice_data.bash a little, but it's still
outdated.
2022-11-28 04:45:36 +01:00
Wayne Stambaugh
ef624199cd
Fix Altium schematic import bug.
2022-11-27 19:34:46 -05:00
Mikolaj Wielgus
bbcb0c04fc
Sim: Don't crash when parsing unknown model in a Spice file
2022-11-27 08:59:54 +01:00
Mikolaj Wielgus
71d194071b
Sim: Allow Numparam expressions in models inside subckts
...
Global-level numparam expressions are not properly supported yet.
Fixes https://gitlab.com/kicad/code/kicad/issues/12953
2022-11-27 06:32:17 +01:00
Seth Hillbrand
f1556ed801
Prevent mirror of text elements
...
While we never allow the creation of mirrored text elements in the
schematic and symbol library editors, external generation of symbols may
cause the property to be set, which can then never be changed. This
leaves the property unset for all elements
Fixes https://gitlab.com/kicad/code/kicad/issues/13007
2022-11-26 10:48:44 -08:00
Alex
754e82535a
Symbol Fields Table: Highlight the first unit in multi-unit symbols.
2022-11-26 17:30:30 +05:00
Mikolaj Wielgus
0b5814f98f
Sim: Allow .subckt parameter lists without "params:"
...
And fix .subckt parameter list parsing, because it was broken.
Fixes https://gitlab.com/kicad/code/kicad/issues/12779
2022-11-26 10:24:11 +01:00
Mikolaj Wielgus
6f630f7054
Sim: Make library path textbox editable
...
Load the library from the path if enter is pressed or focus is lost if
the library exists. If a library under the same path as previously is
to be loaded this way, don't do anything.
Fixes https://gitlab.com/kicad/code/kicad/issues/12970
2022-11-26 03:55:20 +01:00
Wayne Stambaugh
a89102fdfc
Fix Altium schematic import library symbol bug.
2022-11-25 19:38:13 -05:00
Mikolaj Wielgus
acc760dc25
Sim: Fix generation of Sim.Pins field in multipart models
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12372
2022-11-26 01:34:10 +01:00
Mikolaj Wielgus
6d5cc9e606
Sim: Sort the generated Sim.Pins by symbol pin numbers
...
They were sorted by model pin numbers, which weren't the keys in the
key=value pairs generated into Sim.Pins.
2022-11-26 01:34:10 +01:00
jean-pierre charras
a48d06c40d
Better fix than commit f2efb9c6
for issue #13003 .
2022-11-25 17:29:03 +01:00
jean-pierre charras
f2efb9c601
Make symbol highlighting from Symbol Fields Table working again.
...
Fixes #13003
https://gitlab.com/kicad/code/kicad/issues/13003
2022-11-25 16:17:34 +01:00
Jeff Young
7e0ba42f0e
Bug fixes for dragging labels attached to wires in orthogonal mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12677
2022-11-25 15:05:15 +00:00
Simon Richter
6d1ab81261
Mark unused parameter
2022-11-25 14:10:30 +01:00
jean-pierre charras
6f438b6cad
altium export: add messages about skipped items (IEEE_SYMBOL and PIECHART)
2022-11-25 09:51:13 +01:00
jean-pierre charras
e5877e0840
netlist_exporter_xml: ensure the list of parts is included in netlist.
...
This is obviously mandatory to build a BOM
DIALOG_BOM: generate a full xml netlis. We don't know what is needed by scripts
Fixes #12918
https://gitlab.com/kicad/code/kicad/issues/12918
2022-11-25 08:55:21 +01:00
Mikolaj Wielgus
a65b35107d
Sim: Make Sim.Pins have key-value pairs instead of a sequence
...
Moreover, upgrade models on schematic load instead of on model load
2022-11-25 05:38:21 +01:00
Mikolaj Wielgus
f5ebd6fb47
Remove unused SCH_SYMBOL::GetAllPins()
2022-11-25 05:38:21 +01:00
jean-pierre charras
a71c669543
Altium importer: try to import elliptical arcs rather to skip them.
...
Some schematics use elliptical arcs to describe usual arcs.
2022-11-24 19:43:00 +01:00
jean-pierre charras
199743e8b0
altium/sch_altium_plugin: do not initialize unit to -1 for common to units items.
...
-1 as unit id is illegal and breaks the lib file. So ensure id >= 0
(id = 0 for common to units items)
2022-11-23 14:47:55 +01:00
jean-pierre charras
b1ec694905
Add string change (see commit 7aac53c6
) to dialogs/dialog_sim_model_base.fbp
2022-11-23 14:46:18 +01:00
Jeff Young
651b3f1349
SCH_FIELDs are in parent's coord system.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12979
2022-11-23 13:22:50 +00:00
Wayne Stambaugh
f5707eeca7
Fix assertion in schematic copy formatter.
2022-11-22 16:45:38 -05:00
Wayne Stambaugh
4a27d856f7
Move schematic sheet instance information into file sheet definition.
...
This will make it possible to maintain sheet instance information when
copying and pasting from any sheet other that the root sheet of a
project.
Setting and getting sheet page numbers must now be performed using a
sheet path. This was done to ensure that the instance paths were not
getting changed unexpectedly from different code paths.
2022-11-22 16:45:38 -05:00
Fabien Corona
226dc9de78
Ibis: Don't create unnecessary B source
2022-11-22 21:09:08 +00:00