Jeff Young
76535d8572
Make LIB_ITEM::COMPARE_FLAGS really a flags field, and add ERC.
...
Before they were 1/2 treated as flags and 1/2 treated as a mode enum.
The ERC flag relaxes constraints on data that is settable in the
schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/11018
2022-03-03 13:27:18 +00:00
Jeff Young
b55bda8d6f
Font support for drawing sheet editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10306
2022-02-28 18:05:26 +00:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
83e5208213
Fix a couple of holes in the IsTestEnabled() checks.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7270
2021-11-04 16:24:06 +00:00
Jon Evans
4da0c897bc
Fix flagging power pin in ERC check
...
IsPowerConnection() is too restrictive a check
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8881
2021-08-21 11:19:09 -04:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
6d4c454e8c
Fix some more missing escaping for symbol ids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
Jeff Young
389287e942
A bit more Part -> Symbol.
2021-06-17 22:24:41 +01:00
Jeff Young
c0ad498c4a
Report all lib symbol issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7725
2021-06-17 22:24:41 +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
Wayne Stambaugh
ee3eac325d
Expunge the use of the word part from Eeschema code.
2021-06-15 08:32:11 -04:00
Wayne Stambaugh
fb46cd8bc5
Expunge the use of the word component from Eeschema code.
...
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Wayne Stambaugh
71c183d7bb
Rename LIB_PART to LIB_SYMBOL.
2021-06-14 07:11:17 -04:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
Wayne Stambaugh
2b86b34124
Eeschema: split out SCH_SHEET_PIN declarations into separate header.
2021-04-06 17:15:49 -04:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jeff Young
2e129d9b47
Naming conventions and other cleanup.
2021-03-19 23:06:19 +00:00
Wayne Stambaugh
7a00e01b3e
Eeschema: fix false positive library symbol changed ERC errors.
...
This fix required sorting all of the LIB_PART draw items to ensure
accurate comparison between the symbols stored in the schematic and the
original library symbols. This has a noticeable impact on symbol library
load performance. It may also cause significant changes the next time
the library is saved due to changes in the draw item sorting. Hashing
may be a better solution here but this addressed the immediate problem.
A skeleton method SCH_SCREEN::SwapSymbolLinks() was added because there
is most likely an issue with orphaned symbols in the schematic library
symbol cache during undo/redo operations. More testing is required to
verify this.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7263
2021-03-04 17:59:24 -05:00
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
2021-02-23 11:57:44 +00:00
Jeff Young
cad5198ab7
Worksheet -> (industry standard) Drawing Sheet.
2021-02-22 17:35:46 +00:00
Jeff Young
8464add58c
Use GetSchSymbolLibraryName() when looking up symbol in schematic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7301
2021-02-02 22:55:18 +00:00
Jon Evans
9f18fee124
Fix ERC for nets with power input and input pins
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7264
2021-01-24 22:17:56 -05:00
Jeff Young
0a1a5ea669
Fold annotation error reporting into ERC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6938
2021-01-24 23:01:24 +00:00
Jeff Young
360953ba98
"comp" -> "symbol".
2021-01-19 23:50:40 +00: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
Wayne Stambaugh
1eee72ec65
Fix library tree behavior when duplicate project table entry is disabled.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5438
2021-01-11 07:46:07 -05:00
Jeff Young
9bf952a695
Fix missing punctuation.
2020-12-21 17:37:53 +00:00
Jeff Young
5d400a9e11
Improve symbol library messages.
...
Includes both error messages and ERC messages.
Fixes https://gitlab.com/kicad/code/kicad/issues/6302
2020-12-18 12:49:20 +00:00
Jeff Young
6e6e0aa644
Naming conventions (including some 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
jean-pierre charras
2e92cc7958
ERC: use separate tests for input pins and power input pins.
...
Input pins can be driven by many pin types: output, passive, 3state, I/O
But Power pins can be driven by only power output pins, and cannot
use the same criteria in ERC tests.
2020-11-02 12:41:58 +01:00
Marek Roszko
c173ea14b7
Quiet MSVC warning about bool OR int
2020-10-24 00:50:37 -04:00
Jon Evans
50cff57b9a
Explicit bools for MS
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6146
2020-10-23 21:35:23 -04:00
Jon Evans
601a63b63a
Better prioritization for non-driven pin ERC
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1881
2020-10-21 21:47:00 -04:00
Jon Evans
af28634df1
Bring Pin Not Driven ERC to the new system
...
Also reword the error title to be a bit more clear
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5681
2020-10-21 21:35:09 -04:00
Wayne Stambaugh
8ff51d8899
Eeschema: add schematic sheet page number.
...
The groundwork has now been laid for per sheet instance data. Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.
ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
Jeff Young
d0ddc909dc
Handle hierarchical symbols when performing "lib symbol changed" check.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6002
2020-10-19 15:37:47 +01:00
Jeff Young
3100273db1
Don't invalidate itterator by adding markers inside loop.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6002
2020-10-19 15:32:59 +01:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -04:00
Wayne Stambaugh
5127d6c772
Eeschema: add ERC check for library symbol issues.
...
ADDED: ERC check for library symbols that have changed since they were
added to the schematic or have broken symbol library links.
2020-10-07 09:15:31 -04:00
jean-pierre charras
7865d8de43
more cleanup about removing useless include
2020-10-02 15:50:46 +02:00
Ian McInerney
89dcc46898
Coverity cleanup and remove unused variables
2020-09-20 02:20:41 +01:00
Jeff Young
5e9ec82642
Correctly resolve textVar refs in worksheet items in ERC.
...
Also fixes a null-ptr bug in DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/5506
2020-09-04 21:38:07 +01:00
Jeff Young
be15053745
Allow back-annotation of differing values and footprints.
...
Also fixes a couple of bugs where resolving a textVar reference
to the refDes or unit wouldn't get the correct value in a
hierarchical schematic. (Unlogged.)
Fixes https://gitlab.com/kicad/code/kicad/issues/5397
2020-09-04 15:21:56 +00:00
Jon Evans
a4d23fff12
Fix multi-unit pin check logic
...
Typo name vs. number
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5483
2020-09-03 17:30:13 -04:00
Jon Evans
38a4e4ad5a
Remove the last bits of the old netlist system
2020-08-30 16:30:04 -04: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
Ian McInerney
2f7094b352
Cleanup some unused variables
...
* Make the app progress indicator only have the indeterminate state
when the taskbar indicator is used (causes an uused variable warning
on wx<3.1)
* Remove unused dry run variable in pcb_netlist.h
* Remove unused forceDropAnnotations from the paste special dialog
since the dialog only controls keeping them.
2020-08-24 01:51:23 +01:00
Jeff Young
605ddce651
Make sure ERC has a current sheet to resolve text vars with.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5318
2020-08-24 00:49:08 +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
Tomasz Wlostowski
d937fadd6f
Migrate RC_ITEM to use shared_ptr
2020-08-13 14:50:59 +02:00
Jeff Young
e86fc64e7d
Check envvars as well before flagging as un-resolved.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4644
2020-08-01 00:24:26 +01:00
Jon Evans
84b02e51f1
Fix overly aggressive ERC check
...
It helps to only check for the pintypes I care about
2020-07-07 17:08:07 -04: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
jean-pierre charras
9e669db5b4
Eeschema: fix a name collision with a Windows header.
...
the member ERROR of the class PIN_ERROR was colliding: changed to PP_ERROR
2020-07-04 17:51:00 +02:00
Jon Evans
f725248fd8
Fix ERC pin checking logic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:51:20 -04:00
Jon Evans
b94e29e3b1
Persist ERC pin table in project settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2066
Also a partial fix for https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:11:42 -04:00
Jon Evans
12b4a55ae8
Port Eeschema to new project settings
...
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jeff Young
9f2be3714f
Add unresolved variable testing for worksheet items.
2020-05-28 17:36:22 +01:00
Jon Evans
d7bd4c9b04
Move Eeschema globals to new SCHEMATIC object
...
Set up a new lineage for SCH_ITEMS to get back to the SCHEMATIC
they live on: Items will all be parented to the SCH_SCREEN that
they are added to, and each SCH_SCREEN will point back to the
SCHEMATIC that it is part of. Note that this hierarchy is not
the same as the actual schematic hierarchy, which continues to
be managed through SCH_SHEETs and SCH_SHEET_PATHS.
2020-05-18 13:04:56 -04:00
Jeff Young
9d6b987ecc
Fixes to map pin-to-pin erorrs to new Warning/Error strucutre.
2020-05-01 18:49:42 +01: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
132d4d3ffa
Clean up compiler warning.
2020-03-30 14:15:59 +01:00
Jeff Young
41b5872f12
Add ERC & DRC checks for unresolved variables.
2020-03-30 14:15:59 +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
c699fb9e39
Move pin-to-pin errors to Setup Schematic.
2020-03-11 21:43:55 +00:00
Jeff Young
c68b554c8e
Promote PathsAndReferences from wxArrayString to first-class-citizen.
...
Keeping the data in an un-serialized format greatly simplifies usage,
and should make it more robust.
2020-02-24 23:19:17 +00:00
Jeff Young
129042f8a6
Convert timestamps to UUIDs.
2020-02-20 21:29:52 +00:00
Mark Roszko
70908043a3
Convert enums inside eeschema and the symbol editor to be scoped
...
Scope: NETLIST_ITEM, CONNECTION_TYPE, ELECTRICAL_PINTYPE,
NET_CONNECTION, NETLIST_ITEM, GRAPHIC_PINSHAPE
Note, the pin type enum had PT_ added to the front to prevent
shadowing of the INPUT symbol on msys2 (see discussion at
c17c9960d8
)
2020-01-18 20:51:28 +00:00
Seth Hillbrand
6e5e453d0d
Replace EESchema DLIST
...
This moves EESchema DLIST structures to rtree. These changes are more
fundamental than the pcbnew changes from 9163ac543
888c01d11
d1877d7c1
and 961b22d60
as eeschema operations were more dependent on passing
drawing list references around with SCH_ITEM* objects.
2020-01-10 06:37:08 -08:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
Jon Evans
78add8f4bd
Mark ERC compare operators as const
...
Not including these is a compile error on MSW/VC
2019-11-29 21:11:44 -05:00
jean-pierre charras
9b6e1cb1cd
Fix incorrect I18n string.
2019-08-12 12:52:49 +02:00
jean-pierre charras
3796b2fe7f
Fix minor compil warnings (signed/unsigned comparison)
2019-08-10 09:18:19 +02:00
Jeff Young
56bf72cc5d
OpenGL context must be saved/restored around a translation.
...
Also includes a bunch of code cleanup.
Fixes: lp:1838655
* https://bugs.launchpad.net/kicad/+bug/1838655
2019-08-07 19:25:03 +01:00
Seth Hillbrand
2e66d80af8
erc: Avoid casting between iterators
...
The iterator for containers should always match the container type.
Using auto here re-forces the match.
2019-08-06 15:28:26 -07:00
Jon Evans
df600fc1a2
Fix a few ERC issues with no-connects and power pins
...
Fixes: lp:1824359
* https://bugs.launchpad.net/kicad/+bug/1824359
2019-04-11 21:24:39 -04:00
Jeff Young
d8cc2f8280
More cleanup from non-reference return from GetText().
2019-04-03 19:35:25 +01:00
Jon Evans
83c7e7fc65
New connectivity algorithm and bus upgrades
...
Bus upgrades: core new connectivity code
Bus upgrades: eeschema integration and modifications
Bus upgrades: eeschema dialogs
Bus upgrades: netlist export
Bus upgrades: file format changes
2019-03-31 19:53:41 -04:00
Tomasz Wlostowski
90c7c60471
eeschema-gal: initial GALified version. Lots of stuff still to do!
2018-10-09 11:08:52 +01:00
Jeff Young
ef3e045a9b
Eradicate g_UserUnit from ERC/DRC.
...
(cherry picked from commit 98b8cd4)
2018-07-17 15:12:16 +01:00
Carsten Schoenert
a11714b1a4
fix misspelled 'an other' -> 'another'
2018-04-08 13:24:37 -04:00
Jeff Young
591a303777
Make ERC options dialog clearer.
...
Fixes: lp:1667600
* https://bugs.launchpad.net/kicad/+bug/1667600
2018-04-06 14:51:09 +01:00
jean-pierre charras
8022f1cc01
fix code after renamin files
2018-01-30 11:49:51 +01:00
jean-pierre charras
795a36c9fe
Fix code after renaming files, and a bit of code cleanup (remove useless includes and multiple includes of the same files)
2018-01-30 09:57:25 +01:00
jean-pierre charras
d54418c14a
Fix minor compil warnings
2018-01-26 09:35:22 +01:00
Maciej Suminski
8e18aea11d
New ERC rule verifying if all units of a component use the same footprint
2018-01-25 12:19:41 +01:00
Simon Richter
a9ccf1161b
Fix quotes in UI messages
...
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.
Sorry to all translators.
2017-12-15 07:33:07 -05:00
jean-pierre charras
945325d63a
Eeschema: fix incorrect display of pin number in ERC messages and marquers.
2017-11-21 18:39:59 +01:00
Wayne Stambaugh
92f5ab8589
Eeschema: SCH_SHEET_LIST improvements.
...
* Derive SCH_SHEET_LIST from std::vector rather than using internal array
management. Change all internal code to use iterators or array operator
in loops.
* Allow creation of empty SCH_SHEET_LIST for external population for plotting
and printing.
* Clean up print an plot code to take advantage of new SCH_SHEET_LIST behavior.
* Make BuildSheetList() public so list can be populated after creation.
* Update all instances of SCH_SHEET_LIST with the appropriate SCH_SHEET
object on initialization.
* Create const and non-const version of SCH_SHEET_PATH::GetSheet().
2016-03-06 16:22:01 -05:00
unknown
4b103baa3a
Enum refactoring and shiny icons in dialog_lib_edit_pin_table
2016-02-28 18:33:29 +01:00
jean-pierre charras
37c26cba71
Eeschema: Do not use ElectricPinType for SheetLabel items. ERC does not use ElectricPinType to test sheet labels, which do net have an actual electrical type property
...
Replace ElectricPinType by ELECTRICAL_PINTYPE as enum name to be compliant with coding style.
Enforce ELECTRICAL_PINTYPE control in methods.
2016-02-19 17:51:23 +01:00
Wayne Stambaugh
4007317606
Undo commit -r 6428.
2016-02-15 15:17:51 -05:00
Simon Wells
e5f3edf0f1
Eeschema: minor coding policy fix
2016-01-15 20:26:34 -05:00
Wayne Stambaugh
e8e0a75b8c
Eeschema: move update all screen references from SCH_SHEET_PATH to SCH_SHEET.
...
* Uncouple SCH_COMPONENT::GetRef() from SCH_SHEET_PATH and use SCH_SHEET
instead.
* Uncouple SCH_COMPONENT::GetUnitSelection() from SCH_SHEET_PATH and use
SCH_SHEET instead.
* Fix all calls to GetRef() and GetUnitSelection() to pass a pointer to the
appropriate SCH_SHEET object instead of an SCH_SHEET_PATH object.
2016-01-06 19:07:30 -05:00
jean-pierre charras
fcdbb7484c
fix Bug #152546 (Netlist not respecting case sensitivity for labels): the label matching is now case sensitive. To avoid issues with previous eeschema versions, add in ERC a dectection for "similar" labels (labels which differ only by a case sensitivity)
...
(this option can be disabled, and saved in project config)
2015-12-20 13:40:17 +01:00
unknown
b0241bacf0
Eeschema ERC now catches errors of unmatched global labels.
2015-08-31 13:09:47 +02:00