Allow non-identical schematic/pcb nets

The schematic net names are fully unique but if we have multiple pads
that are mapped to a NC pin, they need to have unique net names so that
they do not get connected to each other in the ratsnest.  This breaks
the schematic parity check as we have modified the netname for some
pads.  To work around this, we first maintain the zero-th net without
suffix and then add an additional check in DRC to ensure that we allow
unconnected nets as long as the share a common prefix with the schematic
netname.
This commit is contained in:
Seth Hillbrand 2024-04-15 17:40:04 -07:00
parent ea904c9fb1
commit f61d400d88
6 changed files with 1090 additions and 3 deletions

View File

@ -213,7 +213,10 @@ void DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist( NETLIST& aNetlist )
drcItem->SetItems( pad ); drcItem->SetItems( pad );
reportViolation( drcItem, footprint->GetPosition(), UNDEFINED_LAYER ); reportViolation( drcItem, footprint->GetPosition(), UNDEFINED_LAYER );
} }
else if( pcb_netname != sch_net.GetNetName() ) else if( pcb_netname != sch_net.GetNetName()
&& !( pcb_netname.starts_with(
wxT( "unconnected-" ) )
&& pcb_netname.starts_with( sch_net.GetNetName() ) ) )
{ {
wxString msg; wxString msg;
msg.Printf( _( "Pad net (%s) doesn't match net given by schematic (%s)." ), msg.Printf( _( "Pad net (%s) doesn't match net given by schematic (%s)." ),

View File

@ -774,7 +774,9 @@ bool BOARD_NETLIST_UPDATER::updateComponentPadConnections( FOOTPRINT* aFootprint
if( pad->IsNoConnectPad() ) if( pad->IsNoConnectPad() )
{ {
for( int jj = 0; !padNetnames.insert( netName ).second; jj++ ) netName = wxString::Format( wxS( "%s" ), net.GetNetName() );
for( int jj = 1; !padNetnames.insert( netName ).second; jj++ )
netName = wxString::Format( wxS( "%s_%d" ), net.GetNetName(), jj ); netName = wxString::Format( wxS( "%s_%d" ), net.GetNetName(), jj );
} }

View File

@ -0,0 +1,312 @@
(kicad_pcb
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(general
(thickness 1.6)
(legacy_teardrops no)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(32 "B.Adhes" user "B.Adhesive")
(33 "F.Adhes" user "F.Adhesive")
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user "B.Silkscreen")
(37 "F.SilkS" user "F.Silkscreen")
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user "User.Drawings")
(41 "Cmts.User" user "User.Comments")
(42 "Eco1.User" user "User.Eco1")
(43 "Eco2.User" user "User.Eco2")
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user "B.Courtyard")
(47 "F.CrtYd" user "F.Courtyard")
(48 "B.Fab" user)
(49 "F.Fab" user)
(50 "User.1" user)
(51 "User.2" user)
(52 "User.3" user)
(53 "User.4" user)
(54 "User.5" user)
(55 "User.6" user)
(56 "User.7" user)
(57 "User.8" user)
(58 "User.9" user)
)
(setup
(pad_to_mask_clearance 0)
(allow_soldermask_bridges_in_footprints no)
(pcbplotparams
(layerselection 0x00010fc_ffffffff)
(plot_on_all_layers_selection 0x0000000_00000000)
(disableapertmacros no)
(usegerberextensions no)
(usegerberattributes yes)
(usegerberadvancedattributes yes)
(creategerberjobfile yes)
(dashed_line_dash_ratio 12.000000)
(dashed_line_gap_ratio 3.000000)
(svgprecision 4)
(plotframeref no)
(viasonmask no)
(mode 1)
(useauxorigin no)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(pdf_front_fp_property_popups yes)
(pdf_back_fp_property_popups yes)
(dxfpolygonmode yes)
(dxfimperialunits yes)
(dxfusepcbnewfont yes)
(psnegative no)
(psa4output no)
(plotreference yes)
(plotvalue yes)
(plotfptext yes)
(plotinvisibletext no)
(sketchpadsonfab no)
(subtractmaskfromsilk no)
(outputformat 1)
(mirror no)
(drillshape 1)
(scaleselection 1)
(outputdirectory "")
)
)
(net 0 "")
(net 1 "unconnected-(TP1-Pad1)")
(net 2 "unconnected-(TP1-Pad1)_0")
(footprint "TestPoint:TestPoint_Bridge_Pitch2.0mm_Drill0.7mm"
(layer "F.Cu")
(uuid "5680b68d-7137-4930-9dd5-5f4fafc5da8a")
(at 138.030698 95.032002)
(descr "wire loop as test point, pitch 2.0mm, hole diameter 0.7mm, wire diameter 0.5mm")
(tags "test point wire loop")
(property "Reference" "TP1"
(at 1.1 1.7 0)
(layer "F.SilkS")
(uuid "11d7e369-d660-47fd-b0a6-a75a951bd9c1")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "TestPoint"
(at 1 -1.7 0)
(layer "F.Fab")
(uuid "2eb9ba42-d796-4602-a8f0-fde3acb50d6e")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Footprint" "TestPoint:TestPoint_Bridge_Pitch2.0mm_Drill0.7mm"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "6c96debe-73f8-4b61-be48-a4e8041cff18")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "184f7e85-ad7b-4b59-937b-3d4d83be1bf6")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" "test point"
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d0d1b28c-4db5-4f05-827c-fd0be8adb39e")
(effects
(font
(size 1.27 1.27)
)
)
)
(property ki_fp_filters "Pin* Test*")
(path "/b198df71-7d13-4632-9ab4-7f217c917f8e")
(sheetname "Root")
(sheetfile "unconnected-netnames.kicad_sch")
(attr through_hole)
(fp_line
(start -0.9 -0.9)
(end -0.9 0.9)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "2fe3d8a9-dc64-48f4-aaf4-fe3103931d68")
)
(fp_line
(start -0.9 0.9)
(end 2.9 0.9)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "138aaf38-c051-46e9-ad38-138884916c01")
)
(fp_line
(start 2.9 -0.9)
(end -0.9 -0.9)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "e06fafc6-4b7a-4ed3-8a80-e4feea1bfd93")
)
(fp_line
(start 2.9 0.9)
(end 2.9 -0.9)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "4b1513ef-3a66-48c5-a1aa-1c7c8ba3bbd4")
)
(fp_line
(start -1.2 1.2)
(end -1.2 -1.2)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "0059a420-bbf7-4e65-9f77-86799f6138e6")
)
(fp_line
(start -1.2 1.2)
(end 3.2 1.2)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "33a7f956-1108-4fde-9cfb-0ef4b812e0ef")
)
(fp_line
(start 3.2 -1.2)
(end -1.2 -1.2)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "5dfad35d-845b-4737-a5c9-97b1dc8ff81c")
)
(fp_line
(start 3.2 -1.2)
(end 3.2 1.2)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "97e9c191-1b39-4899-801d-c217ef903a17")
)
(fp_line
(start 2 0)
(end 0 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "2f4282e9-3e81-4d51-abb4-e88b82550105")
)
(fp_text user "${REFERENCE}"
(at 1.1 1.7 0)
(layer "F.Fab")
(uuid "32926f2f-12bb-47bd-8d01-164977f77338")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole circle
(at 0 0)
(size 1.4 1.4)
(drill 0.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(net 2 "unconnected-(TP1-Pad1)_0")
(pinfunction "1")
(pintype "passive+no_connect")
(uuid "891be13e-e841-49df-9fe9-aa0803a01c48")
)
(pad "1" thru_hole circle
(at 2 0)
(size 1.4 1.4)
(drill 0.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(net 1 "unconnected-(TP1-Pad1)")
(pinfunction "1")
(pintype "passive+no_connect")
(uuid "7f73b514-d3e4-4e9b-aa32-6a472854c04b")
)
(model "${KICAD6_3DMODEL_DIR}/TestPoint.3dshapes/TestPoint_Bridge_Pitch2.0mm_Drill0.7mm.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
(gr_rect
(start 134.659755 91.720974)
(end 144.39064 98.204018)
(stroke
(width 0.05)
(type default)
)
(fill none)
(layer "Edge.Cuts")
(uuid "d39fdf5e-1d58-48ca-93a7-ec96883ae32a")
)
(gr_text "There should be no schematic parity errors\nhere because NC pads share a common \nprefix with the test point"
(at 128.318133 89.631558 0)
(layer "F.Fab")
(uuid "93b20610-b7a1-4193-abe4-582a88122aa9")
(effects
(font
(size 1 1)
(thickness 0.15)
)
(justify left bottom)
)
)
)

View File

@ -0,0 +1,582 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_presets": [],
"viewports": []
},
"boards": [],
"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",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "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",
"similar_labels": "warning",
"simulation_model_issue": "ignore",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "unconnected-netnames.kicad_pro",
"version": 1
},
"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)",
"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": 3
},
"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_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": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
},
{
"group_by": false,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"name": "Grouped By Value",
"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": "",
"page_layout_descr_file": "",
"plot_directory": "",
"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": [
[
"cfc6d250-9e5a-468d-b657-8add217d4593",
"Root"
]
],
"text_variables": {}
}

View File

@ -0,0 +1,187 @@
(kicad_sch
(version 20231120)
(generator "eeschema")
(generator_version "8.0")
(uuid "cfc6d250-9e5a-468d-b657-8add217d4593")
(paper "A4")
(lib_symbols
(symbol "Connector:TestPoint"
(pin_numbers hide)
(pin_names
(offset 0.762) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "TP"
(at 0 6.858 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "TestPoint"
(at 0 5.08 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 5.08 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "~"
(at 5.08 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "test point"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "ki_keywords" "test point tp"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "ki_fp_filters" "Pin* Test*"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "TestPoint_0_1"
(circle
(center 0 3.302)
(radius 0.762)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
)
(symbol "TestPoint_1_1"
(pin passive line
(at 0 0 90)
(length 2.54)
(name "1"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
)
)
(no_connect
(at 91.44 63.5)
(uuid "28c6e503-9939-43fd-a3cf-6ff1f45e7b12")
)
(symbol
(lib_id "Connector:TestPoint")
(at 91.44 63.5 0)
(unit 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(uuid "b198df71-7d13-4632-9ab4-7f217c917f8e")
(property "Reference" "TP1"
(at 93.98 58.9279 0)
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
)
(property "Value" "TestPoint"
(at 93.98 61.4679 0)
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
)
(property "Footprint" "TestPoint:TestPoint_Bridge_Pitch2.0mm_Drill0.7mm"
(at 96.52 63.5 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "~"
(at 96.52 63.5 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "test point"
(at 91.44 63.5 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(pin "1"
(uuid "9edaec62-6ceb-4783-bd76-03a1786b60f5")
)
(instances
(project "unconnected-netnames"
(path "/cfc6d250-9e5a-468d-b657-8add217d4593"
(reference "TP1")
(unit 1)
)
)
)
)
(sheet_instances
(path "/"
(page "1")
)
)
)

View File

@ -62,7 +62,8 @@ BOOST_FIXTURE_TEST_CASE( DRCFalsePositiveRegressions, DRC_REGRESSION_TEST_FIXTUR
"issue11814", // Bad cache hit in isInsideArea "issue11814", // Bad cache hit in isInsideArea
"issue12609", // Arc collison edge case "issue12609", // Arc collison edge case
"issue14412", // Solder mask bridge between pads in a net-tie pad group "issue14412", // Solder mask bridge between pads in a net-tie pad group
"issue15280" // Very wide spokes mis-counted as being single spoke "issue15280", // Very wide spokes mis-counted as being single spoke
"unconnected-netnames/unconnected-netnames", // Raised false schematic partity error
}; };
for( const wxString& relPath : tests ) for( const wxString& relPath : tests )