Seth Hillbrand
683abd2029
Add ability to update subgraphs based on changeset
...
Previously, almost all connectivity updates were full updates, meaning
that the entire connectivity graph would be rebuilt each time a change
was made to the schematic. This update modifies the update to only
correct the subgraphs that are directly affected by the change.
It uses the existing connection graph to find all affected subgraphs as
well as connections to the changes based on the visible schematic.
These elements are removed from the existing connectivity graph and
marked dirty. They then have a new connectivity graph built only around
their changes. The resulting graph is merged into the original.
Currently, this ability is behind an advanced config flag
`IncrementalConnectivity` while testing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10846
Fixes https://gitlab.com/kicad/code/kicad/issues/1794
(cherry picked from commit a154571438
)
2023-04-25 11:32:04 -07:00
Seth Hillbrand
d08f937932
Move Spacemouse to advanced config
...
The spacemouse driver, particularly on Mac, is extremely unstable and
causes crashes even when not being used. This places the interface
behind an advanced config flag to ensure that users can affirmatively
opt-in to the potential for crashes
(cherry picked from commit 2cd854af14
)
2023-04-25 11:30:36 -07:00
jean-pierre charras
2f51742311
netlist exporter: export only the field value, even if field name is shown.
...
Previously, when the field name was visible, the exported field value was
prefixed by the field name, and this is incorrect.
From master branch
Fixes #14611
https://gitlab.com/kicad/code/kicad/issues/14611
2023-04-25 15:17:05 +02:00
Lucas Dumont
b926d2f0bd
Don't override clearance when routing
...
The default `m_overrideClearance = -1` used here was changed to 1.
Reseting it to -1 to solve linked issue
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14595
(cherry picked from commit e2e901de1d
)
2023-04-25 10:21:13 +01:00
Jeff Young
89d1d36e79
Don't try to keep track of a HOLE's net.
...
Keep track of it's parentPadVia instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/14603
(cherry picked from commit 676a15df65
)
2023-04-24 18:32:48 +01:00
Jeff Young
999cd8cd11
Simulator fixes.
...
1) Don't read libraries multiple times
2) VDMOS default is nchan if not specified
3) In the absence of a workbook default to LTSpice compatability
4) Don't attempt to write out a model line for a subckt; it never has
a baseModel
2023-04-24 13:55:34 +01:00
Jeff Young
fd8b281731
Formatting.
2023-04-24 13:55:15 +01:00
Jeff Young
d8481b4528
More robust file reading for simulator files.
2023-04-24 13:53:22 +01:00
jean-pierre charras
6d93fa046c
pcb_calculator: add missing code to save Regulator Panel settings.
...
From master branch.
2023-04-24 09:14:31 +02:00
jean-pierre charras
c75672fd44
OPENGL_GAL: draw BITMAP_BASE: fix incorrect rendering of mirrored bitmaps
...
The vertical mirror was not working.
2023-04-23 16:12:14 +02:00
jean-pierre charras
5484796745
BITMAP_BASE::Mirror() and ::Rotate(): fix an issue for bitmaps with ppi not 300
...
wxImage::Mirror() and wxImage::Rotate() transforms clear some parameters, especially
the PPI stored in the image. It creates bad size (bad ppi) when saving a BITMAP_BASE
in files.
These parameters are now restored after transform.
2023-04-23 16:12:14 +02:00
Marek Roszko
4ed45e0515
Fix gerbers and drill plot not logging errors
...
Partial fix for https://gitlab.com/kicad/code/kicad/-/issues/14437
(cherry picked from commit dbed94e4b1
)
2023-04-21 03:40:28 +00:00
Marek Roszko
9956c04526
Load custom drawing sheets for pcb cli
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14171
(cherry picked from commit 9f64c7f354
)
2023-04-21 03:18:27 +00:00
jean-pierre charras
b74af71312
* Eeschema: save worksheet filename in project file.
...
The call to saveProjectSettings() was missing.
From master branch, commit b96f3d085c
Fixes #14219
https://gitlab.com/kicad/code/kicad/issues/14219
Fix also a minor compil warning
2023-04-20 09:22:33 +02:00
Jeff Young
44640422f2
Copy RC_ITEM fix to ERC_ITEM (where it's actually needed).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14569
2023-04-19 14:08:55 +01:00
Jeff Young
be91f378ac
Suppress newlines in RC_ITEM messages.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14569
2023-04-19 12:38:46 +01:00
Jeff Young
bdca18cc9f
Ensure item is gridded if there was no motion between clicks.
...
(cherry picked from commit f7a552a2b3
)
2023-04-18 23:56:17 +01:00
Jeff Young
76cb15f545
Trim VRML export layers to board outline.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14557
2023-04-18 16:47:42 +01:00
Jeff Young
4f9e754a51
Ignore empty field-name-templates.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14552
2023-04-18 13:46:08 +01:00
Jeff Young
955774a91a
Amend overly aggressive assert.
2023-04-17 17:52:28 +01:00
Jeff Young
e8a9485d5e
Markup fixes.
...
1) allow escape sequences inside markup sequences
2) keep overbar when inside nested markup
3) always place overbar at full height, not sub/superscript height
Fixes https://gitlab.com/kicad/code/kicad/issues/14553
Fixes https://gitlab.com/kicad/code/kicad/issues/13449
2023-04-17 17:52:11 +01:00
Lucas Dumont
0736c141b9
pcbnew: Fix crash with differential routing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14537
(cherry picked from commit 469fe76994
)
2023-04-17 09:48:18 +01:00
Jeff Young
204549f55b
Fix merge error.
2023-04-16 23:22:49 +01:00
Jeff Young
82a5f307ed
Pull fix back from master.
2023-04-16 23:06:36 +01:00
Jeff Young
7a4650a1a9
Double double-add items to the view.
...
(cherry picked from commit a540c01c61
)
2023-04-16 23:05:24 +01:00
Jeff Young
518980d9ed
Small improvements to lifecycle safety.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14521
Fixes https://gitlab.com/kicad/code/kicad/issues/14315
(cherry picked from commit cc4a8dcc89
)
2023-04-16 18:49:53 +01:00
Jeff Young
5cc1e2e42d
The symbol viewer handles its own message panel.
...
(cherry picked from commit 6fb8916798
)
2023-04-16 18:49:53 +01:00
jean-pierre charras
c599385c8b
footprint wizards: fixes and enhancements
...
From master branch
2023-04-16 17:32:31 +02:00
Jeff Young
1d37d3fdf7
Performance.
...
(cherry picked from commit 2793bb1d68
)
2023-04-16 15:38:32 +01:00
Jeff Young
f3db64af05
Multi-threading safety.
...
(Possible fix for KICAD-74.)
(cherry picked from commit b76ef8c7e2
)
2023-04-16 15:38:22 +01:00
Jeff Young
3217372720
Tighten up the lifecycle management of VIEW_ITEMs in
...
general, and the SYMBOL_VIEWER_FRAME's m_previewItem in
particular.
(Attempted fix for Sentry KICAD-G1.)
(cherry picked from commit 6f59740953
)
2023-04-16 15:38:15 +01:00
Jeff Young
7a50654f3b
Export rectangular aperture GBR_SEGMENTS as polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14136
2023-04-15 22:31:49 +01:00
Jeff Young
9893921d76
Handle legacy libraries with escaped symbol names.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14057
(cherry picked from commit b74d964bff
)
2023-04-15 22:31:49 +01:00
Jeff Young
5574f35473
Apply symbol attributes from base symbol, not derived symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13740
(cherry picked from commit d4b4abd001
)
2023-04-15 22:31:49 +01:00
Alex
fd42e493c0
Don't crash when canceling initial setup in Manage Footprint Libraries
...
(cherry picked from commit 21103924f4
)
2023-04-15 16:25:12 +00:00
jean-pierre charras
7843e6a709
Python: re-add "def Duplicate(self)" with the correct call to C++ Duplicate().
...
From master branch.
2023-04-15 16:20:42 +02:00
Marek Roszko
4c129ec208
Init curl in InitPgm for thread safety
...
curl itself highly recommends not initializing curl from within a thread.
Due to the PCM, this can happen in a thread these days.
Pointed out by Érico Rolim in https://gitlab.com/kicad/code/kicad/-/merge_requests/855
(cherry picked from commit 8fd4909f86
)
2023-04-15 13:19:32 +00:00
Jeff Young
1bf44561da
Allow setting 0 to min width, min track width, min via annular width, etc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13822
(cherry picked from commit 299c88cfec
)
2023-04-15 13:22:52 +01:00
Jeff Young
ad612864ce
Update DRC exclusions model to match terminology.
...
DRC exclusions were originally written following the C++
pragma model (ie: allow this violation here). However, the
"exclusion" terminology we used in the GUI suggests a model
model where the exclusions go away when the violation no
longer exists.
Fixes https://gitlab.com/kicad/code/kicad/issues/14351
2023-04-15 12:10:23 +01:00
Jeff Young
1707436cad
Retire the lib-tree scoring algorithm.
...
It appears to cause more confusion than help.
Fixes https://gitlab.com/kicad/code/kicad/issues/13905
(cherry picked from commit d01c023d5a
)
2023-04-15 00:09:34 +01:00
Jeff Young
b011d508f8
Clear board soldermask when undoing/redoing items that affect it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13446
(cherry picked from commit 4a3f77cd9d
)
2023-04-15 00:08:14 +01:00
Jeff Young
f67a477f65
Pull some fixes from master.
2023-04-14 19:55:31 +01:00
Jeff Young
3573b97bfc
Save library when it's selected in lib tree.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14220
(cherry picked from commit 05185ec81a
)
2023-04-14 17:36:10 +01:00
jean-pierre charras
37a42a3fb7
ERC: set default setting ERCE_SIMULATION_MODEL to ignore
...
Most of projects do not manage spice settings.
From master branch
2023-04-14 17:29:42 +02:00
Jeff Young
2d13ddc70c
Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries.
2023-04-14 10:59:10 +01:00
Jeff Young
0be01f3c24
Don't steal an existing via's hole.
...
(cherry picked from commit 6fb30398ca
)
2023-04-14 10:09:03 +01:00
Jeff Young
eb492724c7
Further simplify PNS::ITEM::collideSimple().
...
Also brings text_pns_basic's mocks into line with their "real"
counterparts.
(cherry picked from commit 2f198bdcb2
)
2023-04-14 10:09:03 +01:00
Jeff Young
3b05d03220
Add PNS::ITEM::BoardItem() call.
...
About 1/3 of callers to Parent() don't care if they get the immediate
parent or not, about 1/3 want only the immediate parent, and about 1/3
want the hole parent's Parent().
I had earlier changed PNS::ITEM::HOLE to override Parent() and return
the hole parent's Parent(), but since the callers are pretty evenly
split I've reverted that and added BoardItem() for callers who want the
eventual BOARD_ITEM (whether a direct parent or a grandparent).
(Also removes a dead routine so I didn't have to figure out which of
the two it wanted....)
(cherry picked from commit 6f0d963683
)
2023-04-14 10:09:03 +01:00
Jeff Young
4c04233a20
Unify most special-case processing to the clearance if-then-else.
...
This also allows us to support hole-to-hole clearance when dragging
a via near another via on the same net.
Fixes https://gitlab.com/kicad/code/kicad/issues/12781
(cherry picked from commit 8a0c225efa
)
2023-04-14 00:10:48 +01:00
Jeff Young
2b6d2fc117
Don't return holes that have a parent pad or via.
...
(While we don't currently have holes without a parent pad or via, you
could imagine using HOLEs in the future to represent a hole in a first-class
board outline, so better not to build this assumption in.)
(cherry picked from commit b18bf09208
)
2023-04-14 00:10:43 +01:00