kicad/pcbnew
Seth Hillbrand 4cd26ab6bc Ensure NC nets are not connected in board
Even when a pin connects to multiple pads, placing an NC indicator on
the pin type or the connected net means that all pads for that pin
should be independent and not ratsnest with each other

We accomplish this by assigning a unique id "unconnected-(REFDES-PAD#_#)" to each
pad with the pintype "no_connect".  The pad numbers and uniquely
incremented per footprint based on UUID ordering

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15692
2023-09-21 21:36:19 +00:00
..
autorouter Centralize text size clamping. 2023-06-03 20:29:51 +01:00
board_stackup_manager PANEL_SETUP_BOARD_STACKUP: save the m_HasDielectricConstrains BOARD_STACKUP member. 2023-09-19 17:47:29 +02:00
connectivity Profile can live in core 2023-09-07 07:47:01 -04:00
dialogs Footprint item positions are relative. 2023-09-21 14:28:25 +01:00
drc Thread testTrackClearances 2023-09-20 19:51:33 -07:00
exporters Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
import_gfx Graphics import improvements/fixes: 2023-08-18 22:52:49 +03:00
microwave Validate new footprint / save as footprint info before exiting dialog. 2023-09-06 12:49:37 +01:00
navlib Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
netlist_reader Ensure NC nets are not connected in board 2023-09-21 21:36:19 +00:00
plugins Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp 2023-09-21 11:33:29 +02:00
python Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
ratsnest Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
router PNS fix dragging a single footprint 2023-09-20 11:53:43 -04:00
specctra_import_export Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
teardrop Remove stale teardrops before rebuilding connectivity. 2023-08-15 12:13:34 +01:00
tools Add error message when we cannot form a polygon 2023-09-20 13:42:31 -07:00
widgets Vertically center wxGrid cells by default. 2023-09-18 17:15:34 +03:00
CMakeLists.txt New macOS installation scripts 2023-09-19 17:23:30 -04:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp
action_plugin.h
array_creator.cpp Remove a bunch of blind (and a few redundant) static_casts. 2023-07-13 14:14:45 +01:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h
board.cpp Shove thread_pool to core 2023-09-06 17:50:12 -04:00
board.h PCB: add ratsnest to search pane 2023-08-17 10:25:40 -04:00
board_commit.cpp Remove accidentally-checked-in debugging code. 2023-09-02 10:11:38 +01:00
board_commit.h ADDED: Run PCB DRC via cli 2023-08-10 20:20:40 -04:00
board_connected_item.cpp Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
board_connected_item.h ADDED: Connectivity for graphic shapes on copper layers 2023-08-10 21:47:43 -04:00
board_design_settings.cpp When routing, check for board-level clearances 2023-07-24 15:19:21 -07:00
board_item.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
board_item_container.h
build_BOM_from_board.cpp Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
cleanup_item.cpp Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
cleanup_item.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
collectors.cpp Coverity issue fixes. 2023-08-28 09:29:56 -04:00
collectors.h Remove a bunch of blind (and a few redundant) static_casts. 2023-07-13 14:14:45 +01:00
convert_shape_list_to_polygon.cpp Safety for negative pen widths. 2023-09-14 13:39:35 +01:00
convert_shape_list_to_polygon.h STEP export: in board outlines, export Circles as Cylinders, round 2. 2023-05-16 13:39:16 +02:00
cross-probing.cpp Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
edit.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
edit_track_width.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
edit_zone_helpers.cpp More safety around ratsnest state. 2022-11-30 13:00:21 +00:00
files.cpp ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
fix_board_shape.cpp Fix a compil issue (missing header) and a minor compil warning 2023-09-14 08:44:09 +02:00
fix_board_shape.h Add a routine for joining PCB shapes. 2023-09-04 06:46:24 +03:00
footprint.cpp Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +03:00
footprint.h FOOTPRINT: add a method to auto-position Reference and Value. 2023-08-10 00:30:05 +03:00
footprint_edit_frame.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
footprint_edit_frame.h Validate new footprint / save as footprint info before exiting dialog. 2023-09-06 12:49:37 +01:00
footprint_editor_settings.cpp Fix all-layer snapping for footprint editor 2023-09-16 22:55:40 -04:00
footprint_editor_utils.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
footprint_info_impl.cpp Shove thread_pool to core 2023-09-06 17:50:12 -04:00
footprint_info_impl.h send multivector.h and sync_queue.h to core 2023-09-08 07:14:34 -04:00
footprint_libraries_utils.cpp Fix typos in FOOTPRINT_EDIT_FRAME::SaveFootprintAs(). 2023-09-18 13:12:13 +01:00
footprint_preview_panel.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
footprint_preview_panel.h ADDED: lib tree previews. 2023-09-02 23:30:22 +01:00
footprint_tree_pane.cpp Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_tree_pane.h Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_viewer_frame.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
footprint_viewer_frame.h ADDED: Change watcher for libraries 2023-05-31 13:46:00 -07:00
footprint_wizard.cpp
footprint_wizard.h
footprint_wizard_frame.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
footprint_wizard_frame.h Rename function in Footprint wizard to prevent impoper override 2023-06-12 23:14:56 +01:00
footprint_wizard_frame_functions.cpp Rename function in Footprint wizard to prevent impoper override 2023-06-12 23:14:56 +01:00
fp_text_grid_table.cpp FP Text Grid: avoid ambiguous fallthrough 2023-06-20 19:23:29 -04:00
fp_text_grid_table.h PCB Fields: use validators in dialogs, restrict editing of footprint 2023-06-20 18:34:52 +00:00
fp_tree_model_adapter.cpp Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places. 2023-08-20 12:27:37 +02:00
fp_tree_model_adapter.h Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
fp_tree_synchronizing_adapter.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
fp_tree_synchronizing_adapter.h ADDED: lib tree previews. 2023-09-02 23:30:22 +01:00
generate_footprint_info.cpp Fields: Description now mandatory 2023-06-20 18:34:52 +00:00
generate_footprint_info.h
graphics_cleaner.cpp Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name 2023-07-25 09:11:55 +02:00
graphics_cleaner.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
grid_layer_box_helpers.cpp Replace __WXGTK20__ with __WXGTK__ 2023-04-12 18:57:12 +01:00
grid_layer_box_helpers.h
initpcb.cpp BoardDesignSettings are owned by FOOTPRINT_EDITOR_SETTINGS in the FP Editor. 2023-06-12 10:08:41 +01:00
invoke_pcb_dialog.h Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID 2023-05-28 23:56:41 +02:00
io_mgr.cpp ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
io_mgr.h ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
kicad_clipboard.cpp Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN. 2023-08-15 05:26:12 +03:00
kicad_clipboard.h Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN. 2023-08-15 05:26:12 +03:00
load_select_footprint.cpp Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +03:00
menubar_footprint_editor.cpp Small order change for three View menu items v2 2023-09-03 12:29:06 +00:00
menubar_pcb_editor.cpp Add Unselect all in menu 2023-09-06 23:44:39 +00:00
netinfo.h Fix Doxygen directives in numerous headers 2023-03-24 13:02:13 +00:00
netinfo_item.cpp Fix netnames. 2023-01-27 19:35:41 +03:00
netinfo_list.cpp ADDED: Connectivity for graphic shapes on copper layers 2023-08-10 21:47:43 -04:00
pad.cpp Ensure NC nets are not connected in board 2023-09-21 21:36:19 +00:00
pad.h config_params doesnt need color4d 2023-09-14 19:21:55 -04:00
pad_custom_shape_functions.cpp ADDED: custom-shaped pad spoke templates. 2023-09-13 23:34:25 +01:00
pcb_base_edit_frame.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
pcb_base_edit_frame.h ADDED: Properties panel for schematic editor 2023-06-22 22:32:24 -04:00
pcb_base_frame.cpp Handle redraws from any tent-vias changes in plot settings. 2023-09-15 18:32:33 +01:00
pcb_bitmap.cpp Allow multiple format image saving 2023-09-06 12:12:32 -07:00
pcb_bitmap.h Allow multiple format image saving 2023-09-06 12:12:32 -07:00
pcb_dimension.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
pcb_dimension.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_draw_panel_gal.cpp Pcbnew, apparence control: add missing control of layer footprint confict 2023-09-15 10:31:25 +02:00
pcb_draw_panel_gal.h Formatting and warnings cleanup. (No functional changes.) 2023-04-16 15:36:21 +01:00
pcb_edit_frame.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
pcb_edit_frame.h ADDED: DNP flag for position file export 2023-08-04 11:02:54 -07:00
pcb_field.cpp Preferences setting for force-show-fields-when-fp-selected. 2023-08-20 18:10:28 +01:00
pcb_field.h Broaden "Style footprint fields" to cover graphics as well. 2023-07-09 12:45:55 +01:00
pcb_group.cpp Revise method of selecting footprints in contrast 2023-08-01 10:43:13 -07:00
pcb_item_containers.h PCB_FIELD: add new field item similar to SCH_FIELD 2023-06-20 18:34:52 +00:00
pcb_layer_box_selector.cpp Move layer ID to action mapping to PCB_ACTIONS 2023-07-05 11:09:34 +01:00
pcb_layer_box_selector.h
pcb_marker.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_marker.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_origin_transforms.cpp
pcb_origin_transforms.h
pcb_painter.cpp Fix mirroring of TextBox. 2023-09-18 14:49:38 +01:00
pcb_painter.h Painter base class should just live in gal instead of being in denial 2023-09-06 20:23:19 -04:00
pcb_plot_params.cpp Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
pcb_plot_params.h ADDED: plot control over FP text. 2023-08-15 16:56:46 +01:00
pcb_plot_params_parser.h
pcb_screen.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_shape.cpp Safety for negative pen widths. 2023-09-14 13:39:35 +01:00
pcb_shape.h Safety for negative pen widths. 2023-09-14 13:39:35 +01:00
pcb_target.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_target.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_text.cpp Pcbnew: Fix some draw issues in PCB_TEXT and PCB_TEXTBOX: 2023-08-20 17:33:11 +02:00
pcb_text.h ADDED: parameterize font metrics and allow customization of overbar height. 2023-08-06 20:57:41 +01:00
pcb_textbox.cpp Fix mirroring of TextBox. 2023-09-18 14:49:38 +01:00
pcb_textbox.h Add two more border props to props panel 2023-08-31 07:49:15 -04:00
pcb_track.cpp Fix a compil warning. 2023-09-14 15:19:46 +02:00
pcb_track.h Pcbnew: fix some issues with very small arcs (size a few internal units) 2023-09-13 17:54:57 +02:00
pcb_view.cpp Extend boundary size of PCB_VIEW 2023-08-29 19:41:36 +00:00
pcb_view.h
pcbexpr_evaluator.cpp More consistent naming. 2023-08-21 15:26:33 +01:00
pcbexpr_evaluator.h More consistent naming. 2023-08-21 15:26:33 +01:00
pcbexpr_functions.cpp ADDED: memberOfSheet() design rule function 2023-09-06 19:14:00 +00:00
pcbnew.cpp Cleanup the kiface dll export declaration slightly 2023-09-08 20:44:08 -04:00
pcbnew.icns
pcbnew_config.cpp Move to requiring explicit action to save project settings 2023-03-04 14:25:07 -05:00
pcbnew_config.h
pcbnew_doc.icns
pcbnew_id.h Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
pcbnew_jobs_handler.cpp Use the right path for loading drawing sheet in pcbnew cli 2023-09-05 11:01:57 -04:00
pcbnew_jobs_handler.h Add --drawing-sheet arg for various cli commands for overriding the project sheet 2023-08-31 19:53:23 -04:00
pcbnew_printout.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
pcbnew_printout.h Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
pcbnew_settings.cpp dialog_export_svg: add color theme selection. 2023-08-31 20:33:44 +02:00
pcbnew_settings.h dialog_export_svg: add color theme selection. 2023-08-31 20:33:44 +02:00
pcbplot.cpp Add settings for plotting PDF property popups. 2023-04-30 18:10:04 +01:00
pcbplot.h Lazy context handling for SVG plotting. 2023-08-07 14:01:58 +01:00
plot_board_layers.cpp Pcbnew: fix some issues with very small arcs (size a few internal units) 2023-09-13 17:54:57 +02:00
plot_brditems_plotter.cpp Don't use DXF-native text for textboxes. 2023-08-25 18:07:49 +01:00
plotcontroller.h Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:49:20 -05:00
plotprint_opts.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
plugin.cpp Fix typos in translatable strings. 2023-08-31 10:27:36 +02:00
sel_layer.cpp Fixes for Wayland cursor warping: 2023-09-18 12:56:54 +00:00
toolbars_footprint_editor.cpp Move grid definitions to Prefs and grid origin to a separate dlg. 2023-08-26 13:32:24 +01:00
toolbars_footprint_viewer.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
toolbars_pcb_editor.cpp Move grid definitions to Prefs and grid origin to a separate dlg. 2023-08-26 13:32:24 +01:00
tracks_cleaner.cpp Refine track dangling test. 2023-06-17 22:56:57 +01:00
tracks_cleaner.h
undo_redo.cpp Implement undo/redo around Pad Edit Mode changes. 2023-09-01 18:48:46 +01:00
zone.cpp ADDED: Run PCB DRC via cli 2023-08-10 20:20:40 -04:00
zone.h Revise method of selecting footprints in contrast 2023-08-01 10:43:13 -07:00
zone_filler.cpp Finish up custom-shaped pad spoke templates. 2023-09-13 23:34:25 +01:00
zone_filler.h Fix an edge-case in the spoke genration logic for non-cardinal spokes. 2022-10-01 19:31:47 +01:00
zone_settings.cpp Fix build (broken in 90ff331c) 2023-06-10 14:21:10 +02:00
zone_settings.h Refactor: Move static to be inside ZONE_SETTINGS 2023-06-10 12:03:41 +02:00
zones.h Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zones_functions_for_undo_redo.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
zones_functions_for_undo_redo.h Formatting and a bit of cleanup. 2022-10-21 18:41:39 +01:00