Jon Evans
d951ac5bfe
Fix logic issue with sheet pin ERC
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7592
2021-02-18 12:10:59 -05:00
Jon Evans
212c67c365
Fix bus<>net conflict ERC not checking local labels
2021-02-14 21:35:29 -05:00
Jon Evans
07e1ae1b56
Fix logic of global label ERC check
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7392
2021-02-13 10:29:31 -05:00
Jon Evans
dbd749c07a
ERC warn if hierarchical labels have no matching sheet pin
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7511
2021-02-13 10:24:22 -05:00
Jon Evans
7015f4cf75
Use full names for bus membership ERC checking
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7522
2021-02-13 10:09:16 -05:00
Jon Evans
73ea0fc15e
Always upgrade to a stronger driver even if the path is longer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7492
2021-02-11 17:25:14 -05:00
Jon Evans
8e9b457887
Make sure sheet pin connections get reset every time
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7499
2021-02-11 17:25:14 -05:00
Jeff Young
0ba0160da9
Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT.
...
ADDED a new pin electrical type "free" for internally unconnected pins.
CHANGED the "unconnected" pin electrical type is now represented by
"no_connect" in files and netlists. (The legacy syntax is also accepted
in files.)
2021-01-23 00:10:01 +00:00
Jeff Young
274fc60fe9
Formatting.
2021-01-23 00:10:01 +00:00
Jon Evans
6cd4fcf30c
Don't pick a name with a longer path to override with
...
Only triggered on some platforms because of compiler-dependent
unordered_set iteration
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7169
2021-01-18 21:50:26 -05:00
Jeff Young
95ca5a0233
Don't record null drivers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7155
2021-01-17 16:24:22 +00:00
Jeff Young
f3a6d2655e
Improvements to ERC and bus parsing.
...
1) Add some nullptr safety to ERC.
2) Allow unconnected flagging on bus/wire entries.
3) Allow commas in bus group definitions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7155
2021-01-17 16:24:22 +00:00
Jon Evans
02681fcf0e
Move no-connect processing to connection graph
...
This way the net names can be inspected in eeschema and cross-probing works.
Testcases updated for the name changes
CHANGED: all unconnected pins are now included in the netlist with no_connect_ prefixes
2021-01-14 20:55:49 -05:00
Jon Evans
9b69c1e198
Fix a bone-headed cause of non-determinism
2021-01-14 19:20:37 -05:00
Jon Evans
654e9a77db
Connectivity: defer and parallelize item updates
...
Good for ~15% performance improvement in large designs
2021-01-14 12:21:19 -05:00
Jon Evans
6fb1ed2824
Make sure hierarchical overrides are deterministic
...
Without alphabetic sorting here, we are at the mercy of
the r-tree and multithreading.
2021-01-14 12:21:19 -05:00
Jon Evans
b90e72ed07
Don't simplify hierarchical nets based on weak drivers
...
This behavior provided shorter net names, but was confusing if
the user gives an explicit strong driver in the subsheet but not
one in the parent sheet.
Testcases updated for net name changes; connectivity is the same
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4201
2021-01-13 22:10:56 -05:00
Jon Evans
24ff66f5a2
ERC: flag unconnected sheet pins
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1780
2021-01-13 19:47:28 -05:00
Jon Evans
693e40b5b0
Exclude buses from dangling label checks
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7017
2021-01-13 19:37:05 -05:00
Jon Evans
ede500f117
Don't create multiple markers for the same issue
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7016
2021-01-12 23:24:13 -05:00
Jon Evans
5ceadbda3b
Don't show redundant ERC markers from subsheets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7016
2021-01-12 23:24:13 -05:00
Jeff Young
c3d46c1cb5
Add ncPins to the list of no_connect_ nets.
...
This allows the info to be acted upon in PCBNew (for instance, clearance
rules).
Fixes https://gitlab.com/kicad/code/kicad/issues/6991
2021-01-07 21:56:04 +00:00
Jon Evans
487aa37d2e
Connectivity: don't rename things multiple times in subsheets
...
Depending on what order the subgraphs are processed in, it's
possible to hit a case where the parent sheet renames a bus
member before the bus neighbor renaming logic runs. In this
case, we don't want to apply the bus neighbor logic as it will
break connectivity to the parent sheet if that bus was not
also renamed (for example, if the hier ports only make net
connections and not bus connections)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6887
2020-12-29 16:42:30 -05:00
Jon Evans
e33a331095
Don't ERC check absorbed subgraphs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6861
2020-12-27 15:31:48 -05:00
Jeff Young
3d852372ca
Handle nested unescaping (for buses in particular).
...
Also adds a few missing unescape() calls when showing netnames to the
user.
Fixes https://gitlab.com/kicad/code/kicad/issues/6400
2020-12-20 15:59:09 +00:00
Seth Hillbrand
7b9c21e290
Not connected pins should not get connected
...
This prevents splitting wires/busses on the NC pin end. It also keeps
NC pins out of the netlist.
Fixes https://gitlab.com/kicad/code/kicad/issues/6777
2020-12-17 11:56:42 -08:00
Jon Evans
6544dca056
Ensure driver connections are always properly initialized
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6694
2020-12-12 10:43:30 -05:00
Jeff Young
ad281f7538
Remove duplicated TestDanglingEnds routines.
...
Also adds a changedItemHandler so that the single remaining version
can update the view.
Fixes https://gitlab.com/kicad/code/kicad/issues/6581
2020-12-06 21:24:16 +00:00
Jeff Young
c85ef8eb69
Make updating netnames in backannotate more discrete.
...
Trying to be too smart was producing unexpected results.
Fixes https://gitlab.com/kicad/code/kicad/issues/6480
2020-11-25 22:16:56 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
44850e9409
Fix nullptr crash.
2020-11-24 14:13:03 +00:00
Jeff Young
c94001839b
Minor performance improvements to connection graph.
2020-11-23 19:47:55 +00:00
jean-pierre charras
94a358c592
fix 2 compil issues
2020-11-17 19:32:20 +01:00
Jeff Young
6654c03041
Embarking on the next adventure: component -> symbol.
2020-11-15 20:23:15 +00:00
jean-pierre charras
79dd6e6476
Eeschema, ERC: fix missing call to subgraph->ResolveDrivers() when test driver
...
conflicts (more than one name for a net) is disabled.
This missing call was creating issues in tests that need a full connection
calculation, especially ercCheckFloatingWires()
2020-11-10 11:30:30 +01:00
Jeff Young
7c505da368
Make sure ERC tests honour the severity settings.
...
(And in particular, IGNORE.)
Fixes https://gitlab.com/kicad/code/kicad/issues/6178
2020-11-01 17:38:24 +00:00
Jon Evans
31d502735c
Better messages for bus entry conflict ERC
2020-10-27 22:05:35 -04:00
Jon Evans
2edd246f36
Use explicit message for multiple drivers ERC
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3980
2020-10-25 18:30:22 -04:00
Jon Evans
ee08a3488f
Fix missing driver conflict ERC
2020-10-25 18:13:03 -04:00
Jon Evans
7d09681f9e
Improve reporting on NC and global label ERCs
2020-10-21 22:14:04 -04:00
Jeff Young
16d5f95981
Meet irreflexive requirements of std::sort
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6053
2020-10-18 21:03:01 +01:00
Jeff Young
81e1bc9df0
Keep track of driver changes so the view can be updated.
...
Also make renaming of nets a bit more stable.
Fixes https://gitlab.com/kicad/code/kicad/issues/6018
2020-10-17 20:40:05 +01:00
Marek Roszko
5302f7ce73
Remove kicad_string.h from eda_text.h
2020-10-14 19:18:38 -04:00
Jon Evans
61f731aa1d
Fix disambiguation for vector buses with different ranges
...
Previously disambiguation was looking for exact matches,
but vector buses are permitted to have different ranges and
still participate in merging, so they need to be disambiguated.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5925
2020-10-08 22:26:24 -04:00
Jon Evans
8f4fba4c67
Don't deallocate absorbed SGs anymore
...
Now there is some code depending on access to them
outside the context of connectivity calculation...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5928
2020-10-08 21:24:35 -04:00
Jeff Young
4565631728
Finish moving eeschema assigned netclasses to sheet-path-relative.
...
Also adds code for the case where a new label is created on a net
with an existing netclass assignment.
Fixes https://gitlab.com/kicad/code/kicad/issues/5886
2020-10-07 16:31:55 +01:00
Jon Evans
bdb18022c0
Flag all dangling labels, not just isolated ones
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1788
2020-10-04 17:13:42 -04:00
Seth Hillbrand
02a5d47de9
Avoid passing references in EESchema
...
This returns the connection list by value. This allows easier Python
use
Also renames m_End() to GetEnd()
2020-09-08 06:29:27 -07:00
Jon Evans
be0aad5984
Move similar labels check to new connectivity engine
2020-08-30 15:43:16 -04:00
Jon Evans
48d7c46a53
Move pin table checks to new connectivity system
2020-08-30 15:43:16 -04:00