Jon Evans
3b46253056
Add profiling to SchematicCleanUp portion of connectivity calculations
2019-04-10 23:29:17 -04:00
Seth Hillbrand
8c9244e677
Revert "eeschema: Connectivity threading"
...
This reverts commit 1a031e771f
.
Some nets broken in commit.
2019-04-10 20:08:42 -07:00
Seth Hillbrand
e28c937a5c
Limit number of subgraph checks
...
Candidate subgraphs only need to be checked once, so start the iteration
from the next element in the driver vector
2019-04-10 16:40:24 -07:00
Seth Hillbrand
1c93b122f1
SCH_PIN: Guard the calculated map
...
Pins are used in threaded application so we need to keep the
precalculation map guarded
2019-04-10 15:29:00 -07:00
Seth Hillbrand
1a031e771f
eeschema: Connectivity threading
...
This threads the first step (update item) in the connectivity routine.
Also eliminates the duplicate call for multiple copies of the same
sheet.
2019-04-10 15:04:22 -07:00
Jeff Young
e90452d0e2
When checking for duplicate aliases look in the dialog not the symbol.
...
Fixes: lp:1821543
* https://bugs.launchpad.net/kicad/+bug/1821543
2019-04-10 21:21:00 +01:00
Jon Evans
105520b235
Fix neighbor detection candidate logic
2019-04-10 00:45:41 -04:00
Seth Hillbrand
a0981d06a7
Remove std:: aliasing
2019-04-09 21:16:05 -07:00
Seth Hillbrand
9ef442b3a3
eeschema connectivity - Adjust performance in init
...
This allow single init for map structures, improving first-run
performance.
2019-04-09 21:00:11 -07:00
Jon Evans
541c2fdb29
Performance: Move vector inside SCH_SHEET_PATH so hash can be cached
2019-04-09 21:09:48 -04:00
Seth Hillbrand
86d32fa34d
CONNECTION_GRAPH: Performance mods
...
Reduce loop count and pre-set the needed vectors. Also thread the
dangling ends calculation on a per-sheet basis.
2019-04-09 21:09:48 -04:00
Jeff Young
fe1c2310e4
Readjust Edit Symbol Properties when symbol references changes.
...
The new reference may contain different numbers of units and/or
different deMorgan conversion settings.
Fixes: lp:1822316
* https://bugs.launchpad.net/kicad/+bug/1822316
2019-04-09 17:06:27 +01:00
Wayne Stambaugh
3d33cba574
Eeschema: fix schematic text object plotting issue.
...
Save and restore text thickness in SCH_TEXT::Plot() function to prevent
the plotting default thickness value from stepping on the original text
thickness and causing all of the text objects to magically change to bold.
Fixes lp:1823165
https://bugs.launchpad.net/kicad/+bug/1823165
2019-04-09 10:14:32 -04:00
jean-pierre charras
59e6d3bf22
Ensure netlist is always up to date when creating a netlist.
...
A previous commit updated the netlist only on cross probing, that not covered all cases.
2019-04-09 10:36:39 +02:00
Seth Hillbrand
cf69cb5637
eeschema: Return CONNECTION when initing
2019-04-08 21:59:49 -04:00
Jon Evans
bf051b5c41
Cache InNetlist status for components
2019-04-08 21:54:41 -04:00
Jon Evans
94ba1bcb87
Update connection graph before sending netlist to pcbnew
...
Fixes: lp:1823449
* https://bugs.launchpad.net/kicad/+bug/1823449
2019-04-08 21:36:16 -04:00
Jeff Young
c78c3c8198
Allow no-connects to be dragged.
...
Fixes: lp:1821342
* https://bugs.launchpad.net/kicad/+bug/1821342
2019-04-09 00:34:26 +01:00
Jeff Young
d88df890ed
Fix merge issue between fetch netlist stuff and new connectivity graph.
2019-04-08 21:13:46 +01:00
jean-pierre charras
3b194d6993
Fix a collision name between lib_pin.cpp and a Windows header.
2019-04-08 17:10:55 +02:00
Jeff Young
77f15eeeaf
Support synchronous messaging over KIWAY EXPRESS.
...
This allows us to make the various netlist and pcb update routines
more atomic and less reliant on carefully sequenced asynchronous
messages.
This is also a prelude to adding support for footprint testing
without a netlist.
2019-04-08 13:26:09 +01:00
Jeff Young
b6c0aeb608
Move cut/copy/paste part (in libedit tree) to real clipboard.
...
Fixes: lp:1821547
* https://bugs.launchpad.net/kicad/+bug/1821547
2019-04-08 11:21:58 +01:00
Jon Evans
bd487d2c25
Rework logic for linking local subgraphs together
2019-04-07 23:54:47 -04:00
Jon Evans
2162b53d72
Allow selecting more items for highlighting
2019-04-07 23:54:47 -04:00
Jon Evans
c07de84c05
Suppress false ERC warnings for invisible power pins
2019-04-07 23:54:47 -04:00
Jeff Young
684bb62fd8
Escape slashes in labels and netnames.
...
Also re-allows spaces, as they can already come in through sheet
names.
Fixes: lp:1798621
* https://bugs.launchpad.net/kicad/+bug/1798621
2019-04-07 00:24:10 +01:00
Wayne Stambaugh
615c49315f
Minor symbol library rescue dialog fixes.
...
Adjust the sizer proportions slightly to eliminate the reported bug.
This may not be the ideal way to do this and there could be some issues
on other platforms but it does resolve the issue on gtk3.
Fixes lp:1820084
https://bugs.launchpad.net/kicad/+bug/1820084
2019-04-06 08:15:44 -04:00
Jeff Young
d928aa9780
Infer pin properties from last pin and default pin pitch.
...
Fixes: lp:1822183
* https://bugs.launchpad.net/kicad/+bug/1822183
2019-04-05 18:52:51 +01:00
Jeff Young
ea43866563
Move legacy netlist read/write to import/export.
...
Fixes: lp:1610529
* https://bugs.launchpad.net/kicad/+bug/1610529
2019-04-05 16:11:15 +01:00
Jeff Young
2aad4a5e57
Remove dead code from removal of eeschema legacy canvas.
2019-04-05 15:54:31 +01:00
Jeff Young
30f7d6a2c1
Clean up some translation issues.
...
(As in coordinate translation, not I18N.)
2019-04-05 11:42:45 +01:00
Wayne Stambaugh
ee14da3093
Minor schematic formatter fix.
...
Apparently at some point in KiCad's development, a '~' character was
prefixed to the symbol name to indicate that it was not visible. The
visibility state is now saved in the name field so remove the prefix.
The parser was kept unchanged.
Fixes lp:1632048
https://bugs.launchpad.net/kicad/+bug/1632048
2019-04-04 10:43:04 -04:00
Jeff Young
3a1b412fbf
Use a bigger hammer when refreshing fields in table.
...
Fixes: lp:1823050
* https://bugs.launchpad.net/kicad/+bug/1823050
2019-04-04 12:26:29 +01:00
Jeff Young
95635804bf
Replace pin mark/sweep with method that doesn't invalidate iterators.
...
Also removes some no-longer-used drawing code (the Draw() routines
are only used for printing with the modern eeschema canvas in place).
2019-04-04 12:08:33 +01:00
Jon Evans
ec2c571abb
Fix merging of subgraphs with multiple labels
2019-04-03 23:15:45 -04:00
Jon Evans
ff8b7cc6c1
Fix SCH_PIN location calculation
2019-04-03 23:15:22 -04:00
Jon Evans
99e57724e6
Hierarchical ports count as strong drivers
2019-04-03 22:58:14 -04:00
Jon Evans
5a0944e9a0
Don't de-conflict subgraphs across sheets
2019-04-03 22:58:14 -04:00
Jon Evans
d5990100e1
Promote locally-labeled nets to global when tied to global buses
...
Fixes: lp:1822964
* https://bugs.launchpad.net/kicad/+bug/1822964
2019-04-03 22:58:14 -04:00
Jon Evans
591894c7e6
Properly construct new line from old
...
Fixes: lp:1823072
* https://bugs.launchpad.net/kicad/+bug/1823072
2019-04-03 16:26:43 -04:00
Jeff Young
d8cc2f8280
More cleanup from non-reference return from GetText().
2019-04-03 19:35:25 +01:00
Jeff Young
5ac96c6127
More mutex locking for SCH_FIELDs.
...
Fixes: lp:1822678
* https://bugs.launchpad.net/kicad/+bug/1822678
2019-04-03 17:04:59 +01:00
Jeff Young
3ace73fbdd
Fold various SCH pin shadow data structures into SCH_PIN.
2019-04-03 10:18:11 +01:00
Jeff Young
52246121b9
Add pins to net highlighting.
...
Fixes: lp:1763873
* https://bugs.launchpad.net/kicad/+bug/1763873
2019-04-03 10:18:11 +01:00
Jon Evans
8a9b82c2a2
Switch CONNECTION_GRAPH to wxLogTrace
2019-04-02 22:58:11 -04:00
Jon Evans
b11f9fc873
Performance: don't construct temporary SCH_LINEs in MergeOverlap()
2019-04-02 22:46:22 -04:00
Jon Evans
948a61711d
Add thread-safety to SCH_FIELD::IsVoid()
...
Fixes: lp:1822678
* https://bugs.launchpad.net/kicad/+bug/1822678
2019-04-02 19:56:53 -04:00
John Beard
4eb30f6b85
QA: Enable eeschema tests
...
Redesignate the eagle test as eeschema tests and build
more like the other unit tests.
Enable as a test in Ctest now that the test executes without
crashing.
The loading of the file with the hardocded part is still
not enabled, as this needs more infrastructure to support it.
2019-04-02 18:26:33 +01:00
John Beard
6f1c3f5ef8
Eeschema: construct simulator cursors on demand
...
Statically constructing wxCursors as used for the probe
and tune cursors crashes the qa_eagle_plugin test
instantly.
Fix this by introducing a new class CURSOR_STORE,
which allows to abstract the platform wierdness of wxCursors
and allow the simulator to laziliy init its own cursors
at runtime.
This code isn't properly tested, as these cursors are never
actually used. However, it does allow the eeschema unit test
to run.
Fixes: lp:1781191
* https://bugs.launchpad.net/kicad/+bug/1781191
2019-04-02 18:26:33 +01:00
Michael Kavanagh
b0674b8802
Add Ctrl+, hotkey to preferences dialog
...
Also change interactive router settings from Ctrl+, to Ctrl+Shift+,
2019-04-02 12:57:27 -04:00