Seth Hillbrand
16479277cc
Catch connection errors when stacked pins have NC flags
...
Don't flag the error as having a connected net with an NC flag. Stacked
pins are not connected in that sense, so are allowed an NC flag
2022-09-09 17:21:57 -07:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Marek Roszko
e0f28fc4e1
Replace wxFindReplaceData with our own container
...
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
jean-pierre charras
b5c83ffd95
Eeschema, slash in power pin name: better fix than commit ba7a06f5
.
...
ba7a06f5
tried to fix a (minor) issue in net names when the name was coming
from a input power pin having a '/' in name. But ba7a06f5
blindly escaped any '/'
in net name, and the hierarchy info was lost.
Now only the pin name is escaped (like any other pin name used in net names)
2022-08-10 11:00:19 +02: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
Alex
c6d9dcdad5
Schematic editor: allow box-selecting pins.
2022-07-18 18:51:52 +00:00
Jeff Young
45ab15dc95
Use unit references in status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11854
2022-06-19 12:54:30 +01:00
jean-pierre charras
50b68df666
Eeschema, SCH_PIN: fix incorrect initialization of m_layer member (now is LAYER_PIN)
...
m_layer was not re-initialized in CTOR, so it was the default value (LAYER_WIRE)
This is incorrect for a pin, and can create errors in some functions (like IsType() )
Fixes #1818
https://gitlab.com/kicad/code/kicad/issues/1818
2022-06-17 11:01:49 +02:00
Jeff Young
6114a5d72c
Escape pin names when used as netnames.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11687
2022-05-26 23:54:55 +01:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
e48d4a653a
Pick better auto-generated netnames.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4312
2021-12-24 18:13:16 +00:00
Jeff Young
8b52e969d6
Restore units to a bunch of wxGrids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10063
2021-12-23 16:54:03 +00:00
Jeff Young
2e342ed8c9
Draw dangling symbols on a separate layer.
...
This allows us to draw them in front of wires, pins, and most
importantly, junction dots.
Fixes https://gitlab.com/kicad/code/kicad/issues/9667
2021-12-06 18:50:50 +00:00
Mikolaj Wielgus
71bfbfaa70
Test SCH_PIN rotation and mirroring
2021-11-28 19:37:13 +01:00
Jeff Young
7fc04c3cf2
Fixes for realtime connectivity being off.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-24 13:20:44 +00:00
Jeff Young
f73042fe24
Some minor performance enhancements.
2021-09-28 14:28:35 +01:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young
a5c4bace60
Improve (and simplify) wire and pin hit-testing.
...
1) Expand the accuracy to at least the grid spacing
2) Move pin-selects-symbol logic to Selectable()
3) Recode pick-closest algorithm to handle exactHits and inexactHits
separately
4) Remove pin target from bounding box in favour of expanding it to
at least as wide as the pin decoration (this prevents the accuracy
off the end of the pin from growing too large)
2021-09-19 11:34:43 +01:00
Jeff Young
24e54178db
Make sure pin hittest regions don't get too hard to hit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8616
2021-07-01 15:43:19 +01:00
Jeff Young
0484ca5564
Separate LIB_PIN and SCH_PIN GetShownName/Number processing.
...
SCH_PIN wasn't handling the legacy empty string token (~), but
more importantly this will allow text variable resolution specific
to the schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/8625
2021-06-17 10:52:46 +01:00
Jeff Young
bcdec0dea7
Move '~' pin name processing to LIB_PIN and SCH_PIN.
...
This will also allow us to do variable processing in the future if
desired.
2021-06-12 19:54:34 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
Wayne Stambaugh
1786ae8773
Eeschema: use symbol nomenclature for object file naming.
2021-02-24 08:48:02 -05:00
jean-pierre charras
658a5cf7ed
SCH_PIN::GetMsgPanelInfo(): fix missing initialization of Pin Number string
...
The displayed string was a old value, not related to the Pin Nummber
Fixes #7414
https://gitlab.com/kicad/code/kicad/issues/7414
2021-02-04 11:14:46 +01: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
10c6e0bc46
Cache entries are dependant on setting of aForceNoConnect
...
Don't use a result cached when aForceNoConnect was false when
aForceNoConnect is true.
2021-01-23 00:10:01 +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
Dominik Wernberger
ec0af24f13
Make wxFindReplaceData argument const
2021-01-12 20:51:31 +00:00
Jeff Young
c1d1c12b41
Simplify message panel code.
...
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
Jeff Young
c89676e39d
Require client to specify whether they want resolved values or not.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6408
2020-11-17 21:36:48 +00:00
Jeff Young
b227d2b910
More component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
6654c03041
Embarking on the next adventure: component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
a6d4ce2a5c
Finish impl of alternate pins.
...
It appears this got shelved while waiting for the sexpr format to be
firmed up, and then I forgot about it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6189
2020-10-28 13:01:42 +00: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
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Jeff Young
7b05e456cc
Bug fixes for multiple symbol instances in complex hierarchies
...
1) use SCH_COMPONENT::GetRef(), GetValue() and GetFootprint() when
instance-specific info is needed
2) update UpdateAllScreenReferences() to handle value and footprint.
3) BACKANNO is CvPcb's handler, not back annotation's handler. Which
means it needs GUI behaviour, not back annotation behaviour.
Fixes https://gitlab.com/kicad/code/kicad/issues/5520
2020-09-06 13:57:14 +01:00
Jeff Young
1ea08f27f8
Keep local number up-to-date so we don't have to look at libPin's.
...
The libPin, in particuar, may have been freed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5399
2020-08-31 20:09:47 +01:00
Ian McInerney
750b186582
Return the type and shape for alternate pins
...
These return statements were missing from the original implementation,
so the alternate style was never being returned.
2020-08-24 01:18:46 +01:00
Jeff Young
97c34e2516
ADDED alternate pin definitions and assignments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2002
2020-08-21 18:29:36 +01:00
Seth Hillbrand
275e810573
eeschema: Use recursive mutex for SCH_PIN
...
We need to be able to lock individual actions while keeping the code
modular. The recursive mutex keeps this thread-local.
Fixes https://gitlab.com/kicad/code/kicad/issues/5186
2020-08-14 18:42:11 -07:00
Jeff Young
2b0b7a5153
Clear pin net-name-driving cache when changing annotation.
...
Also update connectivity after clear annotation, annotate or back
annotate.
Also update status bar for highlighted nets.
Fixes https://gitlab.com/kicad/code/kicad/issues/5170
2020-08-14 12:41:20 +01:00
Jeff Young
dcd02539e3
Remove linked-pin processing from LIB_PIN's setters.
...
It belongs in the tool layer (specifically LIB_PIN_TOOL).
2020-08-03 22:21:35 +01:00
Jon Evans
d8be5f9ecf
Don't allow pins with NC electrical type to join other nets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1826
2020-07-06 20:27:38 -04:00
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
...
modified: eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jeff Young
cee973dc04
Move ERC error reporting over to the new framework.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-16 11:06:15 +00:00
Jeff Young
129042f8a6
Convert timestamps to UUIDs.
2020-02-20 21:29:52 +00:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
Jeff Young
f21e24cd17
Fix pin rotatation and SPICE current probe statement for 2-pin symbols
...
Fixes: lp:1843159
* https://bugs.launchpad.net/kicad/+bug/1843159
2019-09-08 22:54:49 +01:00
Jeff Young
0a01277808
Fix issues with schematic find/change.
...
Fixes: lp:1831006
* https://bugs.launchpad.net/kicad/+bug/1831006
2019-05-31 21:54:22 +01:00
Jon Evans
9d56102210
Prevent unannotated components from driving connectivity
...
Fixes: lp:1829301
* https://bugs.launchpad.net/kicad/+bug/1829301
2019-05-19 11:40:24 -04:00
Jeff Young
11ec7d4651
Invert the Y axis of SCH_PIN coords when hit-testing.
...
Fixes: lp:1827849
* https://bugs.launchpad.net/kicad/+bug/1827849
2019-05-07 12:04:19 +01:00
Jeff Young
fd546da640
Homogenize hit testing and selection return types.
...
Prep work for sharing SCH_SELECTION_TOOL with LibEdit.
2019-05-05 17:14:30 +01:00
Jeff Young
f200c61897
Start transitioning block operations to modern toolset.
2019-05-05 17:12:59 +01:00
Jeff Young
c994961ebf
Fix for SCH_PIN operator= from Simon Richter.
2019-04-23 00:27:59 +01:00
Jeff Young
5e2cf51309
Improve robustness of SCH_PIN storage architecture.
...
In particular, allow short-term storage of pointers to SCH_PINs.
2019-04-22 11:19:43 +01:00
jean-pierre charras
2529346940
Some fixes for I18N. Mainly do not translate debug messages or strings giving only a print format (like "%d").
2019-04-13 10:12:24 +02: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
Jon Evans
ff8b7cc6c1
Fix SCH_PIN location calculation
2019-04-03 23:15:22 -04:00
Jeff Young
3ace73fbdd
Fold various SCH pin shadow data structures into SCH_PIN.
2019-04-03 10:18:11 +01:00