Mikolaj Wielgus
fe38c622a9
Sim: Improvements to model serialization
...
Don't serialize parameters in certain models for default values. Infer
models from Value field for some kinds of models. Resolve synonyms when
loading models from Spice libraries.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
6450ec6b85
Sim: Spice netlist exporter rewrite
...
Rewrite the spice exporter to work with the new simulation model
architecture and data model, with many bugfixes related to the latter
two along the way.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
ce84a48037
Sim: Implement loading Spice library files
...
Implement parsing and loading Spice libraries into KiCad. This is done
without any involvement of Ngspice -- we create our own in-tree parser
using PEGTL -- because Ngspice doesn't offer any intermediate output we
could plug ourselves into. We don't parse everything -- just the library
content, so this won't be that much effort.
We implement some basic Spice code preview to give the user a hint what
Spice code eir model will correspond to.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
978f01553b
Sim Model Editor: Serialize models in fields
...
Implemented serialization and deserialization of models in symbol fields
through the SIM_VALUE class. We don't carry the Spice legacy of
case-insensitive suffixes, instead we conform to the SI standard (i.e. M
is Mega, not milli, P is peta, p is pico).
Parameter grid value validation is implemented by simply not allowing
any characters that will make the value invalid (instead of highlighting
the field in a red color). This will likely be changed at some point in
the future.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
c5a256291e
Sim Model Editor: Display model parameters
...
This commit adds parameter display functionality, via a wxPropertyGrid
widget, to the Sim Model Editor. To faciliate that, a SIM_VALUE class is
created to serialize, deserialize, and validate numeric values in the
new parameter grid.
SPICE_MODEL is renamed to SIM_MODEL and split into several subclasses
that correspond to different model kinds.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
229e5c9e0f
Begin development of a new Sim Model Editor dialog
...
With that also begin reworking the internal structure of the simulation
model storage. Some models have parameter information extracted from
Ngspice, which was specially patched to faciliate that. The model is
stored and managed by the SPICE_MODEL class (later will be renamed to
SIM_MODEL).
2022-07-30 02:25:34 +00:00
jean-pierre charras
993c446fdf
Fix some warnings detected by PVS-STUDIO (most are not used vars)
2022-07-25 18:23:52 +02:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
0e07ce9d2e
Minor dialog cleanup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11517
2022-07-24 09:09:25 +01:00
Jeff Young
8b7d4a8869
Minor dialog cleanup.
2022-07-24 08:59:37 +01:00
Jeff Young
3def3d659e
Allow click-selection and greedy-drag selection of visible pin text.
...
Stingy drag still works only on the pin itself.
Fixes https://gitlab.com/kicad/code/kicad/issues/11723
2022-07-23 23:27:14 +01:00
Jeff Young
0d5302f375
Add preference for esc-clears-net-highlighting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-07-23 10:32:43 +01:00
passionateengineer
3389e456b1
Fixes inverted Y position in pin table.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11988
2022-07-20 15:12:59 +00:00
Mike Williams
d44e34d513
Images: Add full properties editor
...
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Seth Hillbrand
91e4d5e0ea
Add Apply button to "Edit Text and Graphics"
...
Allows the user to apply multiple sets of changes without closing the
window
Fixes https://gitlab.com/kicad/code/kicad/issues/11904
2022-07-13 16:44:15 -07:00
Seth Hillbrand
0dab566270
Fix name escaping in symbol editor
...
When renaming a symbol, be sure to handle name escaping in all of the
various places that we do renaming (!)
Fixes https://gitlab.com/kicad/code/kicad/issues/11939
2022-07-12 12:06:30 -07:00
Jeff Young
c243c7e1b8
Don't lock user out of OK'ing libraries dialog.
2022-07-11 19:04:08 -06:00
Mike Williams
e454595348
Eeschema: Changing pin length adjusts offset according to orientation
...
ADDED: When pin length is changed now, the pin position is adjusted
according to its orientation such that the connection point for wires
moves instead of the other side of the stem base. For pins coming out of
component boxes, etc. this keeps them attached to the box while the
length is changed.
2022-07-11 13:58:06 -04:00
Jeff Young
d07c6699ce
Bring symbol editor in line with eeschema for empty text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11799
2022-07-10 20:37:26 -06:00
Jeff Young
98c7572f5e
Minor dialogs fixes for Mac.
2022-07-10 11:30:25 -06:00
Jeff Young
63d83f4186
Minor dialogs fixes for Mac.
2022-07-10 11:15:52 -06:00
jean-pierre charras
fb5604022c
Eeschema: DIALOG_SCH_FIND: ensure the search flags actually used are up to date.
...
Flags are encoded using internal wx values, that can change with wxWidgets versions.
They need to be always rebuilt from the displayed options in dialog.
Fixes #11960
https://gitlab.com/kicad/code/kicad/issues/11960
2022-07-09 10:28:53 +02:00
Jeff Young
ded611aed5
Patch annoying large checkbox cols in wxWidgets 3.1.x on OSX.
2022-07-08 17:27:05 -06:00
Jeff Young
a16fc5b537
Go back to native headers for Symbol Fields dialog.
...
Some of the drag issues are fixed in wxWidgets 3.1.x, and the balance
of problems now favours native.
Fixes https://gitlab.com/kicad/code/kicad/issues/9771
Fixes https://gitlab.com/kicad/code/kicad/issues/11835
Fixes https://gitlab.com/kicad/code/kicad/issues/11836
2022-07-08 17:27:05 -06:00
jean-pierre charras
f47a4ec92a
Eeschema: fix typo in commit 428bbc2
that make it not working.
2022-07-08 09:48:34 +02:00
Seth Hillbrand
428bbc201b
Ensure last column of csv export has terminator
...
Last shown column can be different from the last exported column
Fixes https://gitlab.com/kicad/code/kicad/issues/11981
2022-07-07 11:23:18 -07:00
jean-pierre charras
4db72f2d55
Fix minor compil and Coverity warnings.
2022-07-07 12:38:34 +02:00
Miklos Marton
d30af7c164
eeschema: Add automatic rotate feature for placing global and
...
hierarchial labels
2022-07-05 17:02:45 +00:00
Seth Hillbrand
cde30d3dba
Clarify cross-probing options
...
Previous the cross-probing options were mixed between sending and
receiving cross-probe events. This clarifies so that all of the pcbnew
cross-probe options deal with whether the cross-probe is seen in pcbnew
and all of the eeschema options deal with seeing the event in eeschema.
Also updates the wording in the options panels to be the same where
possible and adds tooltips
Fixes https://gitlab.com/kicad/code/kicad/issues/11454
2022-07-01 16:47:09 -07:00
Mike Williams
252afe41f3
Schematic: remove old, invalid angle choice from editing options
2022-06-28 16:29:14 +00:00
Jeff Young
83a2f43661
Apply DRC fixes to ERC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
2022-06-27 21:07:03 -06:00
Miklós Márton
f2382a7bd1
Add Make selected active/inactive actions to the symbol libraries
...
context menu
Fixes #11372
2022-06-21 23:32:02 +00:00
Jeff Young
494d79423e
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11809
2022-06-19 20:56:22 +01:00
Jeff Young
34e706bcbc
Border colours and line styles for symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11810
2022-06-16 14:52:38 +01:00
jean-pierre charras
c79dd09464
PANEL_SYM_LIB_TABLE: fix a bug in filenames from wxFileDialog dialog.
...
We want the full path, so use GetPaths.
GetFilenames sometimes return the full path in wxWidgets 3.1.7, not always the filename
Fixes #11821
https://gitlab.com/kicad/code/kicad/issues/11821
2022-06-16 13:04:27 +02:00
Jeff Young
52bc2511cd
Add a radioButton mode to IMAGE_BUTTON.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11797
2022-06-12 20:09:46 +01:00
Jeff Young
69c1f88e53
Update symbol instances after sheet rename.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11782
2022-06-12 15:46:37 +01:00
Jeff Young
a0421b172a
Add missing color swatch to Symbol Editor Text Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11791
2022-06-11 22:14:14 +01:00
Jeff Young
6bfd106bed
Add missing text colour to symbol editor textbox dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11770
2022-06-09 10:37:23 +01:00
Jeff Young
46fd32b738
Update grid attributes after sorting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11753
2022-06-08 15:25:13 +01:00
Jeff Young
34932e097c
Minor dialog cleanup.
2022-06-08 15:25:13 +01:00
Jeff Young
244042ce51
Keep footprint selection in Symbol Chooser history list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1841
2022-06-06 22:24:02 +01:00
Jeff Young
31316760f6
Separate power and symbol saved search strings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11747
2022-06-04 22:15:39 +01:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Mike Williams
efa23a5cbe
Schematic: better automatic/recursive annotate
2022-05-27 15:54:00 +00:00
Mike Williams
7f3e5e9b79
Schematic: add recursive annotation control
2022-05-27 15:54:00 +00:00
Mike Williams
dabd42bbc4
Schematic: Automatic Symbol Annotation
2022-05-27 15:54:00 +00:00
Jeff Young
616e9b4f4b
Be cognizant of symbol transform when setting justification.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11465
2022-05-26 10:54:08 +01:00
Jeff Young
38e5faf21b
Overhaul bitmap text for performance.
...
Also adjusts metrics to better match stroke font.
Also removes text-halo highlighting as it's too expensive to re-render
when the zoom changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/11460
2022-05-14 20:09:54 +01:00
Jonathan Haas
5802ede3fd
Change default value of MatchByReference to false.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11382
2022-05-14 12:41:25 +00:00
jean-pierre charras
45b167dff5
Some fixes related to translated/not translated mandatory field names. DIALOG_SYMBOL_FIELDS_TABLE: add new fields to symbols only if the field is not empty.
2022-05-13 11:45:38 +02:00
jean-pierre charras
20d1d0705e
Fix a few issues related to field names and their translation. - Do not use translated field names outside strings displayed in dialogs. - fix code that does not work well with default locale. - fix some (not all) I18n issues in DIALOG_UPDATE_SYMBOL_FIELDS.
2022-05-13 11:45:37 +02:00
Seth Hillbrand
bbc250720f
Resolve title variable when plotting
...
Be sure to use variable name if it exists when plotting the file
Fixes https://gitlab.com/kicad/code/kicad/issues/11608
(cherry picked from commit d971cbefcb
)
2022-05-12 15:31:15 -07:00
jean-pierre charras
b68514afb1
Fix a wxWidgets alert.
2022-05-12 20:58:48 +02:00
Marek Roszko
f85251ef75
Fix eda_doc not looking for schematic locally
...
It looks like this was overlooked by Jeff in 2020 not realizing eda_doc isn't built under eeschema but common in cc9ac37a0e
2022-05-10 21:28:48 -04:00
Mike Williams
b7a77a9498
Schematic: Add CSV export to Symbol Fields Table
2022-05-09 12:02:12 -04:00
Jeff Young
8f937b17a2
Remove wxWidgets 3.0.x hack.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11540
2022-05-07 23:24:55 +01:00
Jeff Young
f9f0f6fe24
Implement cross-references for labels.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11564
2022-05-07 21:10:04 +01:00
Jeff Young
a644aad1cf
Hand-code tab navigation from value field of Label Properties dialog.
...
wxWidgets doesn't appear to handle it correctly, doing nothing on OSX
and potentially crashing on GTK.
Fixes https://gitlab.com/kicad/code/kicad/issues/11572
2022-05-06 18:14:25 +01:00
Jeff Young
9c5aa5c3c1
Font and color for FIELDS_GRID_TABLE.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11459
2022-05-06 00:06:00 +01:00
Jeff Young
e80c5a4e4e
Add text colour to Edit Text & Graphics Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11459
2022-05-06 00:06:00 +01:00
Jeff Young
804ab5609e
Add dash-dot-dot to Edit Text & Graphics Properties.
...
Also fixes a bug where textboxes and shapes weren't correctly updated.
Fixes https://gitlab.com/kicad/code/kicad/issues/11522
2022-05-02 17:22:13 +01:00
Jeff Young
6d44ca2145
Ellipsize long heirarchical paths.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11499
2022-04-30 14:09:30 +01:00
Jeff Young
2cccd5b090
Fix minor layout issue in dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11490
2022-04-27 17:14:33 +01:00
Jeff Young
e6f11c5c39
Reset outline font if bold or italic changed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11462
2022-04-26 12:52:29 +01:00
Jeff Young
6738708a7f
Disable background color when printing in black & white.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11180
2022-04-24 19:46:57 +01:00
Jeff Young
c6f83b6dec
ADDED Duplicate Footprint, Rename Symbol and Rename Footprint.
2022-04-22 22:06:51 +01:00
Jeff Young
eb1a238a53
Remove extra event handler.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11418
2022-04-20 16:19:42 +01:00
Jeff Young
fc2eb2d7c9
Fix missing line keeping tabs from switching.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11417
2022-04-20 14:51:08 +01:00
Seth Hillbrand
aac6f576c2
Fix broken comparison in pin_numbers
...
Pin names like "+V" were incorrectly parsed as doubles leading to broken
comparisons. These caused heap overflows when sorting pin tables
This corrects the comparison so that numeric sorts are only performed
when there is an actual number in the symbol segment. Also adds unit
tests for common error cases
2022-04-19 14:46:05 -07:00
Jeff Young
4ab2c93070
Update Selection Filter title bar with language changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11421
2022-04-19 21:12:13 +01:00
Jeff Young
ffc28f23e5
Repair GetFullRef() and use it when running Symbol Fields Table filtering.
...
(Previously GetFullRef() failed to add the number between the prefix letter
and the unit designator.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11419
2022-04-19 19:55:30 +01:00
Jeff Young
c3bed8f6ee
Resolve textvars before opening file browser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6436
2022-04-18 22:45:02 +01:00
Simon Richter
1e505d4c22
Remove a few call sites of SCH_SHEET::SetSize
...
This function is dangerous and should be used only by parsers, and not even
those, really.
For new objects, the size can be passed to the constructor.
2022-04-18 16:23:03 +02:00
Jeff Young
55a8fb39c4
ADDED filtering for Symbol Fields Table dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11224
2022-04-17 20:02:58 +01:00
Jeff Young
e09147db30
Cross-probing for ERC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11411
2022-04-17 00:33:56 +01:00
Jeff Young
7f4f5f2882
Save and re-load query string in Choose Symbol dialog.
...
While this has been requested on its own, it's primarily done here
because wxWidgets decided to send a SEARCH_CANCEL from a wxSearchCtrl
when hitting <ENTER> if the search control holes the empty string.
This causes us to not do a symbol instert in the Chooser dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/10169
Fixes https://gitlab.com/kicad/code/kicad/issues/7699
2022-04-17 00:33:56 +01:00
Jeff Young
184b67098f
Meet user expectations on life-cycle of symbol fields.
...
In other words, support empty fields.
Also adds deleting fields to Symbol Fields Table.
Fixes https://gitlab.com/kicad/code/kicad/issues/8999
2022-04-12 22:11:31 +01:00
Roberto Fernandez Bautista
0015574a60
${SHEETNAME} represents the sheet name + introduce ${SHEETPATH}
...
CHANGED: The text variable ${SHEETNAME} now always represents the name of the
sheet when used anywhere in the schematic editor, including the title block
ADDED: A new text variable ${SHEETPATH} which is replaced with the path to the
current sheet - e.g. "/Sheet 1/Sheet 2".
To ensure backward compatibility, the default drawing sheet now uses
${SHEETPATH}. Custom drawing sheets will need to be manually edited.
2022-04-09 15:45:58 +01:00
Wayne Stambaugh
239f0214ac
Eeschema: add support for default schematic symbol instance data.
...
Prior to fixing the schematic file change churn do to instance data
changing to the last selected sheet instance, the symbol instance data
was set rather than empty. This change allows for users to set the
default instance data which is used for every new instance of the
schematic.
ADDED: Default schematic symbol instance data (unit and reference, value,
and footprint fields) can be set to be used as the default settings
for all new instances of the schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11113
2022-04-09 07:49:36 -04:00
Seth Hillbrand
4b0b4c0ddc
Show non-driven error on single-pin nets
...
Better to have both the single-pin error message and the non-driven
error message when an input pin is not connected than miss error
messages when the pin is connected to a blank net
Fixes https://gitlab.com/kicad/code/kicad/issues/10430
(cherry picked from commit e740db61f5
)
2022-04-06 16:54:04 -07:00
Jeff Young
67d54ecb4c
A bit of dialog layout cleanup.
2022-04-06 16:58:26 +01:00
Jeff Young
06df90636b
Rationalize negative line-width handling.
...
Make "don't stroke" an explicit property in the GUI.
Silently enforce line width to >= 0 when stroking.
Make layouts between dialogs more consistent.
Interpret unspecified fill colour as layer colour.
Fixes https://gitlab.com/kicad/code/kicad/issues/11279
2022-04-05 23:59:25 +01:00
Jeff Young
1594df3498
Fix egregious typo.
2022-04-05 20:10:25 +01:00
Jeff Young
0bd3341f0f
Allow textboxes to have no text. (They still have a defined box.)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11286
2022-04-05 16:29:21 +01:00
Sylwester Kocjan
4719fdc9bf
eeschema: rename m_exporter to m_circuitModel
2022-04-01 19:28:31 +00:00
Sylwester Kocjan
f5dedd77c6
eeschema,sim: add SIMULATOR and SIM_MODEL interface
...
SIMULATOR has now an Attach() method, which should be called
with proper SIMULATION_MODEL that should be simulated, before calling Run()
Concrete class of SIMULATION_MODEL for ngspice is NGSPICE_CIRCUIT_MODEL,
renamed from NETLIST_EXPORTER_PSPICE_SIM. DIALOG_SIM_SETTINGS relies
on above mentioned object, so it was added as an argument of the constructor.
2022-04-01 19:28:31 +00:00
jean-pierre charras
be6379a8f6
Fix minor Coverity and compil warnings.
2022-04-01 20:43:21 +02:00
Jeff Young
6f818f4c2e
Editing support for sheet-pin fonts, text styles and text colors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11300
2022-04-01 19:26:27 +01:00
Seth Hillbrand
49c48e2fe0
Consistently handle env/prj variables
...
User-defined variables cannot be used for internally-reserved variables
Fixes https://gitlab.com/kicad/code/kicad/issues/11232
(cherry picked from commit c23679d9bd
)
2022-03-31 17:05:53 -07:00
Jeff Young
6b99a937d8
Look for sheet pins inside sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11297
2022-03-31 22:10:45 +01:00
Jeff Young
e8a543f1ea
Colors for text in PL_Editor and Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1952
2022-03-31 19:43:56 +01:00
Jeff Young
91ea0903d0
Add infobars for individual-item-color-overrides.
2022-03-29 20:41:03 +01:00
Seth Hillbrand
8706bea3c6
Fix renamed flag
...
Snuck in between MR reviews
2022-03-28 13:50:44 -07:00
Mike Williams
2a726a882f
Schematic: new feature, force 45 degree lines
...
* New modes to force 45 deg angle at beginning or end of line
* Backspace will undo most recent segment added
* / will toggle posture of 90 and 45 degree lines
* Added alg::signbit for convenience
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10869
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9175
2022-03-28 16:07:23 -04:00
Jeff Young
48dd810cd1
ADDED grouping of selected pins in Pin Table.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4956
2022-03-26 21:07:10 +00:00
Sylwester Kocjan
53ccd8bd67
eeschema,sim: refactor NETLIST_EXPORTER_PSPICE_SIM creation
2022-03-26 15:50:15 +00:00
jean-pierre charras
9a342458fa
Fix a few Coverity and compil warnings.
2022-03-26 16:21:23 +01:00
Jeff Young
0652c7b429
More visible Synchronized Pins Mode informatics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10340
2022-03-26 15:16:08 +00:00
Jeff Young
d5533e7999
ADDED unit-filtering for pin table.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9382
2022-03-26 11:53:48 +00:00