Browse Source
ADDED: Jumpers for symbols
ADDED: Jumpers for symbols
Support explicit jumper symbols, defined either by a flag that all pins with the same number are connected, or by explicit groups of jumpered pins Fixes https://gitlab.com/kicad/code/kicad/-/issues/2558revert-0c36e162
16 changed files with 3135 additions and 54 deletions
-
32eeschema/connection_graph.cpp
-
123eeschema/dialogs/dialog_lib_symbol_properties.cpp
-
4eeschema/dialogs/dialog_lib_symbol_properties.h
-
92eeschema/dialogs/dialog_lib_symbol_properties_base.cpp
-
683eeschema/dialogs/dialog_lib_symbol_properties_base.fbp
-
14eeschema/dialogs/dialog_lib_symbol_properties_base.h
-
19eeschema/lib_symbol.cpp
-
21eeschema/lib_symbol.h
-
3eeschema/sch_file_versions.h
-
22eeschema/sch_io/kicad_sexpr/sch_io_kicad_sexpr_lib_cache.cpp
-
35eeschema/sch_io/kicad_sexpr/sch_io_kicad_sexpr_parser.cpp
-
2eeschema/schematic.keywords
-
420qa/data/eeschema/netlists/jumpers/jumpers.kicad_pro
-
1585qa/data/eeschema/netlists/jumpers/jumpers.kicad_sch
-
128qa/data/eeschema/netlists/jumpers/jumpers.net
-
6qa/tests/eeschema/test_netlist_exporter_kicad.cpp
@ -0,0 +1,420 @@ |
|||
{ |
|||
"board": { |
|||
"3dviewports": [], |
|||
"ipc2581": { |
|||
"dist": "", |
|||
"distpn": "", |
|||
"internal_id": "", |
|||
"mfg": "", |
|||
"mpn": "" |
|||
}, |
|||
"layer_pairs": [], |
|||
"layer_presets": [], |
|||
"viewports": [] |
|||
}, |
|||
"boards": [], |
|||
"component_class_settings": { |
|||
"assignments": [], |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"sheet_component_classes": { |
|||
"enabled": false |
|||
} |
|||
}, |
|||
"cvpcb": { |
|||
"equivalence_files": [] |
|||
}, |
|||
"erc": { |
|||
"erc_exclusions": [], |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"pin_map": [ |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
1, |
|||
2, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
0, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
2, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
] |
|||
], |
|||
"rule_severities": { |
|||
"bus_definition_conflict": "error", |
|||
"bus_entry_needed": "error", |
|||
"bus_to_bus_conflict": "error", |
|||
"bus_to_net_conflict": "error", |
|||
"different_unit_footprint": "error", |
|||
"different_unit_net": "error", |
|||
"duplicate_reference": "error", |
|||
"duplicate_sheet_names": "error", |
|||
"endpoint_off_grid": "warning", |
|||
"extra_units": "error", |
|||
"footprint_filter": "ignore", |
|||
"footprint_link_issues": "warning", |
|||
"four_way_junction": "ignore", |
|||
"global_label_dangling": "warning", |
|||
"hier_label_mismatch": "error", |
|||
"label_dangling": "error", |
|||
"label_multiple_wires": "warning", |
|||
"lib_symbol_issues": "warning", |
|||
"lib_symbol_mismatch": "warning", |
|||
"missing_bidi_pin": "warning", |
|||
"missing_input_pin": "warning", |
|||
"missing_power_pin": "error", |
|||
"missing_unit": "warning", |
|||
"multiple_net_names": "warning", |
|||
"net_not_bus_member": "warning", |
|||
"no_connect_connected": "warning", |
|||
"no_connect_dangling": "warning", |
|||
"pin_not_connected": "error", |
|||
"pin_not_driven": "error", |
|||
"pin_to_pin": "warning", |
|||
"power_pin_not_driven": "error", |
|||
"same_local_global_label": "warning", |
|||
"similar_label_and_power": "warning", |
|||
"similar_labels": "warning", |
|||
"similar_power": "warning", |
|||
"simulation_model_issue": "ignore", |
|||
"single_global_label": "ignore", |
|||
"unannotated": "error", |
|||
"unconnected_wire_endpoint": "warning", |
|||
"unit_value_mismatch": "error", |
|||
"unresolved_variable": "error", |
|||
"wire_dangling": "error" |
|||
} |
|||
}, |
|||
"libraries": { |
|||
"pinned_footprint_libs": [], |
|||
"pinned_symbol_libs": [ |
|||
"JumperTest" |
|||
] |
|||
}, |
|||
"meta": { |
|||
"filename": "jumpers.kicad_pro", |
|||
"version": 3 |
|||
}, |
|||
"net_settings": { |
|||
"classes": [ |
|||
{ |
|||
"bus_width": 12, |
|||
"clearance": 0.2, |
|||
"diff_pair_gap": 0.25, |
|||
"diff_pair_via_gap": 0.25, |
|||
"diff_pair_width": 0.2, |
|||
"line_style": 0, |
|||
"microvia_diameter": 0.3, |
|||
"microvia_drill": 0.1, |
|||
"name": "Default", |
|||
"pcb_color": "rgba(0, 0, 0, 0.000)", |
|||
"priority": 2147483647, |
|||
"schematic_color": "rgba(0, 0, 0, 0.000)", |
|||
"track_width": 0.2, |
|||
"via_diameter": 0.6, |
|||
"via_drill": 0.3, |
|||
"wire_width": 6 |
|||
} |
|||
], |
|||
"meta": { |
|||
"version": 4 |
|||
}, |
|||
"net_colors": null, |
|||
"netclass_assignments": null, |
|||
"netclass_patterns": [] |
|||
}, |
|||
"pcbnew": { |
|||
"last_paths": { |
|||
"gencad": "", |
|||
"idf": "", |
|||
"netlist": "", |
|||
"plot": "", |
|||
"pos_files": "", |
|||
"specctra_dsn": "", |
|||
"step": "", |
|||
"svg": "", |
|||
"vrml": "" |
|||
}, |
|||
"page_layout_descr_file": "" |
|||
}, |
|||
"schematic": { |
|||
"annotate_start_num": 0, |
|||
"bom_export_filename": "${PROJECTNAME}.csv", |
|||
"bom_fmt_presets": [], |
|||
"bom_fmt_settings": { |
|||
"field_delimiter": ",", |
|||
"keep_line_breaks": false, |
|||
"keep_tabs": false, |
|||
"name": "CSV", |
|||
"ref_delimiter": ",", |
|||
"ref_range_delimiter": "", |
|||
"string_delimiter": "\"" |
|||
}, |
|||
"bom_presets": [], |
|||
"bom_settings": { |
|||
"exclude_dnp": false, |
|||
"fields_ordered": [ |
|||
{ |
|||
"group_by": false, |
|||
"label": "Reference", |
|||
"name": "Reference", |
|||
"show": true |
|||
}, |
|||
{ |
|||
"group_by": false, |
|||
"label": "Qty", |
|||
"name": "${QUANTITY}", |
|||
"show": true |
|||
}, |
|||
{ |
|||
"group_by": true, |
|||
"label": "Value", |
|||
"name": "Value", |
|||
"show": true |
|||
}, |
|||
{ |
|||
"group_by": true, |
|||
"label": "DNP", |
|||
"name": "${DNP}", |
|||
"show": true |
|||
}, |
|||
{ |
|||
"group_by": true, |
|||
"label": "Exclude from BOM", |
|||
"name": "${EXCLUDE_FROM_BOM}", |
|||
"show": true |
|||
}, |
|||
{ |
|||
"group_by": true, |
|||
"label": "Exclude from Board", |
|||
"name": "${EXCLUDE_FROM_BOARD}", |
|||
"show": true |
|||
}, |
|||
{ |
|||
"group_by": true, |
|||
"label": "Footprint", |
|||
"name": "Footprint", |
|||
"show": true |
|||
}, |
|||
{ |
|||
"group_by": false, |
|||
"label": "Datasheet", |
|||
"name": "Datasheet", |
|||
"show": true |
|||
} |
|||
], |
|||
"filter_string": "", |
|||
"group_symbols": true, |
|||
"include_excluded_from_bom": true, |
|||
"name": "Default Editing", |
|||
"sort_asc": true, |
|||
"sort_field": "Reference" |
|||
}, |
|||
"connection_grid_size": 50.0, |
|||
"drawing": { |
|||
"dashed_lines_dash_length_ratio": 12.0, |
|||
"dashed_lines_gap_length_ratio": 3.0, |
|||
"default_line_thickness": 6.0, |
|||
"default_text_size": 50.0, |
|||
"field_names": [], |
|||
"intersheets_ref_own_page": false, |
|||
"intersheets_ref_prefix": "", |
|||
"intersheets_ref_short": false, |
|||
"intersheets_ref_show": false, |
|||
"intersheets_ref_suffix": "", |
|||
"junction_size_choice": 3, |
|||
"label_size_ratio": 0.375, |
|||
"operating_point_overlay_i_precision": 3, |
|||
"operating_point_overlay_i_range": "~A", |
|||
"operating_point_overlay_v_precision": 3, |
|||
"operating_point_overlay_v_range": "~V", |
|||
"overbar_offset_ratio": 1.23, |
|||
"pin_symbol_size": 25.0, |
|||
"text_offset_ratio": 0.15 |
|||
}, |
|||
"legacy_lib_dir": "", |
|||
"legacy_lib_list": [], |
|||
"meta": { |
|||
"version": 1 |
|||
}, |
|||
"net_format_name": "KiCad", |
|||
"page_layout_descr_file": "", |
|||
"plot_directory": "", |
|||
"space_save_all_events": true, |
|||
"spice_current_sheet_as_root": false, |
|||
"spice_external_command": "spice \"%I\"", |
|||
"spice_model_current_sheet_as_root": true, |
|||
"spice_save_all_currents": false, |
|||
"spice_save_all_dissipations": false, |
|||
"spice_save_all_voltages": false, |
|||
"subpart_first_id": 65, |
|||
"subpart_id_separator": 0 |
|||
}, |
|||
"sheets": [ |
|||
[ |
|||
"d45396f7-c490-44d7-ac97-22fa41f0bbb4", |
|||
"Root" |
|||
] |
|||
], |
|||
"text_variables": {} |
|||
} |
|||
1585
qa/data/eeschema/netlists/jumpers/jumpers.kicad_sch
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,128 @@ |
|||
(export (version "E") |
|||
(design |
|||
(source "/Users/jon/src/kicad/qa/data/eeschema/netlists/jumpers/jumpers.kicad_sch") |
|||
(date "2025-03-21T17:31:14-0400") |
|||
(tool "Eeschema 9.99.0-580-g4821313d25") |
|||
(sheet (number "1") (name "/") (tstamps "/") |
|||
(title_block |
|||
(title) |
|||
(company) |
|||
(rev) |
|||
(date) |
|||
(source "jumpers.kicad_sch") |
|||
(comment (number "1") (value "")) |
|||
(comment (number "2") (value "")) |
|||
(comment (number "3") (value "")) |
|||
(comment (number "4") (value "")) |
|||
(comment (number "5") (value "")) |
|||
(comment (number "6") (value "")) |
|||
(comment (number "7") (value "")) |
|||
(comment (number "8") (value "")) |
|||
(comment (number "9") (value ""))))) |
|||
(components |
|||
(comp (ref "R1") |
|||
(value "22") |
|||
(description "Resistor") |
|||
(fields |
|||
(field (name "Footprint")) |
|||
(field (name "Datasheet")) |
|||
(field (name "Description") "Resistor")) |
|||
(libsource (lib "Device") (part "R") (description "Resistor")) |
|||
(property (name "Sheetname") (value "Root")) |
|||
(property (name "Sheetfile") (value "jumpers.kicad_sch")) |
|||
(property (name "ki_keywords") (value "R res resistor")) |
|||
(property (name "ki_fp_filters") (value "R_*")) |
|||
(sheetpath (names "/") (tstamps "/")) |
|||
(tstamps "4c671539-9120-429d-9b52-8f805a6b0fad")) |
|||
(comp (ref "R2") |
|||
(value "22") |
|||
(description "Resistor") |
|||
(fields |
|||
(field (name "Footprint")) |
|||
(field (name "Datasheet")) |
|||
(field (name "Description") "Resistor")) |
|||
(libsource (lib "Device") (part "R") (description "Resistor")) |
|||
(property (name "Sheetname") (value "Root")) |
|||
(property (name "Sheetfile") (value "jumpers.kicad_sch")) |
|||
(property (name "ki_keywords") (value "R res resistor")) |
|||
(property (name "ki_fp_filters") (value "R_*")) |
|||
(sheetpath (names "/") (tstamps "/")) |
|||
(tstamps "a5325dfa-f0ed-4395-9ec3-24765fab7875")) |
|||
(comp (ref "TB1") |
|||
(value "~") |
|||
(fields |
|||
(field (name "Footprint")) |
|||
(field (name "Datasheet")) |
|||
(field (name "Description"))) |
|||
(libsource (lib "JumperTest") (part "TerminalBlock_2Level") (description "")) |
|||
(property (name "Sheetname") (value "Root")) |
|||
(property (name "Sheetfile") (value "jumpers.kicad_sch")) |
|||
(sheetpath (names "/") (tstamps "/")) |
|||
(tstamps "0aa9b267-04ec-4615-b424-0bb2ed02b625")) |
|||
(comp (ref "U1") |
|||
(value "~") |
|||
(fields |
|||
(field (name "Footprint")) |
|||
(field (name "Datasheet")) |
|||
(field (name "Description"))) |
|||
(libsource (lib "JumperTest") (part "Matrix") (description "")) |
|||
(property (name "Sheetname") (value "Root")) |
|||
(property (name "Sheetfile") (value "jumpers.kicad_sch")) |
|||
(sheetpath (names "/") (tstamps "/")) |
|||
(tstamps "4d14d800-569a-495d-bb5a-a9e55a14d7c8"))) |
|||
(libparts |
|||
(libpart (lib "Device") (part "R") |
|||
(description "Resistor") |
|||
(docs "~") |
|||
(footprints |
|||
(fp "R_*")) |
|||
(fields |
|||
(field (name "Reference") "R") |
|||
(field (name "Value") "R") |
|||
(field (name "Footprint")) |
|||
(field (name "Datasheet") "~") |
|||
(field (name "Description") "Resistor")) |
|||
(pins |
|||
(pin (num "1") (name "") (type "passive")) |
|||
(pin (num "2") (name "") (type "passive")))) |
|||
(libpart (lib "JumperTest") (part "Matrix") |
|||
(fields |
|||
(field (name "Reference") "U") |
|||
(field (name "Value")) |
|||
(field (name "Footprint")) |
|||
(field (name "Datasheet")) |
|||
(field (name "Description"))) |
|||
(pins |
|||
(pin (num "1") (name "") (type "input")) |
|||
(pin (num "2") (name "") (type "input")) |
|||
(pin (num "3") (name "") (type "input")) |
|||
(pin (num "4") (name "") (type "input")))) |
|||
(libpart (lib "JumperTest") (part "TerminalBlock_2Level") |
|||
(fields |
|||
(field (name "Reference") "TB1") |
|||
(field (name "Value") "~") |
|||
(field (name "Footprint")) |
|||
(field (name "Datasheet")) |
|||
(field (name "Description"))) |
|||
(pins |
|||
(pin (num "1") (name "") (type "passive")) |
|||
(pin (num "2") (name "") (type "passive"))))) |
|||
(libraries |
|||
(library (logical "Device") |
|||
(uri "/Applications/KiCad/KiCad.app/Contents/SharedSupport/symbols/Device.kicad_sym")) |
|||
(library (logical "JumperTest") |
|||
(uri "/Users/jon/Nextcloud/kicad/libraries/JumperTest.kicad_sym"))) |
|||
(nets |
|||
(net (code "1") (name "+2V5") (class "Default") |
|||
(node (ref "R1") (pin "1") (pintype "passive")) |
|||
(node (ref "TB1") (pin "1") (pintype "passive"))) |
|||
(net (code "2") (name "+3.3V") (class "Default") |
|||
(node (ref "R2") (pin "2") (pintype "passive")) |
|||
(node (ref "U1") (pin "1") (pintype "input")) |
|||
(node (ref "U1") (pin "3") (pintype "input"))) |
|||
(net (code "3") (name "GND") (class "Default") |
|||
(node (ref "R1") (pin "2") (pintype "passive")) |
|||
(node (ref "R2") (pin "1") (pintype "passive")) |
|||
(node (ref "TB1") (pin "2") (pintype "passive")) |
|||
(node (ref "U1") (pin "2") (pintype "input")) |
|||
(node (ref "U1") (pin "4") (pintype "input"))))) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue