kicad/eeschema
JamesJCode fef3274e8e Eeschema: ERC checks handle connections between a common sub-circuit
Fixes #10926

Contains the following changes:

    - Adds a new ERC_SCH_PIN_CONTEXT class which is used to provide deterministic
      comparison between items causing ERC violations (e.g. pins) when associated
      with a SCH_SHEET_PATH context.

    - Adds association of SCH_SHEET_PATHs for ERC_ITEMs and the sub-schematic items
      which caused an ERC violation. This allows correct display of markers on the
      sheets of interest only, and allows correct naming resolution and cross-probing
      from the ERC dialog.

    - Adds a new ERC_TREE_MODEL class, derived from RC_TREE_MODEL, which correctly
      resolves component references across heirarchical sheets using the associated
      SCH_SHEET_PATHs. This allows sheet-specific component references to be displayed
      correctly in the ERC results tree.

    - Updates SCH_MARKER to only draw sheet-specific markers on the sheet causing
      an ERC violation.

    - Increments the schematic file version.

    - When loading a schematic with legacy ERC exclusions, discards those of type
      ERCE_PIN_TO_PIN_WARNING, ERCE_PIN_TO_PIN_ERROR, ERCE_HIERACHICAL_LABEL, and
      ERCE_DIFFERENT_UNIT_NET as there is no safe way to automatically infer the
      information which is now stored with these exclusions (sheet paths for error
      location and related items). Requiring users to (once) re-add exclusions is
      preferable to silently incorrectly matching new ERC issues to legacy exclusions.
2023-01-24 14:11:01 +00:00
..
dialogs Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
navlib Cleanup spacemouse plugin 2022-04-01 15:14:41 -07:00
netlist_exporters Finish implementation of export_current_sheet_as_root. 2023-01-24 00:07:40 +00:00
plugins Add DNP columns/grouping info to BOM script headers 2023-01-11 20:42:44 +00:00
sch_plugins wxS more things 2023-01-22 09:41:42 -05:00
sim More safety for array access. 2023-01-24 00:07:40 +00:00
symbol_editor wxS more things 2023-01-22 09:41:42 -05:00
tools Eeschema, eeschema_config.cpp: fix incorrect *.wks file path when trying to save it. 2023-01-22 13:17:05 +01:00
widgets Don't run simulation while dragging tuning slider. 2022-12-26 10:51:30 +00:00
CMakeLists.txt Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
annotate.cpp Annotation: don't select hover item 2023-01-23 16:50:45 -05:00
autoplace_fields.cpp More wxSing 2023-01-16 23:14:38 -05:00
bom_plugins.cpp More wxSing 2023-01-16 23:14:38 -05:00
bom_plugins.h
bus-wire-junction.cpp Extract SCH_LINE::BreakAt( aP ) from SCH_EDIT_FRAME::BreakSegment 2023-01-15 19:17:40 +01:00
bus_alias.h Coverity fixes. 2022-08-22 17:52:58 +01:00
cmp_library.keywords
connection_graph.cpp Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
connection_graph.h Force realtime connectivity on 2023-01-20 15:17:57 -08:00
cross-probing.cpp Force realtime connectivity on 2023-01-20 15:17:57 -08:00
default_values.h Schematic Lines: add marker for unselected, connected line ends 2022-12-12 14:45:06 -05:00
ee_collectors.cpp Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
ee_collectors.h Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
eeschema.cpp More wxSing 2023-01-16 23:14:38 -05:00
eeschema.icns
eeschema_config.cpp Eeschema, eeschema_config.cpp: fix incorrect *.wks file path when trying to save it. 2023-01-22 13:17:05 +01:00
eeschema_doc.icns
eeschema_helpers.cpp Remove version guard from sim migration, and add migration to paste. 2022-12-08 23:57:42 +00:00
eeschema_helpers.h Add schematic cli plotting 2022-11-01 23:34:49 -04:00
eeschema_id.h Add pinned library support to Footprint and Symbol Viewers. 2022-07-09 17:41:10 -06:00
eeschema_jobs_handler.cpp Fix worksheets not loading in cli 2023-01-19 23:47:41 -05:00
eeschema_jobs_handler.h Add cli export of symbols from kicad libraries 2022-12-12 22:44:26 -05:00
eeschema_settings.cpp More wxSing 2023-01-16 23:14:38 -05:00
eeschema_settings.h Remember dialog sizes for dialogs that might have lots of fields. 2022-12-24 22:20:03 +00:00
erc.cpp Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
erc.h ADDED: ERC for missing units 2022-11-29 23:49:55 +00:00
erc_item.cpp Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
erc_item.h Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
erc_sch_pin_context.cpp Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
erc_sch_pin_context.h Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
erc_settings.cpp Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
erc_settings.h ADDED: ERC for missing units 2022-11-29 23:49:55 +00:00
fields_grid_table.cpp More wxSing 2023-01-16 23:14:38 -05:00
fields_grid_table.h Add new properties to fields grid table 2022-11-09 21:43:37 -05:00
files-io.cpp wxS more things 2023-01-22 09:41:42 -05:00
general.h
generate_alias_info.cpp More wxSing 2023-01-16 23:14:38 -05:00
generate_alias_info.h
invoke_sch_dialog.h Rename files and classes to match dialog name. 2022-12-11 18:42:57 +00:00
lib_field.cpp More wxSing 2023-01-16 23:14:38 -05:00
lib_field.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
lib_item.cpp ADDED: Support for explicit DNP field 2022-09-16 22:26:16 +00:00
lib_item.h ADDED: Support for explicit DNP field 2022-09-16 22:26:16 +00:00
lib_pin.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
lib_pin.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
lib_shape.cpp Fix copy-paste error 2023-01-11 20:37:42 -08:00
lib_shape.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
lib_symbol.cpp Avoid the obsolete GetNextPin() call 2023-01-20 14:12:15 -08:00
lib_symbol.h Avoid the obsolete GetNextPin() call 2023-01-20 14:12:15 -08:00
lib_text.cpp Fix LIB_TEXT plotting alignment 2023-01-23 12:23:14 -08:00
lib_text.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
lib_textbox.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
lib_textbox.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
libarch.cpp More wxSing 2023-01-16 23:14:38 -05:00
menubar.cpp Schematic editor: move Update Schematic from PCB to the bottom 2023-01-16 17:18:21 +00:00
picksymbol.cpp Move saving preferences out of the destructor. 2022-11-14 20:01:37 +00:00
pin_numbers.cpp More wxSing 2023-01-16 23:14:38 -05:00
pin_numbers.h Fix broken comparison in pin_numbers 2022-04-19 14:46:05 -07:00
pin_type.cpp On-the-fly translations for pin electrical types. 2022-04-05 13:57:28 +01:00
pin_type.h
project_rescue.cpp Fix library symbol rescue issues. 2023-01-21 10:35:14 -05:00
project_rescue.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
project_sch_specific.cpp Code clarity. 2022-10-11 11:22:26 +01:00
sch_base_frame.cpp Move multiple wxMessageBox to DisplayErrorMessage 2023-01-18 16:54:01 -08:00
sch_base_frame.h Push autosave-require down in to EDA_BASE_FRAME. 2022-10-10 14:03:52 +01:00
sch_bitmap.cpp Bitmaps: respect source DPI 2023-01-17 11:20:17 -05:00
sch_bitmap.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_bus_entry.cpp More wxSing 2023-01-16 23:14:38 -05:00
sch_bus_entry.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_connection.cpp Force realtime connectivity on 2023-01-20 15:17:57 -08:00
sch_connection.h Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
sch_draw_panel.cpp Cleanup. 2021-12-23 20:36:18 +00:00
sch_draw_panel.h RIP EDA_RECT. 2022-08-31 23:57:24 +01:00
sch_edit_frame.cpp Refresh schematic's copy of template fieldnames after preferences. 2023-01-24 00:07:40 +00:00
sch_edit_frame.h Move FixupJunctions to SCHEMATIC 2023-01-15 19:17:50 +01:00
sch_field.cpp SCH_FIELD: fix issue when try to clear its color from a previous color, 2023-01-23 10:22:42 +01:00
sch_field.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_file_versions.h Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
sch_io_mgr.cpp ADDED: Database libraries MVP 2022-08-26 10:51:13 -04:00
sch_io_mgr.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
sch_item.cpp Move hypertext linking to user-page-numbers. 2022-08-27 19:17:43 +01:00
sch_item.h Allow printing backgrounds prior to foreground 2022-10-02 13:23:54 -07:00
sch_junction.cpp More wxSing 2023-01-16 23:14:38 -05:00
sch_junction.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_label.cpp Simplify and regularize text variable substitution architecture. 2023-01-17 17:05:41 +00:00
sch_label.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_line.cpp Extract SCH_LINE::BreakAt( aP ) from SCH_EDIT_FRAME::BreakSegment 2023-01-15 19:17:40 +01:00
sch_line.h Extract SCH_LINE::BreakAt( aP ) from SCH_EDIT_FRAME::BreakSegment 2023-01-15 19:17:40 +01:00
sch_marker.cpp Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
sch_marker.h Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
sch_no_connect.cpp Strip out Mils2Iu 2022-09-16 21:09:27 -04:00
sch_no_connect.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_painter.cpp Simplify and regularize text variable substitution architecture. 2023-01-17 17:05:41 +00:00
sch_painter.h Schematic Lines: add marker for unselected, connected line ends 2022-12-12 14:45:06 -05:00
sch_pin.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_pin.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_plotter.cpp Eeschema plot: fix some (minor) issues with page size option set to a fixed page-size 2022-12-04 16:55:20 +01:00
sch_plotter.h Minor compil and Coverity warnings fixes. 2023-01-02 10:21:42 +01:00
sch_plugin.cpp Templatize MigrateSimModel() so it can be used on LIB_SYMBOLs as well. 2022-12-08 23:57:43 +00:00
sch_preview_panel.cpp Strip out Mils2Iu 2022-09-16 21:09:27 -04:00
sch_preview_panel.h Don't paint hidden fields without a schematic context 2022-08-20 17:56:53 -04:00
sch_reference_list.cpp Rename file component_reference_lister.cpp to sch_reference_list.cpp. 2023-01-04 16:31:17 -05:00
sch_reference_list.h Don't special case power symbol re-annotation 2023-01-23 13:19:01 -08:00
sch_rtree.h RIP EDA_RECT. 2022-08-31 23:57:24 +01:00
sch_screen.cpp Avoid the obsolete GetNextPin() call 2023-01-20 14:12:15 -08:00
sch_screen.h Extract SCH_SCREEN::GetNeededJunctions from AddJunctionsIfNeeded 2023-01-15 19:17:39 +01:00
sch_shape.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_shape.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_sheet.cpp Simplify and regularize text variable substitution architecture. 2023-01-17 17:05:41 +00:00
sch_sheet.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_sheet_path.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_sheet_path.h Rename SYMBOL_INSTANCE_REFERENCE to SCH_SYMBOL_INSTANCE. 2023-01-04 15:39:50 -05:00
sch_sheet_pin.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_sheet_pin.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_symbol.cpp Avoid the obsolete GetNextPin() call 2023-01-20 14:12:15 -08:00
sch_symbol.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_text.cpp Simplify and regularize text variable substitution architecture. 2023-01-17 17:05:41 +00:00
sch_text.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_text_help.md Fix outdated syntax in help text 2021-11-25 12:53:29 +00:00
sch_text_help_md.h Add 2 automatically generated files to the source tree. 2022-06-22 08:51:04 +02:00
sch_textbox.cpp Simplify and regularize text variable substitution architecture. 2023-01-17 17:05:41 +00:00
sch_textbox.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
sch_validators.cpp Remove missed check for empty fields. 2023-01-07 19:34:32 +00:00
sch_validators.h CHANGED netclass assignments now done via canvas or via patterns. 2022-08-14 22:56:29 +01:00
sch_view.cpp Coverity fixes. 2022-10-17 15:30:20 -04:00
sch_view.h Move notes foreground in front of device foreground and wires. 2023-01-15 22:57:01 +00:00
schematic.cpp Eeschema: ERC checks handle connections between a common sub-circuit 2023-01-24 14:11:01 +00:00
schematic.h Move FixupJunctions to SCHEMATIC 2023-01-15 19:17:50 +01:00
schematic.keywords Move schematic symbol instance data back into symbol definition. 2022-10-02 15:06:42 -04:00
schematic_settings.cpp Refresh schematic's copy of template fieldnames after preferences. 2023-01-24 00:07:40 +00:00
schematic_settings.h Finish implementation of export_current_sheet_as_root. 2023-01-24 00:07:40 +00:00
schematic_undo_redo.cpp Remove schematic symbol value and footprint field instance data. 2022-11-30 11:47:13 -05:00
sheet.cpp Typo fix courtesy or aris-kimi. 2023-01-01 23:40:18 +00:00
symbol_async_loader.cpp Infobar warning if symbol loading was cancelled. 2022-02-27 17:06:08 +00:00
symbol_async_loader.h Infobar warning if symbol loading was cancelled. 2022-02-27 17:06:08 +00:00
symbol_checker.cpp Readability improvements. 2022-09-19 11:18:20 +01:00
symbol_lib_table.cpp Add versioning to lib tables 2023-01-23 22:21:12 +00:00
symbol_lib_table.h DbLib: Load source symbol in editor when edit action is taken 2023-01-19 22:45:46 -05:00
symbol_library.cpp Fix issue converting legacy SPICE models. 2022-12-14 13:36:28 +00:00
symbol_library.h Fix a collision name with a windows header (msys2) 2022-12-09 09:36:58 +01:00
symbol_library_common.h ADDED: Export symbols from schematic to library 2022-09-23 21:23:01 -04:00
symbol_library_manager.cpp Exclude database libraries from the symbol library editor 2023-01-22 20:49:41 -05:00
symbol_library_manager.h Fix missing virtual dtor 2022-09-23 21:44:15 -04:00
symbol_tree_model_adapter.cpp Support showing Value field in symbol chooser 2023-01-19 22:14:10 -05:00
symbol_tree_model_adapter.h Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
symbol_tree_synchronizing_adapter.cpp ADDED: Export symbols from schematic to library 2022-09-23 21:23:01 -04:00
symbol_tree_synchronizing_adapter.h Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
symbol_viewer_frame.cpp Coverity fixes 2023-01-22 22:48:31 -05:00
symbol_viewer_frame.h Support sub-libraries in symbol library browser 2023-01-22 19:25:15 -05:00
toolbars_sch_editor.cpp Put simulation in with other life-cycle tools. 2022-12-28 10:40:23 +00:00
toolbars_symbol_viewer.cpp Never call ReCreateMenuBar inside a menu event handler 2022-12-16 16:37:51 -05:00