Commit Graph

9540 Commits

Author SHA1 Message Date
Seth Hillbrand 38a0b67e40 ngspice has specific chars that are reserved
This replaces all known reserved characters with '_'

Fixes https://gitlab.com/kicad/code/kicad/issues/13404
2023-01-06 09:36:49 -08:00
Jeff Young 4d7642a26c Add number of pulses parameter to pulsed voltage/current sources.
Also don't suppress writing "0" valued parameters.

Fixes https://gitlab.com/kicad/code/kicad/issues/13401

Fixes https://gitlab.com/kicad/code/kicad/issues/13402
2023-01-06 13:45:56 +00:00
Marek Roszko c57e6db79a Turn off plotting hidden fields in the svg export cli 2023-01-05 23:32:24 -05:00
Marek Roszko e056c96c10 Feed the sym svg export absolute paths for source lib 2023-01-05 22:28:01 -05:00
Seth Hillbrand b6b5a8ef6e Remove bus label syntax from severities dialog 2023-01-05 17:00:32 -08:00
Jeff Young 98f0959f39 Default common-to-all-units based on last-used setting.
(Or whether or not the symbol has interchangeable units when a new
symbol is loaded.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13391
2023-01-06 00:34:16 +00:00
Seth Hillbrand c29dfe026e Force recursing annotation when set to auto
Automatic annotation should always annotate new elements regardless of
where in the hierarchy they are

Fixes https://gitlab.com/kicad/code/kicad/issues/13378
2023-01-05 15:03:38 -08:00
Jeff Young 933a5d45e1 Be more aggressive about clearing edit flags after operations.
Fixes https://gitlab.com/kicad/code/kicad/issues/13173

Fixes https://gitlab.com/kicad/code/kicad/issues/13385
2023-01-05 18:08:22 +00:00
Jeff Young 7af718f1a5 Don't use std::string for things with wxString APIs.
It's too bug-prone.

Fixes https://gitlab.com/kicad/code/kicad/issues/13380
2023-01-05 14:16:39 +00:00
Jeff Young 3b021d98be Completely remove reading SCH grid sizes from config files.
It messes up too many things if you put metric grids in there.

Fixes https://gitlab.com/kicad/code/kicad/issues/13345
2023-01-05 12:25:43 +00:00
Stefan c5d7e447c7 Bugfix: remove trailing comma after last ref 2023-01-05 08:29:01 +00:00
Jeff Young 985414fef9 Collapse pin-conflicts-map generator back to (mostly) a single path. 2023-01-05 00:02:44 +00:00
Wayne Stambaugh 6f7af062ff Rename file component_reference_lister.cpp to sch_reference_list.cpp.
This matches the naming of the header file.
2023-01-04 16:31:17 -05:00
Seth Hillbrand 0e2943d781 Fix pinmap flat style on GTK 2023-01-04 12:48:15 -08:00
Wayne Stambaugh d99e09014b Rename SYMBOL_INSTANCE_REFERENCE to SCH_SYMBOL_INSTANCE. 2023-01-04 15:39:50 -05:00
Seth Hillbrand fc86998bf6 Ensure duplicate pin names get unique nets
Same pin name != same net name unless the pins are explicitly connected

Also add pin number to all unconnected pads ensuring they have unique
nets

Fixes https://gitlab.com/kicad/code/kicad/issues/13236
2023-01-04 11:32:15 -08:00
Jeff Young 7c0b6c1e87 Restore old pin-conflicts-map algo for MSW and GTK. 2023-01-04 18:32:06 +00:00
Mike Williams bd5d10cd7b Schematic: remove more extraneous dangling symbols 2023-01-04 11:07:23 -05:00
Graham Keeth fb9a388bce Fix icon spacing in Annotation dialog/panel 2023-01-04 13:52:19 +00:00
Jeff Young 33d31be9b5 Fix last commit. 2023-01-04 13:38:28 +00:00
Jeff Young b38370adae Test for viability of using fontsize for pin conflicts map positioning. 2023-01-04 13:16:15 +00:00
Wayne Stambaugh f5c5b00e40 Fix schematic annotation dialog bitmap layout issue. 2023-01-04 07:36:00 -05:00
Wayne Stambaugh 73b7dcbc35 Attempt to unify symbol annotation behavior between place and paste.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13330
2023-01-04 07:36:00 -05:00
jean-pierre charras 575a84f76c Fix a compil issue on GTK 2023-01-04 13:15:56 +01:00
jean-pierre charras d0f9ce897e Do not use #elifdef , only available in C++23
replaced by #elif defined
2023-01-04 11:59:33 +01:00
Jeff Young a8d2f7f71d Round 2 for GTK. 2023-01-04 01:41:07 +00:00
Jeff Young b9f1106781 Adjustments for GTK. 2023-01-04 01:18:02 +00:00
Jeff Young c47de5a55d Another round of adjustments for MSW pin conflicts map. 2023-01-04 00:33:58 +00:00
Jon Evans ac3ed02283 Rework bitmap cache and enable it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Marek Roszko 8ab9934143 Use our own cmake module path variable to avoid conflicting with the main ones listy functional 2023-01-03 19:18:16 -05:00
Jeff Young 7d84d323a6 Pin conflicts map adjustments for MSW. 2023-01-04 00:12:16 +00:00
Jeff Young 13d196c509 Fix some issue in the pin conflicts map with button alignment on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/13333
2023-01-03 23:39:48 +00:00
Graham Keeth 77ee82459e add ERCE_NETCLASS_CONFLICT and ERCE_ENDPOINT_OFF_GRID to schematic setup 2023-01-03 23:23:46 +00:00
Mike Williams 1ba9a6abe3 Rotate/Mirror: unbreak immediate mode actions 2023-01-03 16:05:52 -05:00
Seth Hillbrand cbe6cd3048 Don't move local vars
Copy ellision allows optimization if we don't explicitly move a local
variable in the return
2023-01-03 10:20:18 -08:00
Jeff Young baa13b885f Don't add Sim.Params unless it contains data, and update sallen key demo. 2023-01-03 17:20:23 +00:00
Jeff Young 9583b28063 Fix store-in-value bugs.
1) Always honour the dialog checkbox value.
2) Don't expect the absence of the primary parameter in Sim.Params to
   mean that Value stores it.  It might be the default parameter value.
3) Update spiceTypeInfo when matching legacy data to an internal model.
4) Initialize the store-in-value checkbox depending on whether or not
   we found the primary parameter in the Value field.
2023-01-03 17:20:23 +00:00
Jeff Young 9b9795a87d Reduce reliance on exception processing -- it's waay too bugy at present.
This moves some stuff to REPORTER APIs.  Moving more stuff would be good,
but it probably too high-risk at present.  We'll wait for 8.0 for that....

Fixes https://gitlab.com/kicad/code/kicad/issues/13359
2023-01-03 17:20:23 +00:00
Mike Williams d1c2ab957b Schematic: set current sheet after initializing screens
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13238
2023-01-03 12:11:31 -05:00
Jeff Young fdc8f9c59d Fix accidental deletion in "TEXT_ATTRIBUTES" commit. 2023-01-03 01:23:18 +00:00
Jeff Young 7f35323416 Re-enable sim model ERC testing. 2023-01-03 00:59:14 +00:00
Jeff Young 056349e5ea Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
Jeff Young c5948de2af Update find status when switching sheets.
(Not just when switching sheet during find.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13351
2023-01-02 18:49:28 +00:00
Jeff Young 277cd73204 TEXT_ATTRIBUTES doesn't hold the position.
Fixes https://gitlab.com/kicad/code/kicad/issues/13350
2023-01-02 17:36:21 +00:00
Jeff Young fc346ea794 Iterator safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/13341
2023-01-02 11:36:54 +00:00
jean-pierre charras e8114dc49a Minor compil and Coverity warnings fixes. 2023-01-02 10:21:42 +01:00
Jeff Young 6f16678d2d Typo fix courtesy or aris-kimi. 2023-01-01 23:40:18 +00:00
jean-pierre charras 447d0d71d3 EEschema, Error/Info messages: do not add the unit id to single unit symbol ref 2023-01-01 11:21:05 +01:00
Gary Kim 8e8a3c7bdc
Do not translate name in version info
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
Jeff Young 62f0843579 Fix grammar error in warning string. 2022-12-31 18:54:36 +00:00
Jeff Young 55b8f0bc00 Gracefully fall back to raw spice when we can't parse the data.
Fixes https://gitlab.com/kicad/code/kicad/issues/13329
2022-12-31 18:52:26 +00:00
Jeff Young 77b361a077 Add reference material to SPICE model pin assignment tab.
Fixes https://gitlab.com/kicad/code/kicad/issues/13309
2022-12-31 18:52:26 +00:00
jean-pierre charras 9f56771611 Fix a typo 2022-12-31 11:41:04 +01:00
Jeff Young 5deee405da Fill in built-in-model-type (which might not be the same as initial spice type).
Fixes https://gitlab.com/kicad/code/kicad/issues/13324
2022-12-31 01:07:46 +00:00
Jeff Young 62bec69d8c Migrate field text attrs from legacy fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/13323
2022-12-30 23:41:46 +00:00
Jeff Young e9ed56e9a4 Fix small alignment issue in field properties dialog. 2022-12-30 15:29:36 +00:00
Jeff Young c0e0cbceb0 Move eseries helper class to common.
Also improves some terminology for english-speakers.

Also substitues [] vector access (which creates empty elements) over
at() (which throws if the item is not found).
2022-12-29 18:05:57 +00:00
Jeff Young 4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
Mike Williams 068b714908 Schematic: merge dual import sheet pin actions
I believe I have managed to keep the slightly distinct functionality of
both implementations: the action will now use the selected sheet or find
one under the cursor if it's there.

It will also keep placing pins while they exist, which was inconsistent
in the behavior of the single click version before (other single click
commands keep placing until you cancel, e.g. no-connects )

Also, it will automatically end the tool when it runs out of sheet pins.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13296
2022-12-29 09:36:29 -05:00
Mike Williams e65de51fc7 Schematic: label auto orientation needs to respect move/drag/change
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13226
2022-12-28 14:30:57 -05:00
Mike Williams 495f337fa5 Schematic: remove unused variable 2022-12-28 12:27:57 -05:00
Mike Williams 6816ee937a Flags: remove unused IS_DRAGGING 2022-12-28 12:27:57 -05:00
Mike Williams 6cc17e4a16 Schematic: new flag IS_BROKEN for trimming BreakSegment danglers 2022-12-28 12:27:57 -05:00
Mike Williams f03fd5ad2d Schematic: remove IS_RESIZING
Is unused/redundant with IS_MOVING
2022-12-28 12:27:57 -05:00
Mike Williams 13f67aa7ce Schematic: remove unnecessary drag mirror/rotate control disabling
The whole edit dialog is blocked while dragging if anything else is drag
selected, and if nothing is drag selected the rotations/mirroring will
be fine. Also, we already allow mirror and rotate while dragging, using
the keyboard shortcuts and menu items, and it works fine.
2022-12-28 12:27:57 -05:00
Mike Williams b5b65e1455 Schematic: update dragged lines dangling state in realtime
Makes the visuals a little nicer as we add bend lines
2022-12-28 12:27:57 -05:00
Jeff Young e7300ffb5c Improved column sizing in library setup dialogs. 2022-12-28 16:27:03 +00:00
Jeff Young e927328ecf Don't rely on field ID for intersheetrefs.
It will be -1, for instance, after a duplicate.
2022-12-28 15:15:54 +00:00
Jeff Young a3fcc8bbf7 Move Exclude from Simulation to Symbol Properties.
Also brings the layout of Symbol Properties for Symbol Editor more in
line with Symbol Properties for Schematic Editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/13299
2022-12-28 13:44:13 +00:00
Jeff Young 87448e0c55 Include sim command when running external SPICE.
Fixes https://gitlab.com/kicad/code/kicad/issues/13295
2022-12-28 12:28:22 +00:00
Jeff Young d50b3550af Signals header is repetitive. 2022-12-28 10:40:23 +00:00
Jeff Young ef6001bfe6 Use consistent terminology: opposite of Add is Remove.
Note: violating string freeze because this change should ease translation,
not make it harder.
2022-12-28 10:40:23 +00:00
Jeff Young e11d39b0f2 If magnitude or phase is specified, don't add both.
Fixes https://gitlab.com/kicad/code/kicad/issues/13202
2022-12-28 10:40:23 +00:00
Jeff Young 508b9e21a8 Put simulation in with other life-cycle tools. 2022-12-28 10:40:23 +00:00
Jeff Young 3767716f20 Menu IDs of 0 don't work on Mac. 2022-12-28 10:40:23 +00:00
Jeff Young 987eb4b46a Handle language changes for Schematic Hierarchy Navigator.
Fixes https://gitlab.com/kicad/code/kicad/issues/13291
2022-12-28 00:11:28 +00:00
Mike Williams f1fab140a1 Schematic: make menu bar rotation items conditional
Also fix some items not getting a context menu rotate action.
2022-12-27 14:18:47 -05:00
Jeff Young 0b50e7fa37 A wee little hack for intersheet refs in legacy files.
Fixes https://gitlab.com/kicad/code/kicad/issues/13108
2022-12-27 18:46:58 +00:00
Mike Williams 8ca8f83a18 Schematic: sheet pin dragging special case needs to check endpoints
Otherwise we'll force the wrong end of a line to be special-cased
2022-12-27 12:15:49 -05:00
Mike Williams 33b774685b Schematic: fix inconsistent selected-by-drag behavior of mid-line labels
Two issues here:

Selected labels would half of the time add junctions splitting lines
when the lines would have been selected-by-drag (removing the need for a
junction).

Split lines aren't selected by drag by default, and we need to test
labels against lines that are selected by drag.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13224
2022-12-27 12:15:49 -05:00
Mike Williams b82833200a Schematic: correct bus entry shadows size and selections 2022-12-27 10:09:45 -05:00
Jeff Young e64b356d93 Fix broken if/then/else logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/13192
2022-12-27 14:58:10 +00:00
Mike Williams 1ad373f2b2 Schematic: don't show unselected ends on bus entries 2022-12-27 09:37:21 -05:00
Jeff Young 572c10b2c4 If we don't recognize a var then it's an error, not 0.0. 2022-12-27 13:50:44 +00:00
Jeff Young 39a23fa9bc Only eval numeric properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/13201
2022-12-27 13:50:44 +00:00
Wayne Stambaugh e68bb16a28 Fix Eagle schematic import debug assertion.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13215
2022-12-27 08:31:56 -05:00
Jon Evans 314c813aca Don't try to save hierarchical sheets with empty filenames
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11236
2022-12-26 21:47:17 -05:00
Jeff Young 80f3abe082 Event safety.
Sentry crash probably happens when an update title event fires either
too early or too late to have a simulator or simulator settings.

Sentry issue https://sentry.io/organizations/kicad/issues/3669444623/events/fce0179f7d5e4ff3a7dbb0d90a0570b4/
2022-12-26 20:33:04 +00:00
Jeff Young 424cdf6699 Overflow safety.
Sentry issue https://sentry.io/organizations/kicad/issues/3419671947/events/11212297e66c47c7af7144b5f075e88c/
2022-12-26 20:33:04 +00:00
Wayne Stambaugh 78e2f0fd4d Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
Jeff Young b070ecf0c7 Don't run simulation while dragging tuning slider.
It has all manner of issues with wxWidgets event processing.  The
primary one that Kicad stumbles over is that there is no kill-focus
when the mouse leaves the thumb if the sim is running, so subsequent
mouse-up events (even if in another window) generate thumb scrolls.
Another one that gets us is scroll events being generated when the
window is fronted, but this may be debugger-specific.

Fixes https://gitlab.com/kicad/code/kicad/issues/11366
2022-12-26 10:51:30 +00:00
Jeff Young 90edcc8c42 Clarity and Clang-tidy warnings. 2022-12-26 10:51:30 +00:00
Jeff Young 13b73ed6b4 Remember dialog sizes for dialogs that might have lots of fields.
This is mainly for simulation testing where the dialog has to be
grown every time you restart the app, but it might as well be applied
to the similar dialogs.

Fixes https://gitlab.com/kicad/code/kicad/issues/12887
2022-12-24 22:20:03 +00:00
Jeff Young 833e76a0bc KiCad standard is left-aligned checkboxes. 2022-12-24 21:01:35 +00:00
Jeff Young ba4a7a979a Don't respond to Duplicate events while placing multiple copies of a symbol.
It doesn't really make any sense as clicking will just create another copy
as well.

Fixes https://gitlab.com/kicad/code/kicad/issues/13253
2022-12-24 19:40:39 +00:00
Jeff Young bf1c4e7bcd Allow translation of simulation error messages. 2022-12-24 11:30:56 +00:00
Jeff Young f00ec339fd Don't set IS_NEW flags during clean-up operations.
Fixes https://gitlab.com/kicad/code/kicad/issues/13252
2022-12-24 11:17:13 +00:00
Jon Evans 5657ca5a04 No-connects might not be connected to a pin
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13256
2022-12-23 20:50:49 -05:00
Jeff Young 6f44468385 Fix more lifetime issues in simulator tuning.
Fixes https://gitlab.com/kicad/code/kicad/issues/13257
2022-12-23 22:03:24 +00:00
Jeff Young 981254543a Allow line-continuations in name=value parameters.
Fixes https://gitlab.com/kicad/code/kicad/issues/13255
2022-12-23 20:05:16 +00:00
Jeff Young 00fe8f0f70 Minor tuner panel layout fixes. 2022-12-23 20:04:26 +00:00
Jeff Young 8069e5d5d6 Fix sim bug running a command the first time when no command in doc.
Fixes https://gitlab.com/kicad/code/kicad/issues/11366
2022-12-23 18:21:26 +00:00
Jeff Young bfd3b40672 Bug fixes for tuning.
1) Don't save SCH_ITEM pointers in long-lived structures.  Use KIIDs
   instead.

2) Use the correct sheet for the referenced item, not the current sheet.
2022-12-23 17:40:36 +00:00
Jeff Young 604d7a72d6 Fix bug in tuning when value is stored in Value field. 2022-12-23 17:40:36 +00:00
Jeff Young e2f2f3518b Minor improvements to tuner panel look & feel. 2022-12-23 17:40:36 +00:00
jean-pierre charras e5363d164c Lib symbol editor, export SVG: fix incorrect position of the drawings.
Fixes #13249
https://gitlab.com/kicad/code/kicad/issues/13249
2022-12-23 16:31:35 +01:00
Jeff Young 66eafc56bb Don't suggest we're going to cancel already-added signals. 2022-12-23 12:46:18 +00:00
Jeff Young 3f49fa5361 Don't write sim.params for library model unless we actually have overrides. 2022-12-23 12:46:18 +00:00
Jeff Young cd7be966c0 Fix typo when un-escaping parameter name. 2022-12-23 12:46:18 +00:00
Jeff Young 7f60b87d1d Implement fallback models for SPICE .lib models that we can't parse. 2022-12-22 22:35:09 +00:00
Jeff Young d0d6dc6ce0 Clang-tidy warnings reduction. 2022-12-22 22:35:09 +00:00
Mike Williams 9b782fa827 Schematic: don't deselect line ends when right clicking off-selection 2022-12-22 14:16:38 -05:00
Mike Williams 8b7d0d71fb Schematic: show update/change symbols for multiple symbol selection
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13231
2022-12-22 14:00:51 -05:00
Jon Evans 66799b60f8 DbLib: Reconnect if connection is lost 2022-12-22 12:15:04 -05:00
Mike Williams 3037f2b444 Schematic: don't require cursor on selected net to assign netclass
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13199
2022-12-22 10:15:48 -05:00
Jeff Young 7abfa46531 Inferred sim value improvements, and a unit test for them. 2022-12-21 17:03:49 +00:00
Jeff Young e64852c833 Clearer naming. 2022-12-21 17:03:46 +00:00
Jeff Young e7e3f3bced SIM_MODEL code simplification.
1) Reduce API surface.
2) Prefer for(int) loops when what we're looking for is the index of
   the item to be found
3) Move "_" escape processing to SIM_MODEL_NGSPICE (which is the only
   model which uses the escape mechanism)
2022-12-21 17:01:58 +00:00
jean-pierre charras 8e4911bba2 Simulation: make a few errors thrown from PEGTL a bit more understandable. 2022-12-20 18:54:14 +01:00
Mike Williams 093c0c2c98 Schematic: add simulation button to toolbar
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2331
2022-12-20 08:56:36 -05:00
Mike Williams fc054bda8e Schematic: fix edit symbol assert
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13197
2022-12-20 08:23:02 -05:00
Jeff Young 97010b598d Update all units when a schematic symbol is edited in the Symbol Editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/13208
2022-12-19 23:09:13 +00:00
Mike Williams 389f0655cd Schematic: re-enable old break wire functionality, add slice
Also fix break/slice wires for multiple wires. The shortcut and code
always allowed it, the context menu just didn't appear.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13163
2022-12-19 15:55:59 -05:00
Jeff Young 8db015bc0f Accept thousands separators in inferred values. 2022-12-19 20:05:54 +00:00
Jeff Young 58ce0bb804 Simulation bug fixes.
1) Use C-locale when converting output of parsers to strings.

2) InferSimModel() must run on local copy of fields, not the fields in
the symbol (which might be different if they've already been edited in
the Symbol Properties Dialog, for instance).

3) InferSimModel() should accept a deviceType already set to RLC.

4) Don't output trailing decimal separators if there's no fraction.
2022-12-19 18:14:13 +00:00
Jeff Young cbb70f0da1 Formatting and CLang-Tidy warning reduction. 2022-12-19 13:51:49 +00:00
Jeff Young 113fd83fdd Fix Clang-tidy warnings. 2022-12-19 13:19:21 +00:00
Jeff Young ebcc1ac062 Use current cursorPos when creating sheet pins.
Fixes https://gitlab.com/kicad/code/kicad/issues/13206
2022-12-19 12:27:55 +00:00
Jeff Young a3a2e2e5b1 Update demos and legacy qa files SpiceMapping -> Spice_Node_Sequence.
Also removes migration in the code as it will no longer be needed.
2022-12-19 12:04:53 +00:00
Jeff Young 04f50ce687 Generate default pinMap from symbol's pins when we don't know SIM_MODEL's pins. 2022-12-19 11:40:52 +00:00
Jeff Young df8eb59854 Don't use SPICE_MODEL_SUBCKT::CreatePins to crate a default pinMap.
(It creates a fully-unconnected map on the premise that it's easier
to add a pinMap than to edit one.  This is probably no longer true
now that you don't have to un-assign a pin before re-assigning it.)
2022-12-19 11:40:52 +00:00
Jeff Young 1ce6cd6d4d Naming clarity. 2022-12-19 01:51:24 +00:00
Jeff Young 7433322778 Handle a couple more legacy formats found in legacy_sallen_key demo. 2022-12-19 01:47:23 +00:00
Jeff Young b06c245b8f Don't double-add DC parameters.
(Remember that DC's inlineTypeString used to be "".)
2022-12-19 01:19:55 +00:00
Jeff Young 7192c565b8 Add simple VI model inference. 2022-12-18 22:54:12 +00:00
jean-pierre charras a9acb2e215 Fix incorrect format in a wxString::Format() 2022-12-18 20:30:15 +01:00
Ian McInerney 618347ef50 Regenerate ibis dialog to remove unused sizer from header
It appears the dialog had already been updated to remove it from the
formbuilder project and the cpp file, but the header wasn't checked in
at the same time.
2022-12-17 23:37:24 +00:00
Ian McInerney 2f8cc194c1 Initialize variables inside file dialog customizer classes 2022-12-17 23:37:24 +00:00
Ian McInerney 0bd39516c4 Cleanup eeschema save as extra control creation to match pcbnew 2022-12-17 23:37:24 +00:00
Jeff Young 8324c0b0cc Fix event order bugs in Sim Model Editor dialog.
onParamGridChanged was firing before CommitPendingChanges which meant
the edited value didn't get saved if the editor was still open when
OK was clicked.
2022-12-17 22:33:00 +00:00
Jeff Young 321de57d7c Bug fixes for simulator.
1) Finish removing pin-count based APIs.  We need to know the pin names
as well, not just the count.

2) Fix a bug in the regexp for SPICE functions to allow both lowercase
and uppercase function names

3) Move CreatePins() overrides to the new API so that we get pins on
raw SPICE models.

Fixes https://gitlab.com/kicad/code/kicad/issues/13190
2022-12-17 20:29:24 +00:00
Jeff Young 6b70c679cf Migrate more V6 SPICE syntax to V7.
Also fixes various bugs if symbols contained non-indexed pin numbers.
We really need to know the actual pin names when creating models, rather
than just assuming 1, 2... etc.

Fixes https://gitlab.com/kicad/code/kicad/issues/13183
2022-12-17 15:23:51 +00:00
Jeff Young 09302296f4 Use SCH_SHEET_PATH interface to get page numbers.
Fixes https://gitlab.com/kicad/code/kicad/issues/13021
2022-12-16 22:49:42 +00:00
Jon Evans 5abf73e3c9 Never call ReCreateMenuBar inside a menu event handler
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
Jeff Young 65552df6ce Quite Coverity. 2022-12-16 19:11:34 +00:00
Jeff Young dba3c589d0 More bug fixes for escaped model parameters.
Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....More bug fixes for escaped model parameters.

Note that this whole escaping thing seems like a bad idea to me, but
I don't fully understand the difference between model parameters and
instance parameters so I don't know if there's a better way to handle
it or not....

Fixes https://gitlab.com/kicad/code/kicad/issues/13179
2022-12-16 16:34:41 +00:00
Jeff Young 08a8a20794 Sort pins in numeric order before attempting to match to SPICE model.
Fixes https://gitlab.com/kicad/code/kicad/issues/13164
2022-12-16 14:18:44 +00:00
Jeff Young 24786fe0e9 Fix multi-unit symbol bugs.
1) SPICE pins need to include all units
2) Already-seen-unit-x needs to be reset when getting netlist again.

Fixes https://gitlab.com/kicad/code/kicad/issues/13164
2022-12-16 13:57:46 +00:00
jean-pierre charras 89153ca75a Eeschema: fix incorrect calculation of unit id in reference: U1.A was shown as U1A.
Fixes #13178
https://gitlab.com/kicad/code/kicad/issues/13178
2022-12-16 11:48:26 +01:00
Seth Hillbrand 6d5a9153ab Move resolve function to general usage
Libraries are created multiple times, so we need to resolve the library
locations each time

Fixes https://gitlab.com/kicad/code/kicad/issues/13083
2022-12-15 15:34:48 -08:00
Seth Hillbrand e91c039ed3 Prevent event stackup when init pages
The paged book initialization (and others) can generate events,
re-laying out the whole dialog multiple times during initialization.
This halts events during the layout period

Fixes https://gitlab.com/kicad/code/kicad/issues/13158
2022-12-15 11:39:03 -08:00
Jeff Young a41f27a022 Silence Coverity. 2022-12-15 18:14:19 +00:00
Seth Hillbrand bb7682f913 Resolve using env/project if lib isn't found
Relative include commands resolve in the following order:

1. local to the file from which they are included
2. local to the project
3. local to the SPICE_LIB_DIR directory

Fixes https://gitlab.com/kicad/code/kicad/issues/13083
2022-12-15 09:41:25 -08:00
Wayne Stambaugh 84f927d057 Schematic import bug fix.
Check for already loaded schematics in the current sheet path as well
as the current project root sheet path to prevent multiple loads of
shared schematic.  This bug was causing shared sheets to be loaded more
than once which caused instance data to get separated by each copy rather
than saved in one copy of the schematic which would result in all instance
data being lost except the last saved copy of the schematic.  This bug has
been around forever and may be the cause of some unexplained schematic
instance data corruption issues.  This bug does not apply when opening
the full project.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11076
2022-12-15 09:58:39 -05:00
Jeff Young 1e812b8b69 Remove selection from grid before deleting rows. 2022-12-15 14:40:57 +00:00
Jeff Young a8e73cf92c Check for model existence in library. 2022-12-15 14:25:25 +00:00
Jeff Young 5ef9fbdd19 Fix broken loop logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/13168
2022-12-15 14:22:03 +00:00
Jeff Young af71c2d877 Clear hover selections after command.
Fixes https://gitlab.com/kicad/code/kicad/issues/13073
2022-12-15 13:47:56 +00:00
Jeff Young 00a5fddda4 Simplify library model name from combobox to choice.
Fixes https://gitlab.com/kicad/code/kicad/issues/13168
2022-12-15 12:13:16 +00:00
Graham Keeth ba585e9b3a Fix BOM script description
script name aside, bom_csv_grouped_by_value.py also sorts by sym name
and footprint
2022-12-15 07:08:53 +00:00
Seth Hillbrand f0a8182532 Update for wx3.0 compatibility 2022-12-14 16:41:52 -08:00
Seth Hillbrand c86688d280 Ensure we have a subgraph 2022-12-14 16:41:52 -08:00
Jeff Young b2e512bfab We must infer a pinMap when inferring other fields for RLC passives.
Fixes https://gitlab.com/kicad/code/kicad/issues/13162
2022-12-14 23:23:41 +00:00
Jeff Young 93879532f7 More wxTextCtrl minimum widths. 2022-12-14 23:23:41 +00:00
Jeff Young a2ba9137b8 Use only first letter of prefix for RLC primary value name.
Fixes https://gitlab.com/kicad/code/kicad/issues/13162
2022-12-14 23:23:41 +00:00
Seth Hillbrand 10a3d57193 Add sim_lib callback to resolve embeded libs
Also teach parser to look for include directives in libraries

We get KiCad variable resolution in include pathnames for free.

Fixes https://gitlab.com/kicad/code/kicad/issues/13083
2022-12-14 13:31:41 -08:00
jean-pierre charras cdcf875ec0 sim_model: Fix another not handled exception that fully freeze Eeschema.
Can happens with schematics with old sim parameter syntax.
Fix also another crash in sim_model.
2022-12-14 17:47:20 +01:00
Jeff Young ce6378fed3 Use symbol pin names for left-hand-side of auto-generated pinMaps. 2022-12-14 15:13:29 +00:00
Jeff Young 5984a6dddd Fixup a few more collapsing textEditCtrls on Mac. 2022-12-14 15:13:29 +00:00
Jeff Young 6abdfc76da Replace 1:1 pin map on legacy conversion now that we can accept indexes.
Fixes https://gitlab.com/kicad/code/kicad/issues/13152
2022-12-14 14:22:35 +00:00
Jeff Young 77998d7c51 Better fix for not selecting all of netlist. 2022-12-14 14:13:25 +00:00
Jeff Young 13d9b061ee Don't select all of netlist when showing it in simulator. 2022-12-14 13:36:29 +00:00
Jeff Young e41b0775db Fix a bug with underscores being appended to spice param names. 2022-12-14 13:36:29 +00:00
Jeff Young 50ccc4e6da Fix issue converting legacy SPICE models.
1) if a legacy model references a library then we need to see if said
   libraray exists and read model from it if so
2) legacy node ordering is by index, not pin name
3) we can't auto-generate a pin map when we don't know the pin names,
   so don't try
2022-12-14 13:36:28 +00:00
Jeff Young c0872364d4 Get rid of bloated bitmap buttons on wxWidgets 3.2. 2022-12-13 20:48:02 +00:00
Mike Williams af4e9968fc Schematic: remove internal Change Sheet action from hotkeys
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13157
2022-12-13 13:55:23 -05:00
Mike Williams 5e72a1008b Schematic: don't trim unchanged segments that are connected
Previously if you had a wire with two unconnected ends and dragged the
end of another wire to connect with one end, it would delete the first
wire.
2022-12-13 09:03:23 -05:00
jean-pierre charras bbdb30135e sim_model: Fix a not handled exception that fully freeze Eeschema.
Can happens with schematics with old sim parameter syntax.
2022-12-13 11:15:02 +01:00
Marek Roszko 6eedbe4a14 Allow taking hidden fields into account for symbol unit bounding box
Even the GUI export of svg wasn't taking fields into account which rendered the fields regardless of status
2022-12-12 22:47:56 -05:00
Marek Roszko f1f5fff072 Add cli export of symbols from kicad libraries 2022-12-12 22:44:26 -05:00
Seth Hillbrand bc8366cd95 Don't report a pin if the pin is null
The pins can exist on a different sheet from the no-connect.  In this
case, we do not set the ERC for the current sheet to the remote pins,
instead only link the NC
2022-12-12 19:29:15 -08:00
Jeff Young f24372bc18 Layout adjustments for wxWidgets 3.2. 2022-12-13 00:47:19 +00:00
Seth Hillbrand 413637b732 Add missing translation string 2022-12-12 13:07:53 -08:00
Mike Williams 243727428a Selection: non-greedy box selection of wires ends only when dangling
See discussion:
https://gitlab.com/kicad/code/kicad/-/issues/13022#note_1205902448
2022-12-12 15:04:33 -05:00
Mike Williams d824b7f506 Schematic: move wires always moves the whole line
Discussion here:
https://gitlab.com/kicad/code/kicad/-/issues/13022#note_1205922621
2022-12-12 14:45:06 -05:00
Mike Williams fe01c65794 Schematic Lines: add marker for unselected, connected line ends
Smaller, subtler version of the marking used for unconnected line ends.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13126
2022-12-12 14:45:06 -05:00
Mike Williams 5ce0fe5998 Selection: drop non-greedy full line selection from middle
It's too inconsistent to have greedy and non-greedy mode, and also have
tweaks to the non-greedy mode that make it greedier.
2022-12-12 14:45:06 -05:00
aris-kimi 43d4dd0b7b Fix some eeschema textbox tooltips 2022-12-12 19:41:26 +00:00
Seth Hillbrand 15c8e87549 Allow passive pins in stacking def 2022-12-12 11:15:38 -08:00
jean-pierre charras 96a9ec4a0c Enhance compatibility with V6.0 for Intersheetrefs fields associated to GLOBAL labels.
In V6.0, the identifier is "Intersheet References" and was not immediately
seen as Intersheetrefs field.
2022-12-12 16:38:04 +01:00
Jeff Young ccbbd2ddd9 Clear seleciton so wxWidgets doesn't go looking for deleted row. 2022-12-12 14:43:37 +00:00
Jeff Young ca5c0e2ac5 Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/13137
2022-12-12 14:42:45 +00:00
Jeff Young 2459b61aa6 Don't add second half of line and new juction to screen twice.
Fixes https://gitlab.com/kicad/code/kicad/issues/13129
2022-12-12 13:44:47 +00:00
Jeff Young 45eae3e594 Don't Simplify() polys with arcs in them.
Fixes https://gitlab.com/kicad/code/kicad/issues/13134
2022-12-12 12:54:34 +00:00
Jeff Young c7603372b5 Use consistent naming. 2022-12-12 12:54:34 +00:00
Jeff Young f75d18c7c8 Slight improvement to schematic editor title bar.
Also improves some other clients of PathHumanReadable(), such as the
set page number dialog.
2022-12-12 12:54:34 +00:00
Jeff Young 346530a5b1 Nullptr safety to attempt to prevent Sentry crash.
https://sentry.io/organizations/kicad/issues/3712084175
2022-12-12 12:54:34 +00:00
Jeff Young e890986e01 Fix crash when grid tries to access deleted field. 2022-12-11 23:12:55 +00:00
Jeff Young 419fe236ad Fix logic error in parsing sim command, and DC source types in dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/9064
2022-12-11 23:12:55 +00:00
Jeff Young b2498f5673 Coding standards & formatting. 2022-12-11 23:12:55 +00:00
jean-pierre charras bdf13ade7a Fix a compil issue on linux, round 2 2022-12-11 20:43:10 +01:00
jean-pierre charras 32995a31c6 Fix a compil issue 2022-12-11 20:19:56 +01:00
Jeff Young 5c53daadb0 Mostly coding standards, but also quote codemodel names before passing to spice.
Fixes https://gitlab.com/kicad/code/kicad/issues/12687
2022-12-11 18:42:57 +00:00
Jeff Young 65538ccad4 Rename files and classes to match dialog name.
Also a bit of formatting cleanup.
2022-12-11 18:42:57 +00:00
jean-pierre charras a57ca559aa sch_field named Intersheetref in global labels: fix incorrect behavior when loading a sch file.
This is a special field, always existing, that cannot be handled like other fields.
Also avoid using translated names when initializing the field name.
Translated names can be used only in UI, not in internal data.
fixes #13113
fixes #13125
2022-12-11 18:56:14 +01:00
Jeff Young fbd2d66a75 Convert formatting constructs for SPICE consumption.
Fixes https://gitlab.com/kicad/code/kicad/issues/11383
2022-12-11 15:53:26 +00:00
Jeff Young 9c129ed03f More dialog adjustments for wx 3.2. Also renames files to match dialog. 2022-12-11 15:49:29 +00:00
Jeff Young 56aae7a147 Reduce compiler warnings. 2022-12-11 13:39:59 +00:00
Jeff Young 3581a9773f Move simulator settings disposal earlier so it happens before parent.
Fixes https://gitlab.com/kicad/code/kicad/issues/12370
2022-12-11 01:32:20 +00:00
Jon Evans 2b94b7df77 DbLibs: Support empty virtual table names
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12902
2022-12-10 16:35:11 -05:00
Jon Evans 39a8ab8738 Make sure to set the lib table for a plugin before it gets used
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12847
2022-12-10 16:04:54 -05:00
Jon Evans 966dee6730 A screen must always be generated for a new sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13104
2022-12-10 14:32:24 -05:00
Mike Williams f4fb70e04c Schematic: re-allow partial selection of line ends
Also fix some XOR selecting issues.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13022
2022-12-10 13:17:42 -05:00
jean-pierre charras be8f99e8fe Another fix to avoid conflict names issues with mingw + pegtl.
Fixes #13118
https://gitlab.com/kicad/code/kicad/issues/13118
2022-12-10 14:28:05 +01:00
jean-pierre charras e74654a20f Minor fix to avoid conflict names issues with mingw + pegtl. 2022-12-10 08:21:35 +01:00
Alexander Dewing 91290e8f75 vsrious cleanup, seeing if we dont need to ignore_item for python 2022-12-09 23:48:31 +00:00
Alexander Dewing 02325130fa Initial arm64 work 2022-12-09 23:48:31 +00:00
Jeff Young 1599490197 Formatting. 2022-12-09 22:25:14 +00:00
Jeff Young 1baec20cf6 Handle SPICE <-> SI conversions in inferred models.
Fixes https://gitlab.com/kicad/code/kicad/issues/13112
2022-12-09 22:02:52 +00:00
Jeff Young 60c937186a When migrating simulation models update value to a reference. 2022-12-09 20:24:25 +00:00
Jeff Young 05b9836f60 Remove ugly hack of passing SCH_SYMBOL as parent of LIB_FIELD array.
Also adds simulation model inference to Symbol Editor's Simulation Model
Editor, and adds write-back from both Simulation Model Editors to their
parent Symbol Fields Editor dialogs.

Fixes https://gitlab.com/kicad/code/kicad/issues/12505
2022-12-09 20:24:25 +00:00
Jeff Young 3ae404f764 Move model inference to SIM_MODEL so it can also be used for behavioral models.
Fixes https://gitlab.com/kicad/code/kicad/issues/12505
2022-12-09 20:24:25 +00:00
Wayne Stambaugh 945361ca65 Fix schematic editor crash when saving shared schematics.
Shared schematics can have a root sheet instance when opened with the
schematic editor in stand alone mode.  This would cause a crash when
opening the shared schematic in a project where it was shared because
the root instance was trying to be saved in the normal sheet instance
data which is not valid.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13102
2022-12-09 10:02:16 -05:00
jean-pierre charras 9a2d8e6b6b Fix a collision name with a windows header (msys2)
LoadLibrary is changed to LoadSymbolLibrary, due to a header included by pegtl
having a #define LoadLibrary ...
2022-12-09 09:36:58 +01:00
Seth Hillbrand eaf56bc05a Fix NC and label connection logic
label has 0 pins -> unconnected label warning
label has 1 pin -> OK only if also has a NC marker, otherwise unconnected pin warning
label has >1 pins -> OK only if has no NC marker, otherwise "NC is connected" warning

Thanks @craftyjon for helping work out the details
2022-12-09 02:14:05 +00:00
Jeff Young 8931e55dd2 Templatize MigrateSimModel() so it can be used on LIB_SYMBOLs as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/13080
2022-12-08 23:57:43 +00:00
Jeff Young cfbf14ebfd Attempt to fix build issue with NGSPICE off. 2022-12-08 23:57:42 +00:00
Jeff Young 107025322c Better column width handling for sim params grid. 2022-12-08 23:57:42 +00:00
Jeff Young 6535f407a6 Remove version guard from sim migration, and add migration to paste.
Fixes https://gitlab.com/kicad/code/kicad/issues/13080
2022-12-08 23:57:42 +00:00
Jeff Young e8980e9024 Centralize SPICE lib path resolution and support SPICE_LIB_DIR.
Fixes https://gitlab.com/kicad/code/kicad/issues/13081
2022-12-08 23:57:42 +00:00
Jeff Young bb6544914e Bring simulator file menu commands more in line with rest of Kicad. 2022-12-08 23:57:42 +00:00
Mike Williams 0e75bf02fa Selection: refactor modifier checking 2022-12-08 14:12:12 -05:00
Mike Williams 78b5dbead6 Schematic: show partial selection of graphic lines
Use the same inverted-dangling-shadow as regular wires

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13095
2022-12-08 14:12:12 -05:00
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
Fabien Corona 5d4b323009 Ibis : correct net name for device generation 2022-11-22 21:08:26 +00:00
Fabien Corona 7aac53c611 String change: add *.ibs to spice model editor 2022-11-22 21:07:40 +00:00
Mike Williams 60d42a7b1e Spelling: fix various suppress misspellings 2022-11-22 13:47:10 -05:00
Simon Schaak bd74489b00 Clean up autosave file handling edge cases 2022-11-22 15:21:26 +00:00
Seth Hillbrand 6625afabb7 Restore subgraph removal behavior
Commit 938645b29d had lines commented out
for debugging purposes.  This commit restores the original lines

Fixes https://gitlab.com/kicad/code/kicad/issues/12165

Fixes https://gitlab.com/kicad/code/kicad/issues/12814
2022-11-22 05:43:53 -08:00
jean-pierre charras b0b8a8dd67 Fix the order of some includes to avoid a conflict with a Windows header 2022-11-22 07:33:14 +01:00
Mikolaj Wielgus 23480cdee3 Sim: Make empty Sim.Params mean storing primary value in Value 2022-11-22 07:09:52 +01:00
Mikolaj Wielgus 1550a1e3a4 Sim Model Editor: Add "Save {} in Value field as "{}"" checkbox 2022-11-22 07:09:52 +01:00
Seth Hillbrand 938645b29d Add terrible hack to get subgraph netname
In certain cases, the subgraph does not receive the proper netname,
preventing us from checking for correct pin counts.  This is a backwards
iteration of the net name <-> subgraph map to extract the proper name
and sibling subgraphs

Fixes https://gitlab.com/kicad/code/kicad/issues/12165

Fixes https://gitlab.com/kicad/code/kicad/issues/12814
2022-11-21 15:19:45 -08:00
Seth Hillbrand e3cc0a5bc7 Prevent crashes when pasting symbols
When pasting a symbol that originates in a non-standard library, the
symbol may _only_ have an instance in the sheet and so adding it to the
sheet updates the instance data and needs to be refreshed before
annotating
2022-11-21 13:30:06 -08:00
Mikolaj Wielgus d63eac9778 Sim: s/SIM_MODEL_MUTUAL_INDUCTOR/SIM_MODEL_L_MUTUAL/ 2022-11-21 05:01:12 +01:00
Mikolaj Wielgus e9fe59a28c Sim: Rename the missed Sim_* fields to Sim.* 2022-11-21 03:33:11 +01:00
Mikolaj Wielgus 48f97bfec3 Sim Model Editor: Enable type dropdown on load when it should be 2022-11-20 22:56:01 +01:00
Mikolaj Wielgus 6969362813 Sim Model Editor: Don't provide library-only models as builtins 2022-11-20 22:07:39 +01:00
Wayne Stambaugh 6f90a63381 Fix legacy schematic symbol instance data bug. 2022-11-20 14:57:37 -05:00
Alex 12a55f20d3 Fix a mistake in grip margin.
Fixes https://gitlab.com/kicad/code/kicad/issues/12952
2022-11-21 00:25:19 +05:00
Fabien Corona 8498630876 Ibis: correctly load QA files up to v2.1 2022-11-20 19:10:46 +00:00