Add a bunch more zone fill and DRC regression tests.

Also tries to fix a compile issue on gcc.
This commit is contained in:
Jeff Young 2021-07-30 21:15:21 +01:00
parent b8bb04c432
commit 8d6cd4ad99
23 changed files with 138016 additions and 46 deletions

247
qa/data/issue4139.kicad_pcb Executable file
View File

@ -0,0 +1,247 @@
(kicad_pcb (version 20200512) (host pcbnew "(5.99.0-1700-gd72a778f1)")
(general
(thickness 1.6)
(drawings 4)
(tracks 14)
(modules 2)
(nets 4)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(32 "B.Adhes" user)
(33 "F.Adhes" user)
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user)
(37 "F.SilkS" user)
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user)
(41 "Cmts.User" user)
(42 "Eco1.User" user)
(43 "Eco2.User" user)
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user)
(47 "F.CrtYd" user)
(48 "B.Fab" user)
(49 "F.Fab" user)
)
(setup
(stackup
(layer "F.SilkS" (type "Top Silk Screen"))
(layer "F.Paste" (type "Top Solder Paste"))
(layer "F.Mask" (type "Top Solder Mask") (color "Green") (thickness 0.01))
(layer "F.Cu" (type "copper") (thickness 0.035))
(layer "dielectric 1" (type "core") (thickness 1.51) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
(layer "B.Cu" (type "copper") (thickness 0.035))
(layer "B.Mask" (type "Bottom Solder Mask") (color "Green") (thickness 0.01))
(layer "B.Paste" (type "Bottom Solder Paste"))
(layer "B.SilkS" (type "Bottom Silk Screen"))
(copper_finish "None")
(dielectric_constraints no)
)
(last_trace_width 0.25)
(trace_clearance 0.2)
(zone_clearance 0.508)
(zone_45_only no)
(trace_min 0.2)
(clearance_min 0.15)
(via_min_annulus 0.05)
(via_min_size 0.4)
(through_hole_min 0.3)
(via_size 0.8)
(via_drill 0.4)
(uvia_size 0.3)
(uvia_drill 0.1)
(uvias_allowed no)
(uvia_min_size 0.2)
(uvia_min_drill 0.1)
(max_error 0.005)
(defaults
(edge_clearance 0.01)
(edge_cuts_line_width 0.05)
(courtyard_line_width 0.05)
(copper_line_width 0.2)
(copper_text_dims (size 1.5 1.5) (thickness 0.3))
(silk_line_width 0.12)
(silk_text_dims (size 1 1) (thickness 0.15))
(fab_layers_line_width 0.1)
(fab_layers_text_dims (size 1 1) (thickness 0.15))
(other_layers_line_width 0.1)
(other_layers_text_dims (size 1 1) (thickness 0.15))
(dimension_units 0)
(dimension_precision 1)
)
(pad_size 1.524 1.524)
(pad_drill 0.762)
(pad_to_mask_clearance 0.05)
(aux_axis_origin 0 0)
(visible_elements 7FFFFFFF)
(pcbplotparams
(layerselection 0x010fc_ffffffff)
(usegerberextensions false)
(usegerberattributes true)
(usegerberadvancedattributes true)
(creategerberjobfile true)
(svguseinch false)
(svgprecision 6)
(excludeedgelayer true)
(linewidth 0.100000)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue true)
(plotinvisibletext false)
(sketchpadsonfab false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 1)
(scaleselection 1)
(outputdirectory "")
)
)
(net 0 "")
(net 1 "Net-(J1-Pad1)")
(net 2 "Net-(J1-Pad2)")
(net 3 "Net-(J1-Pad3)")
(net_class "Default" "This is the default net class."
(clearance 0.2)
(trace_width 0.25)
(via_dia 0.8)
(via_drill 0.4)
(uvia_dia 0.3)
(uvia_drill 0.1)
(add_net "Net-(J1-Pad1)")
(add_net "Net-(J1-Pad2)")
(add_net "Net-(J1-Pad3)")
)
(module "Resistors_SMD:R_0805" (layer "B.Cu") (tedit 58E0A804) (tstamp 3461ae3d-9a09-475a-b78b-3f772cd40bd8)
(at 120.6246 66.2432 -90)
(descr "Resistor SMD 0805, reflow soldering, Vishay (see dcrcw.pdf)")
(tags "resistor 0805")
(path "/c6c78989-e8f2-4abf-a6f7-7545bc8c1e66")
(attr smd)
(fp_text reference "R1" (at 0 1.65 -90) (layer "B.SilkS")
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(fp_text value "R" (at 0 -1.75 -90) (layer "B.Fab")
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(fp_text user "${REFERENCE}" (at 0 0 -90) (layer "B.Fab")
(effects (font (size 0.5 0.5) (thickness 0.075)) (justify mirror))
)
(fp_line (start -1 -0.62) (end -1 0.62) (layer "B.Fab") (width 0.1))
(fp_line (start 1 -0.62) (end -1 -0.62) (layer "B.Fab") (width 0.1))
(fp_line (start 1 0.62) (end 1 -0.62) (layer "B.Fab") (width 0.1))
(fp_line (start -1 0.62) (end 1 0.62) (layer "B.Fab") (width 0.1))
(fp_line (start 0.6 -0.88) (end -0.6 -0.88) (layer "B.SilkS") (width 0.12))
(fp_line (start -0.6 0.88) (end 0.6 0.88) (layer "B.SilkS") (width 0.12))
(fp_line (start -1.55 0.9) (end 1.55 0.9) (layer "B.CrtYd") (width 0.05))
(fp_line (start -1.55 0.9) (end -1.55 -0.9) (layer "B.CrtYd") (width 0.05))
(fp_line (start 1.55 -0.9) (end 1.55 0.9) (layer "B.CrtYd") (width 0.05))
(fp_line (start 1.55 -0.9) (end -1.55 -0.9) (layer "B.CrtYd") (width 0.05))
(pad "1" smd rect (at -0.95 0 270) (size 0.7 1.3) (layers "B.Cu" "B.Paste" "B.Mask")
(net 2 "Net-(J1-Pad2)") (tstamp 90f73341-fd35-4de5-811f-b9b78b7d229a))
(pad "2" smd rect (at 0.95 0 270) (size 0.7 1.3) (layers "B.Cu" "B.Paste" "B.Mask")
(net 1 "Net-(J1-Pad1)") (tstamp 47920df1-0b43-4346-93df-a8b91e0462ad))
(model "${KISYS3DMOD}/Resistors_SMD.3dshapes/R_0805.wrl"
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module "Connectors_JST:JST_SH_SM03B-SRSS-TB_03x1.00mm_Angled" (layer "F.Cu") (tedit 56B07436) (tstamp f857536b-311d-42f4-b594-3442deba239a)
(at 129.4384 68.7324 45)
(descr "http://www.jst-mfg.com/product/pdf/eng/eSH.pdf")
(tags "connector jst sh")
(path "/c9eee9ba-3bcb-475c-9e6f-0d52e9a7040e")
(attr smd)
(fp_text reference "J1" (at -1 -4 45) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value "Conn_01x03_MountingPin" (at 0 4.5 45) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_circle (center -2 -2.1875) (end -1.75 -2.1875) (layer "F.SilkS") (width 0.12))
(fp_line (start -1.4 2.6375) (end 1.4 2.6375) (layer "F.SilkS") (width 0.12))
(fp_line (start -2.5 0.7375) (end -2.5 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2.5 -1.6125) (end -1.6 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -1.6125) (end -2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -0.4125) (end -2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -0.4125) (end -2 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -1.6125) (end -2 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -1.1125) (end -2 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -1.1125) (end -2.5 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2.5 -1.1125) (end -2.5 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2.5 -1.1125) (end -2 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -0.4125) (end -2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2 -0.4125) (end -2.5 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2.5 -0.4125) (end -2.5 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start -2.5 -0.4125) (end -2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2.5 0.7375) (end 2.5 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2.5 -1.6125) (end 1.6 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -1.6125) (end 2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -0.4125) (end 2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -0.4125) (end 2 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -1.6125) (end 2 -1.6125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -1.1125) (end 2 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -1.1125) (end 2.5 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2.5 -1.1125) (end 2.5 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2.5 -1.1125) (end 2 -1.1125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -0.4125) (end 2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2 -0.4125) (end 2.5 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2.5 -0.4125) (end 2.5 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start 2.5 -0.4125) (end 2 -0.4125) (layer "F.SilkS") (width 0.12))
(fp_line (start -3.4 3.35) (end -3.4 -3.25) (layer "F.CrtYd") (width 0.05))
(fp_line (start -3.4 -3.25) (end 3.4 -3.25) (layer "F.CrtYd") (width 0.05))
(fp_line (start 3.4 -3.25) (end 3.4 3.35) (layer "F.CrtYd") (width 0.05))
(fp_line (start 3.4 3.35) (end -3.4 3.35) (layer "F.CrtYd") (width 0.05))
(pad "1" smd rect (at -1 -1.9375 45) (size 0.6 1.55) (layers "F.Cu" "F.Paste" "F.Mask")
(net 1 "Net-(J1-Pad1)") (pinfunction "Pin_1") (tstamp 099c08a9-a815-4ce0-9362-538d726d9c02))
(pad "2" smd rect (at 0 -1.9375 45) (size 0.6 1.55) (layers "F.Cu" "F.Paste" "F.Mask")
(net 2 "Net-(J1-Pad2)") (pinfunction "Pin_2") (tstamp 1cf0402d-16ac-4394-a2bd-5110d5319b10))
(pad "3" smd rect (at 1 -1.9375 45) (size 0.6 1.55) (layers "F.Cu" "F.Paste" "F.Mask")
(net 3 "Net-(J1-Pad3)") (pinfunction "Pin_3") (tstamp d787d991-8b10-43a9-bda8-a84559d3dc5e))
(pad "" smd rect (at -2.3 1.9375 45) (size 1.2 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp cbfaecaf-5ba8-4cbb-9cfa-cbddd3860580))
(pad "" smd rect (at 2.3 1.9375 45) (size 1.2 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp e42e1bc3-504c-4630-a5aa-7fd2d9ffd69c))
)
(gr_line (start 117.3988 76.708) (end 117.221 61.4934) (layer "Edge.Cuts") (width 0.05) (tstamp a78f509c-e1b9-49ba-b3bc-521279981534))
(gr_line (start 144.526 76.7334) (end 117.3988 76.708) (layer "Edge.Cuts") (width 0.05) (tstamp 1af6783c-0a42-45b6-abd7-0e08b693db24))
(gr_line (start 144.4752 61.4934) (end 144.526 76.7334) (layer "Edge.Cuts") (width 0.05) (tstamp 960d3bc1-a0ab-4fa3-a303-ae1d5a790b4e))
(gr_line (start 117.221 61.4934) (end 144.4752 61.4934) (layer "Edge.Cuts") (width 0.05) (tstamp cad22098-0b03-4042-9a5c-03067b33df4d))
(via (at 124.46 67.183) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1) (tstamp 7b7eb598-0a34-4575-82d5-4d2df1fe2e26))
(segment (start 124.46 67.183) (end 120.6348 67.183) (width 0.25) (layer "B.Cu") (net 1) (tstamp b716ea7e-5437-4b8d-8adf-5979da4797b9))
(segment (start 124.4702 67.1932) (end 124.46 67.183) (width 0.25) (layer "F.Cu") (net 1) (tstamp 1f4cc5f0-d4f2-4f12-a730-002967d6caba))
(segment (start 126.484987 67.1932) (end 124.4702 67.1932) (width 0.25) (layer "F.Cu") (net 1) (tstamp ac60baa0-d37f-46b7-9bfd-03e838b95ff8))
(segment (start 120.6348 67.183) (end 120.6246 67.1932) (width 0.25) (layer "B.Cu") (net 1) (tstamp 053efa3b-b9a1-4cf2-81fd-d147958ee55d))
(segment (start 122.6972 65.2932) (end 122.7124 65.278) (width 0.25) (layer "B.Cu") (net 2) (tstamp 8c3c3ad4-2e40-4f60-8fe5-e54ba27216a3))
(segment (start 120.6246 65.2932) (end 122.6972 65.2932) (width 0.25) (layer "B.Cu") (net 2) (tstamp 55d4b264-ae4c-4659-850b-136c1131f417))
(segment (start 122.809 65.278) (end 125.984 65.278) (width 0.25) (layer "F.Cu") (net 2) (tstamp 1b5d08ed-ff43-4c82-838f-e6a90263c9e3))
(segment (start 122.7124 65.278) (end 122.809 65.278) (width 0.25) (layer "B.Cu") (net 2) (tstamp b5e28421-7f90-4270-b58e-80ea4c4ea4a7))
(via (at 122.809 65.278) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 2) (tstamp 72763d28-3414-4cb5-bb01-a5c4893d09aa))
(segment (start 125.984 65.278) (end 125.9992 65.2932) (width 0.25) (layer "F.Cu") (net 2) (tstamp 031e06b2-25e2-4767-9f44-bb8f03d23c74))
(segment (start 126.4768 67.1932) (end 126.484987 67.1932) (width 0.25) (layer "F.Cu") (net 1) (tstamp a8f164c7-3d2a-426f-800b-6816271944cc))
(segment (start 126.484987 67.1932) (end 127.361274 68.069487) (width 0.25) (layer "F.Cu") (net 1) (tstamp 59eb23d6-d62d-41f2-906e-00448418d1b2))
(segment (start 125.9992 65.2932) (end 127.5842 66.8782) (width 0.25) (layer "F.Cu") (net 2) (tstamp 998f5b2f-974e-461a-af95-91a3471df90b))
)

20328
qa/data/issue4774.kicad_pcb Normal file

File diff suppressed because it is too large Load Diff

460
qa/data/issue4774.kicad_pro Normal file
View File

@ -0,0 +1,460 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.381,
"copper_line_width": 0.381,
"copper_text_italic": false,
"copper_text_size_h": 1.524,
"copper_text_size_v": 2.032,
"copper_text_thickness": 0.30479999999999996,
"copper_text_upright": true,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 1,
"dimension_units": 0,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"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.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": true,
"pads": {
"drill": 0.75,
"height": 1.3,
"width": 1.3
},
"silk_line_width": 0.381,
"silk_text_italic": false,
"silk_text_size_h": 1.524,
"silk_text_size_v": 1.524,
"silk_text_thickness": 0.30479999999999996,
"silk_text_upright": true,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"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",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "error",
"silk_overlap": "error",
"skew_out_of_range": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rule_severitieslegacy_courtyards_overlap": true,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.01,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.508,
"min_microvia_drill": 0.127,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.5,
"min_track_width": 0.25,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.8999999999999999
},
"track_widths": [
0.5,
0.4,
0.5
],
"via_dimensions": [
{
"diameter": 1.6,
"drill": 0.6
}
],
"zones_allow_external_fillets": true,
"zones_use_no_outline": true
},
"layer_presets": []
},
"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_label_syntax": "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",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "error",
"no_connect_dangling": "error",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "error",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"legacy": {
"common": {
"NetDir": ""
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "pic_programmer.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.25,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.25,
"line_style": 0,
"microvia_diameter": 0.508,
"microvia_drill": 0.127,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.5,
"via_diameter": 1.6,
"via_drill": 0.6,
"wire_width": 5.0
},
{
"bus_width": 12.0,
"clearance": 0.28,
"diff_pair_gap": 0.28,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.28,
"line_style": 0,
"microvia_diameter": 0.508,
"microvia_drill": 0.127,
"name": "POWER",
"nets": [
"GND",
"VCC"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8,
"via_diameter": 1.6,
"via_drill": 0.6,
"wire_width": 5.0
}
],
"meta": {
"version": 0
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "pic_programmer.net",
"specctra_dsn": "",
"step": "pic_programmer.step",
"vmrl": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 36.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.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,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.2
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "",
"ngspice": {
"meta": {
"version": 0
},
"model_mode": 0
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"2e45d1d2-c73f-46e5-98d6-3a9dc360bff5",
""
],
[
"00000000-0000-0000-0000-00004804a5e2",
"pic_sockets"
]
],
"text_variables": {}
}

44748
qa/data/issue5102.kicad_pcb Normal file

File diff suppressed because it is too large Load Diff

558
qa/data/issue5567.kicad_pcb Normal file
View File

@ -0,0 +1,558 @@
(kicad_pcb (version 20200829) (generator pcbnew)
(general
(thickness 1.6)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(32 "B.Adhes" user)
(33 "F.Adhes" user)
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user)
(37 "F.SilkS" user)
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user)
(41 "Cmts.User" user)
(42 "Eco1.User" user)
(43 "Eco2.User" user)
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user)
(47 "F.CrtYd" user)
(48 "B.Fab" user)
(49 "F.Fab" user)
)
(setup
(pcbplotparams
(layerselection 0x010fc_ffffffff)
(usegerberextensions false)
(usegerberattributes true)
(usegerberadvancedattributes true)
(creategerberjobfile true)
(svguseinch false)
(svgprecision 6)
(excludeedgelayer true)
(linewidth 0.300000)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue true)
(plotinvisibletext false)
(sketchpadsonfab false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 0)
(scaleselection 1)
(outputdirectory "gerbers/")
)
)
(property "REVISION" "69")
(net 0 "")
(net 1 "Net-(R1-Pad1)")
(module "Generic:Fiducial_rotondo" locked (layer "F.Cu") (tedit 5F5932F4) (tstamp b3504248-f76a-4229-bca9-2bcac3499e3c)
(at 99.822 118.364)
(descr "Fiducial, Modern, Copper Top, Passermarke,")
(tags "Fiducial, Modern, Copper Top, Passermarke,")
(zone_connect 0)
(attr smd)
(fp_text reference "REF**" (at 0 -2.25) (layer "F.SilkS") hide
(effects (font (size 0.5 0.5) (thickness 0.125)))
(tstamp 1fdabcd1-8845-4fcc-add9-72046aea4ffb)
)
(fp_text value "Fiducial_Modern_CopperTop" (at 0 2.5) (layer "F.Fab") hide
(effects (font (size 0.4 0.4) (thickness 0.1)))
(tstamp 1b030bf5-ce07-4512-895d-e6d75aebe053)
)
(pad "~" smd circle (at 0 0) (size 2 2) (layers "F.Cu" "F.Mask")
(solder_mask_margin 1) (clearance 1) (zone_connect 0) (tstamp a6947c38-614a-44c9-870f-a0ea180a795c))
)
(module "Resistor_THT:R_Axial_Power_L20.0mm_W6.4mm_P30.48mm" (layer "F.Cu") (tedit 5F554420) (tstamp e8c25ce9-6330-4d05-b8a3-64362146b70f)
(at 131.572 102.87)
(descr "Resistor, Axial_Power series, Box, pin pitch=30.48mm, 4W, length*width*height=20*6.4*6.4mm^3, http://cdn-reichelt.de/documents/datenblatt/B400/5WAXIAL_9WAXIAL_11WAXIAL_17WAXIAL%23YAG.pdf")
(tags "Resistor Axial_Power series Box pin pitch 30.48mm 4W length 20mm width 6.4mm height 6.4mm")
(property "Sheet file" "/home/michele/Documenti/pcb/kicad/TestPcb/test/test.kicad_sch")
(property "Sheet name" "")
(path "/0f0ba968-70b8-46a9-8c63-138fe07fce88")
(attr through_hole)
(fp_text reference "R1" (at 15.24 -4.32) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 33961c78-a8fc-4bea-8c9a-47a8bb3b283c)
)
(fp_text value "R" (at 15.24 4.32) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 578c0f77-16c1-4ba9-8178-77bdd0554744)
)
(fp_text user "${REFERENCE}" (at 15.24 0) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 44b4bc7e-d888-435c-a324-9682845e1804)
)
(fp_line (start 1.44 0) (end 5.12 0) (layer "F.SilkS") (width 0.12) (tstamp 23314b70-7bb5-4872-af54-52a4392cbd08))
(fp_line (start 5.12 -3.32) (end 5.12 3.32) (layer "F.SilkS") (width 0.12) (tstamp 4785e17d-76cf-4119-b074-1761cf7961c6))
(fp_line (start 5.12 3.32) (end 25.36 3.32) (layer "F.SilkS") (width 0.12) (tstamp 4ba90853-fc8b-4450-b4ec-caf46ce8be77))
(fp_line (start 29.04 0) (end 25.36 0) (layer "F.SilkS") (width 0.12) (tstamp 6ef0de6c-0a4f-4ac8-a7fc-5201239a024a))
(fp_line (start 25.36 -3.32) (end 5.12 -3.32) (layer "F.SilkS") (width 0.12) (tstamp bbe3806e-92ad-4e82-8e97-e9534134d4a0))
(fp_line (start 25.36 3.32) (end 25.36 -3.32) (layer "F.SilkS") (width 0.12) (tstamp ef263310-9452-41fe-a1de-94aedd7b4e41))
(fp_line (start -1.45 -3.45) (end -1.45 3.45) (layer "F.CrtYd") (width 0.05) (tstamp 039d24fc-116c-4f39-a3d5-723af1855d72))
(fp_line (start 31.94 -3.45) (end -1.45 -3.45) (layer "F.CrtYd") (width 0.05) (tstamp 0c00c4d9-df4c-4d75-8e03-f1808dd7922c))
(fp_line (start 31.94 3.45) (end 31.94 -3.45) (layer "F.CrtYd") (width 0.05) (tstamp 1e70bb17-114e-4f86-85cf-fb2a15bedfb5))
(fp_line (start -1.45 3.45) (end 31.94 3.45) (layer "F.CrtYd") (width 0.05) (tstamp ff7f571b-30be-4999-bba6-bc589cc1f451))
(fp_line (start 5.24 3.2) (end 25.24 3.2) (layer "F.Fab") (width 0.1) (tstamp 15fbd1b4-0e19-4952-9228-9648e9cb31d5))
(fp_line (start 5.24 -3.2) (end 5.24 3.2) (layer "F.Fab") (width 0.1) (tstamp 398ccc53-47f2-4ee5-b000-1079912156ca))
(fp_line (start 25.24 -3.2) (end 5.24 -3.2) (layer "F.Fab") (width 0.1) (tstamp b9a51113-efb9-4cb9-b1ce-d6da007a5150))
(fp_line (start 25.24 3.2) (end 25.24 -3.2) (layer "F.Fab") (width 0.1) (tstamp ccc55d14-e5cd-428c-9683-d95eb41eed6b))
(fp_line (start 30.48 0) (end 25.24 0) (layer "F.Fab") (width 0.1) (tstamp e867e522-45b9-4523-9c99-7a48e75a0d52))
(fp_line (start 0 0) (end 5.24 0) (layer "F.Fab") (width 0.1) (tstamp f4f4a283-9536-428a-bd45-52cdefb03549))
(pad "1" thru_hole circle (at 0 0) (size 2.4 2.4) (drill 1.2) (layers *.Cu *.Mask)
(net 1 "Net-(R1-Pad1)") (tstamp 7b9130fc-8b3f-498a-82ce-e4178b5cf96d))
(pad "2" thru_hole oval (at 30.48 0) (size 2.4 2.4) (drill 1.2) (layers *.Cu *.Mask)
(net 1 "Net-(R1-Pad1)") (tstamp 5c93ec7d-f049-4773-ad21-2fbd90049cf0))
(model "${KISYS3DMOD}/Resistor_THT.3dshapes/R_Axial_Power_L20.0mm_W6.4mm_P30.48mm.wrl" hide
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module "Generic:Fiducial_quadro" locked (layer "F.Cu") (tedit 5F593333) (tstamp f200befb-4e0a-4299-887f-bd766a14b3b0)
(at 193.294 83.566)
(descr "Fiducial, Classical, Big, Copper Top, Typ 2, Passermarke,")
(tags "Fiducial, Classical, Big, Copper Top, Typ 2, Passermarke,")
(zone_connect 0)
(attr smd)
(fp_text reference "REF**" (at 0 -2.75) (layer "F.SilkS") hide
(effects (font (size 0.5 0.5) (thickness 0.125)))
(tstamp e7ac493c-f85b-4abe-8b48-cd6e38516b1a)
)
(fp_text value "Fiducial_Modern_CopperTop" (at 0 2.75) (layer "F.Fab") hide
(effects (font (size 0.4 0.4) (thickness 0.1)))
(tstamp e8fa9036-2a5d-4fde-9566-2cf7f4d308d5)
)
(pad "~" smd rect (at 0 0) (size 2 2) (layers "F.Cu" "F.Mask")
(solder_mask_margin 1) (clearance 1) (zone_connect 0) (tstamp 1fc57611-f9ec-4735-8195-f41d90b2e884))
)
(gr_rect (start 92.202 77.216) (end 200.66 125.984) (layer "Edge.Cuts") (width 0.1) (tstamp 614df79a-07d2-4f87-b5b7-f4a68d7b9c8b))
(gr_text "TEST ${REVISION}" (at 147.066 116.586) (layer "F.Cu") (tstamp 9c6708b2-4596-46a5-8c69-43f2009206b9)
(effects (font (size 1.5 1.5) (thickness 0.3) italic))
)
(segment (start 192.786 122.428) (end 192.786 110.236) (width 0.25) (layer "F.Cu") (net 1) (tstamp 55ab180d-2aec-499f-8a3f-6b8c1e5f0741))
(segment (start 190.246 107.696) (end 166.878 107.696) (width 0.25) (layer "F.Cu") (net 1) (tstamp 55df549e-cb0e-42b1-80d7-14db12c13c4b))
(segment (start 115.57 104.394) (end 117.094 102.87) (width 0.25) (layer "F.Cu") (net 1) (tstamp 64a89a4b-cafd-4e7a-a3bd-6f7451965e7d))
(segment (start 115.57 122.428) (end 115.57 104.394) (width 0.25) (layer "F.Cu") (net 1) (tstamp 8d5d39fa-3874-4c9c-bbec-5300ae568387))
(segment (start 192.786 110.236) (end 190.246 107.696) (width 0.25) (layer "F.Cu") (net 1) (tstamp c3847295-be05-4163-9be8-4f556ff489b2))
(segment (start 115.57 122.428) (end 117.348 124.206) (width 3) (layer "F.Cu") (net 1) (tstamp d599dce9-0f9b-4933-987e-a62596401d4c))
(segment (start 166.878 107.696) (end 162.052 102.87) (width 0.25) (layer "F.Cu") (net 1) (tstamp d7482f1b-1fd6-43e5-afac-c6e61485266f))
(segment (start 117.348 124.206) (end 191.008 124.206) (width 3) (layer "F.Cu") (net 1) (tstamp e35ab8e3-674b-4581-a1a8-159391330336))
(segment (start 117.094 102.87) (end 131.572 102.87) (width 0.25) (layer "F.Cu") (net 1) (tstamp f0d8851a-2653-4c3f-bc1d-5ad73ea199d5))
(segment (start 191.008 124.206) (end 192.786 122.428) (width 3) (layer "F.Cu") (net 1) (tstamp f2f00b4c-2e81-484b-82c3-6a2dde044439))
(zone (net 0) (net_name "") (layer "F.Cu") (tstamp ce5620fc-c846-4b15-ae70-fb5fbbcca2b9) (hatch edge 0.508)
(connect_pads (clearance 0))
(min_thickness 0.254)
(keepout (tracks not_allowed) (vias not_allowed) (pads not_allowed ) (copperpour not_allowed) (footprints allowed))
(fill (thermal_gap 0.508) (thermal_bridge_width 0.508))
(polygon
(pts
(xy 188.1378 106.0958)
(xy 181.0004 106.0958)
(xy 181.0004 93.1672)
(xy 188.1378 93.1672)
)
)
)
(zone (net 0) (net_name "") (layer "F.Cu") (tstamp d805b776-a3e4-4510-9eb2-b1d522f09c42) (hatch edge 0.508)
(connect_pads (clearance 0.2))
(min_thickness 0.254) (filled_areas_thickness no)
(fill yes (thermal_gap 0.508) (thermal_bridge_width 0.508) (smoothing fillet) (radius 2))
(polygon
(pts
(xy 200.152 125.476)
(xy 92.71 125.476)
(xy 92.71 77.724)
(xy 200.152 77.724)
)
)
(filled_polygon
(layer F.Cu)
(island)
(pts
(xy 198.208926 77.728071)
(xy 198.43663 77.744357)
(xy 198.715465 77.805014)
(xy 198.98283 77.904736)
(xy 199.233282 78.041493)
(xy 199.461721 78.212501)
(xy 199.663499 78.414279)
(xy 199.834507 78.642718)
(xy 199.971264 78.89317)
(xy 200.070986 79.160535)
(xy 200.131643 79.43937)
(xy 200.152 79.724)
(xy 200.152 123.476)
(xy 200.131643 123.76063)
(xy 200.070986 124.039465)
(xy 199.971264 124.30683)
(xy 199.834507 124.557282)
(xy 199.663499 124.785721)
(xy 199.461721 124.987499)
(xy 199.233282 125.158507)
(xy 198.98283 125.295264)
(xy 198.715465 125.394986)
(xy 198.43663 125.455643)
(xy 198.208926 125.471929)
(xy 198.151999 125.476)
(xy 192.362869 125.476)
(xy 192.298433 125.320437)
(xy 194.044496 123.574375)
(xy 194.19343 123.3953)
(xy 194.346139 123.12262)
(xy 194.34614 123.122619)
(xy 194.446598 122.826676)
(xy 194.491444 122.51738)
(xy 194.489689 122.4727)
(xy 194.479175 122.20509)
(xy 194.4102 121.900265)
(xy 194.4102 121.900263)
(xy 194.286831 121.613118)
(xy 194.260766 121.574109)
(xy 194.113198 121.353256)
(xy 193.895117 121.129391)
(xy 193.895115 121.129389)
(xy 193.639894 120.949015)
(xy 193.356071 120.818171)
(xy 193.1115 120.756058)
(xy 193.1115 110.268052)
(xy 193.117876 110.235999)
(xy 193.1115 110.203947)
(xy 193.1115 110.203946)
(xy 193.092613 110.108997)
(xy 193.020672 110.001328)
(xy 192.993496 109.98317)
(xy 190.498832 107.488507)
(xy 190.480672 107.461328)
(xy 190.373003 107.389387)
(xy 190.278054 107.3705)
(xy 190.278053 107.3705)
(xy 190.265882 107.368079)
(xy 190.246 107.364124)
(xy 190.213947 107.3705)
(xy 167.012827 107.3705)
(xy 163.245293 103.602968)
(xy 163.321767 103.471573)
(xy 163.404973 103.249028)
(xy 163.449492 103.015649)
(xy 163.452031 102.751209)
(xy 163.429598 102.619975)
(xy 163.411999 102.517014)
(xy 163.333081 102.292915)
(xy 163.333081 102.292914)
(xy 163.217534 102.085316)
(xy 163.06866 101.900155)
(xy 162.890715 101.742722)
(xy 162.688797 101.617528)
(xy 162.688792 101.617525)
(xy 162.468659 101.528139)
(xy 162.236613 101.47712)
(xy 162.094218 101.470405)
(xy 161.99929 101.465928)
(xy 161.999288 101.465928)
(xy 161.76347 101.494883)
(xy 161.535903 101.563156)
(xy 161.32309 101.668798)
(xy 161.131126 101.80878)
(xy 161.131123 101.808783)
(xy 160.965484 101.979113)
(xy 160.830913 102.174916)
(xy 160.731255 102.390595)
(xy 160.669363 102.619975)
(xy 160.647004 102.856516)
(xy 160.664817 103.093431)
(xy 160.722295 103.323964)
(xy 160.817794 103.541514)
(xy 160.948581 103.739864)
(xy 161.110922 103.913345)
(xy 161.300162 104.056987)
(xy 161.327084 104.071002)
(xy 161.51091 104.166695)
(xy 161.510913 104.166696)
(xy 161.737124 104.239325)
(xy 161.972342 104.272801)
(xy 161.972343 104.272801)
(xy 162.209839 104.266167)
(xy 162.442822 104.219613)
(xy 162.442823 104.219613)
(xy 162.442826 104.219612)
(xy 162.664628 104.13447)
(xy 162.784796 104.063121)
(xy 166.625172 107.903499)
(xy 166.643328 107.930672)
(xy 166.660183 107.941934)
(xy 166.750996 108.002613)
(xy 166.878 108.027876)
(xy 166.910055 108.0215)
(xy 190.111175 108.0215)
(xy 192.460501 110.370827)
(xy 192.4605 120.748354)
(xy 192.430933 120.757535)
(xy 192.430931 120.757535)
(xy 192.132458 120.850212)
(xy 192.132456 120.850213)
(xy 191.855871 120.995732)
(xy 191.63258 121.17655)
(xy 191.632576 121.176554)
(xy 190.303631 122.5055)
(xy 118.05237 122.5055)
(xy 116.716378 121.169508)
(xy 116.537301 121.020571)
(xy 116.537302 121.020571)
(xy 116.5373 121.02057)
(xy 116.370521 120.927169)
(xy 116.264618 120.86786)
(xy 115.8955 120.742563)
(xy 115.8955 115.0805)
(xy 141.878848 115.0805)
(xy 141.878848 118.1965)
(xy 152.253152 118.1965)
(xy 152.253152 115.0805)
(xy 141.878848 115.0805)
(xy 115.8955 115.0805)
(xy 115.8955 104.528825)
(xy 117.228826 103.1955)
(xy 130.210266 103.1955)
(xy 130.242295 103.323964)
(xy 130.337794 103.541514)
(xy 130.468581 103.739864)
(xy 130.630922 103.913345)
(xy 130.820162 104.056987)
(xy 130.847084 104.071002)
(xy 131.03091 104.166695)
(xy 131.030913 104.166696)
(xy 131.257124 104.239325)
(xy 131.492342 104.272801)
(xy 131.492343 104.272801)
(xy 131.729839 104.266167)
(xy 131.962822 104.219613)
(xy 131.962823 104.219613)
(xy 131.962826 104.219612)
(xy 132.184631 104.134469)
(xy 132.388918 104.013172)
(xy 132.388919 104.013171)
(xy 132.388921 104.01317)
(xy 132.569854 103.859184)
(xy 132.722255 103.676914)
(xy 132.722256 103.676913)
(xy 132.841767 103.471573)
(xy 132.924973 103.249028)
(xy 132.969492 103.015649)
(xy 132.972031 102.751209)
(xy 132.949598 102.619975)
(xy 132.931999 102.517014)
(xy 132.853081 102.292915)
(xy 132.853081 102.292914)
(xy 132.737534 102.085316)
(xy 132.58866 101.900155)
(xy 132.410715 101.742722)
(xy 132.208797 101.617528)
(xy 132.208792 101.617525)
(xy 131.988659 101.528139)
(xy 131.756613 101.47712)
(xy 131.614218 101.470405)
(xy 131.51929 101.465928)
(xy 131.519288 101.465928)
(xy 131.28347 101.494883)
(xy 131.055903 101.563156)
(xy 130.84309 101.668798)
(xy 130.651126 101.80878)
(xy 130.651123 101.808783)
(xy 130.485484 101.979113)
(xy 130.350913 102.174916)
(xy 130.251255 102.390595)
(xy 130.209728 102.5445)
(xy 117.126049 102.5445)
(xy 117.093999 102.538125)
(xy 117.061949 102.5445)
(xy 117.061946 102.5445)
(xy 116.966997 102.563387)
(xy 116.859328 102.635328)
(xy 116.84117 102.662505)
(xy 115.362505 104.14117)
(xy 115.335329 104.159328)
(xy 115.281878 104.239325)
(xy 115.263388 104.266997)
(xy 115.238124 104.394)
(xy 115.244501 104.426058)
(xy 115.2445 120.758038)
(xy 115.042263 120.8038)
(xy 114.755118 120.927169)
(xy 114.755116 120.92717)
(xy 114.495256 121.100802)
(xy 114.271391 121.318883)
(xy 114.091015 121.574108)
(xy 113.960172 121.85793)
(xy 113.883241 122.160844)
(xy 113.862801 122.472703)
(xy 113.899535 122.783068)
(xy 113.913076 122.826675)
(xy 113.992214 123.081543)
(xy 114.137731 123.358125)
(xy 114.318559 123.58143)
(xy 116.057566 125.320437)
(xy 115.99313 125.476)
(xy 94.710001 125.476)
(xy 94.653074 125.471929)
(xy 94.42537 125.455643)
(xy 94.146535 125.394986)
(xy 93.87917 125.295264)
(xy 93.628718 125.158507)
(xy 93.400279 124.987499)
(xy 93.198501 124.785721)
(xy 93.027493 124.557282)
(xy 92.890736 124.30683)
(xy 92.791014 124.039465)
(xy 92.730357 123.76063)
(xy 92.71 123.476)
(xy 92.71 118.44272)
(xy 97.818438 118.44272)
(xy 97.849518 118.724239)
(xy 97.919954 118.99857)
(xy 97.919955 118.998573)
(xy 98.028343 119.260244)
(xy 98.172514 119.504024)
(xy 98.172516 119.504027)
(xy 98.172517 119.504028)
(xy 98.349604 119.725069)
(xy 98.556069 119.918953)
(xy 98.787794 120.081811)
(xy 99.040153 120.210395)
(xy 99.308112 120.302138)
(xy 99.308114 120.302138)
(xy 99.308116 120.302139)
(xy 99.586324 120.35521)
(xy 99.869237 120.368551)
(xy 99.86924 120.368551)
(xy 100.151212 120.341897)
(xy 100.426616 120.275779)
(xy 100.689956 120.171515)
(xy 100.935978 120.031186)
(xy 101.159774 119.857593)
(xy 101.356877 119.654199)
(xy 101.523355 119.425061)
(xy 101.523357 119.425058)
(xy 101.655885 119.174757)
(xy 101.751827 118.908266)
(xy 101.809262 118.630925)
(xy 101.822101 118.222384)
(xy 101.782193 117.941981)
(xy 101.703175 117.669999)
(xy 101.67665 117.611251)
(xy 101.586622 117.411862)
(xy 101.586621 117.411861)
(xy 101.58662 117.411858)
(xy 101.434863 117.172726)
(xy 101.364594 117.090453)
(xy 101.250917 116.957354)
(xy 101.038464 116.770051)
(xy 100.801738 116.614551)
(xy 100.801734 116.614549)
(xy 100.545467 116.493958)
(xy 100.378905 116.442717)
(xy 100.274756 116.410677)
(xy 99.995013 116.36637)
(xy 99.970618 116.365987)
(xy 99.711819 116.361921)
(xy 99.46234 116.393438)
(xy 99.430823 116.39742)
(xy 99.38236 116.410678)
(xy 99.157634 116.472155)
(xy 98.897699 116.584639)
(xy 98.897697 116.58464)
(xy 98.656204 116.732627)
(xy 98.437972 116.913164)
(xy 98.247355 117.12265)
(xy 98.247353 117.122653)
(xy 98.088156 117.356902)
(xy 98.061232 117.411862)
(xy 97.963552 117.611251)
(xy 97.87603 117.880618)
(xy 97.827334 118.15963)
(xy 97.818438 118.44272)
(xy 92.71 118.44272)
(xy 92.71 93.1672)
(xy 181.0004 93.1672)
(xy 181.0004 106.0958)
(xy 188.1378 106.0958)
(xy 188.1378 93.1672)
(xy 181.0004 93.1672)
(xy 92.71 93.1672)
(xy 92.71 82.566)
(xy 191.286655 82.566)
(xy 191.286655 84.566)
(xy 191.352116 84.923209)
(xy 191.464971 85.138237)
(xy 191.626007 85.320009)
(xy 191.825863 85.45796)
(xy 192.052927 85.544073)
(xy 192.133285 85.55383)
(xy 192.293998 85.573345)
(xy 194.294001 85.573345)
(xy 194.472604 85.540615)
(xy 194.651209 85.507884)
(xy 194.866237 85.395029)
(xy 195.048009 85.233993)
(xy 195.18596 85.034137)
(xy 195.272073 84.807073)
(xy 195.301345 84.566)
(xy 195.301345 82.566)
(xy 195.235884 82.208791)
(xy 195.123029 81.993763)
(xy 194.961993 81.811991)
(xy 194.762137 81.67404)
(xy 194.535073 81.587927)
(xy 194.454715 81.57817)
(xy 194.294002 81.558655)
(xy 192.293999 81.558655)
(xy 192.134268 81.587927)
(xy 191.936791 81.624116)
(xy 191.721763 81.736971)
(xy 191.539991 81.898007)
(xy 191.40204 82.097863)
(xy 191.315927 82.324927)
(xy 191.286655 82.566)
(xy 92.71 82.566)
(xy 92.71 79.724)
(xy 92.730357 79.43937)
(xy 92.791014 79.160535)
(xy 92.890736 78.89317)
(xy 93.027493 78.642718)
(xy 93.198501 78.414279)
(xy 93.400279 78.212501)
(xy 93.628718 78.041493)
(xy 93.87917 77.904736)
(xy 94.146535 77.805014)
(xy 94.42537 77.744357)
(xy 94.653074 77.728071)
(xy 94.710001 77.724)
(xy 198.151999 77.724)
)
)
)
)

372
qa/data/issue5567.kicad_pro Normal file
View File

@ -0,0 +1,372 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"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.049999999999999996,
"dimension_precision": 1,
"dimension_units": 0,
"fab_line_width": 0.09999999999999999,
"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.15,
"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": 1.2,
"height": 2.4,
"width": 2.4
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.19999999999999998
}
},
"diff_pair_dimensions": [
{
"gap": 0.25,
"via_gap": 0.25,
"width": 0.2
}
],
"drc_exclusions": [],
"meta": {
"version": 0
},
"rule_severities": {
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"drill_too_small": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"keepout": "error",
"malformed_courtyard": "error",
"microvia_drill_too_small": "error",
"microvia_too_small": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_annulus": "error",
"via_dangling": "warning",
"via_hole_larger_than_pad": "error",
"via_too_small": "error",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annulus": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_paste_clearance": 0.0,
"solder_paste_margin_ratio": 0.0
},
"track_widths": [
0.25
],
"via_dimensions": [
{
"diameter": 0.8,
"drill": 0.4
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_sheet_names": "error",
"global_label_dangling": "error",
"hier_label_mismatch": "error",
"label_dangling": "error",
"multiple_net_names": "error",
"net_not_bus_member": "error",
"no_connect_connected": "error",
"no_connect_dangling": "error",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "error",
"similar_labels": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "test.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 5.0,
"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.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 5.0
}
],
"meta": {
"version": 0
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vmrl": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 40.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.0,
"field_names": [],
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.35
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"6b283b09-4ae5-4474-9b11-e8fce1cb6c8d",
""
]
],
"text_variables": {
"REVISION": "69"
}
}

150
qa/data/issue5978.kicad_pcb Normal file
View File

@ -0,0 +1,150 @@
(kicad_pcb (version 20201002) (generator pcbnew)
(general
(thickness 0.6)
)
(paper "A4" portrait)
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(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)
)
(setup
(grid_origin 118.35 87.8)
(pcbplotparams
(layerselection 0x0020000_7ffffffe)
(disableapertmacros false)
(usegerberextensions true)
(usegerberattributes false)
(usegerberadvancedattributes false)
(creategerberjobfile false)
(svguseinch false)
(svgprecision 6)
(excludeedgelayer false)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue false)
(plotinvisibletext false)
(sketchpadsonfab false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 0)
(scaleselection 1)
(outputdirectory "output/")
)
)
(net 0 "")
(module "Library:QFN-20_EPthermal_4x4_Pitch0.5mm" (layer "F.Cu") (tedit 5A577FBB) (tstamp 45b7cde5-bc80-41b4-aa8e-41957f86bdb8)
(at 111.85 167.8)
(solder_mask_margin 0.05)
(attr smd)
(fp_text reference "U1" (at 3.1212 2.10262) (layer "F.SilkS")
(effects (font (size 0.6 0.6) (thickness 0.125)))
(tstamp 8b4262ff-30a3-4738-9376-1c809710ad89)
)
(fp_text value "DRV8662" (at -0.95 1.55) (layer "F.Fab")
(effects (font (size 0.2 0.2) (thickness 0.04)))
(tstamp 5f9a7236-4a12-4d4e-8a5e-887c58ad8dec)
)
(fp_line (start 1.5 2.15) (end 2.15 2.15) (layer "F.SilkS") (width 0.15) (tstamp 327d2c64-87cf-402c-afdd-ed5a14beeb7e))
(fp_line (start -1.5 2.15) (end -2.15 2.15) (layer "F.SilkS") (width 0.15) (tstamp 6a1ed244-ec32-45a6-b784-c506ab3c221b))
(fp_line (start -1.5 -2.15) (end -2.45 -2.15) (layer "F.SilkS") (width 0.15) (tstamp 75225048-9669-4639-ac49-c0a544a1eafa))
(fp_line (start 1.5 -2.15) (end 2.15 -2.15) (layer "F.SilkS") (width 0.15) (tstamp 7944d492-4921-47c1-a264-5b48b2ae90a5))
(fp_line (start 2.15 2.15) (end 2.15 1.5) (layer "F.SilkS") (width 0.15) (tstamp 7c24d088-1c24-4609-910e-7f97e05d7552))
(fp_line (start 2.15 -2.15) (end 2.15 -1.5) (layer "F.SilkS") (width 0.15) (tstamp c3ec1833-b076-414f-805b-967aa57886cd))
(fp_line (start -2.15 2.15) (end -2.15 1.5) (layer "F.SilkS") (width 0.15) (tstamp d2f67dea-2553-4e93-891f-77c862864ea6))
(fp_line (start -2.7 -2.7) (end 2.7 -2.7) (layer "F.CrtYd") (width 0.05) (tstamp 36f09194-9ad6-4b52-b405-d3bd5ea8e9e6))
(fp_line (start 2.7 2.7) (end -2.7 2.7) (layer "F.CrtYd") (width 0.05) (tstamp 6e9c91e8-ae74-4418-8f8a-46261d4f8e63))
(fp_line (start -2.7 2.7) (end -2.7 -2.7) (layer "F.CrtYd") (width 0.05) (tstamp deb91194-cc4f-4bb7-bf04-6785f76afef6))
(fp_line (start 2.7 -2.7) (end 2.7 2.7) (layer "F.CrtYd") (width 0.05) (tstamp e00ef1b1-d5b2-4815-8652-d067f42c7c52))
(fp_line (start 2 -2) (end -1 -2) (layer "F.Fab") (width 0.15) (tstamp 3a9112de-af1c-4faf-b4ab-9a961b86ff75))
(fp_line (start -2 -1) (end -2 2) (layer "F.Fab") (width 0.15) (tstamp 4e9f2468-ca53-4094-a969-dad35490bef5))
(fp_line (start -2 2) (end 2 2) (layer "F.Fab") (width 0.15) (tstamp 7d98b9b4-7fa5-4ec2-b289-94599c56eb28))
(fp_line (start 2 2) (end 2 -2) (layer "F.Fab") (width 0.15) (tstamp a8e95b8b-1ba3-4b98-a49a-a1379bbfc6a4))
(fp_line (start -1 -2) (end -2 -1) (layer "F.Fab") (width 0.15) (tstamp bb4d5b22-c955-448b-ba2c-e21d20421eb0))
(pad "" smd rect (at 0.7 -0.45 180) (size 1.15 0.5) (layers "F.Paste")
(solder_paste_margin -0.001) (solder_paste_margin_ratio -0.00001) (tstamp 53be17fd-90aa-45c2-8960-2aac1f09b2b7))
(pad "" smd rect (at 0.45 0 270) (size 2.5 0.5) (layers "F.Paste")
(solder_paste_margin -0.001) (solder_paste_margin_ratio -0.00001) (tstamp 7b955d4c-951f-47ab-9cb9-d3535edabc4d))
(pad "" smd rect (at -0.7 -0.45 180) (size 1.15 0.5) (layers "F.Paste")
(solder_paste_margin -0.001) (solder_paste_margin_ratio -0.00001) (tstamp 7f5d1a78-4bf0-4a63-a6a7-e9f734b54bca))
(pad "" smd rect (at -0.7 0.45 180) (size 1.15 0.5) (layers "F.Paste")
(solder_paste_margin -0.001) (solder_paste_margin_ratio -0.00001) (tstamp 8b4516fb-bc3a-404c-a00d-38569b343da5))
(pad "" smd rect (at 0.7 0.45 180) (size 1.15 0.5) (layers "F.Paste")
(solder_paste_margin -0.001) (solder_paste_margin_ratio -0.00001) (tstamp c8fba975-8e7c-403e-ae9c-49154d2b6189))
(pad "" smd rect (at -0.45 0 270) (size 2.5 0.5) (layers "F.Paste")
(solder_paste_margin -0.001) (solder_paste_margin_ratio -0.00001) (tstamp ef12e846-e57f-4e28-9f2e-3f00e11c197e))
(pad "1" smd oval (at -2 -1 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 768a7468-1753-4223-902f-76af41e9fac5))
(pad "2" smd oval (at -2 -0.5 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 6b1c48fe-8c58-4c07-84bd-19466c67d61e))
(pad "3" smd oval (at -2 0 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp b4e991e0-48e3-4f1e-8958-eb74f1605ff3))
(pad "4" smd oval (at -2 0.5 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp c469c387-729d-49e0-ba07-d3274e6750f2))
(pad "5" smd oval (at -2 1 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 91136658-66ff-4f6e-a83a-eb428d0a82ec))
(pad "6" smd oval (at -1 2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp e6e435c1-f3b5-432d-baed-6a3b0d037e6f))
(pad "7" smd oval (at -0.5 2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 648b167b-9735-4366-8574-8291918326c0))
(pad "8" smd oval (at 0 2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp d4fc124e-fd92-44fe-bfff-dbde2578cede))
(pad "9" smd oval (at 0.5 2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 5a9cc9c0-cb48-4734-8d45-42b2d71efaa8))
(pad "10" smd oval (at 1 2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 5f46267a-8bbd-46df-b186-11bf6c0aeae2))
(pad "11" smd oval (at 2 1 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 6e62e90e-49b3-4580-80df-b98eb8e6bdd3))
(pad "12" smd oval (at 2 0.5 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 688d58dc-5cb4-4847-94fb-89376c16c1b1))
(pad "13" smd oval (at 2 0 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 4e747f0e-c64a-47de-bbfc-9a80d6053f48))
(pad "14" smd oval (at 2 -0.5 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp a86fee9b-e895-4625-af7b-1bbbcaa60a1b))
(pad "15" smd oval (at 2 -1 90) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 3a07e109-54f7-47e0-b916-a4bf49106377))
(pad "16" smd oval (at 1 -2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp b79e63c3-00af-402c-9f78-8748b728dabb))
(pad "17" smd oval (at 0.5 -2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp c49d8a2a-516e-4c7c-8a70-3d52e15a470e))
(pad "18" smd oval (at 0 -2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 73f5fd23-6004-41c3-93d4-82d07b0b753f))
(pad "19" smd oval (at -0.5 -2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 8c8282eb-b554-4fc9-a715-20220d73947d))
(pad "20" smd oval (at -1 -2) (size 0.28 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp b05e47c7-918e-499c-a5da-c457afef2e5c))
(pad "21" smd rect (at 0 0) (size 2.69 2.69) (layers "F.Cu" "F.Mask")
(solder_paste_margin -0.1) (solder_paste_margin_ratio -0.5) (tstamp 0ee5314f-6106-43e6-98d8-f37806cc06dc))
(pad "21" thru_hole circle (at 0 0) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp 2dc81eab-8a72-457b-8a91-39614ced35b3))
(pad "21" thru_hole circle (at 0.9 -0.9) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp 52012ffa-7aa6-4d85-84f0-9f2f9f9df1c4))
(pad "21" thru_hole circle (at 0 0.9) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp 5225ad7d-bb06-4401-bdb8-110ab2b0aade))
(pad "21" thru_hole circle (at 0.9 0.9) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp 6ea7d2d3-6d72-47b6-87b1-f7adc48bf14a))
(pad "21" thru_hole circle (at -0.9 -0.9) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp 70d30e2f-895f-491c-9c54-437a2ccac849))
(pad "21" thru_hole circle (at 0 -0.9) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp 77d71e37-7032-46a2-8537-6d07e9ba2472))
(pad "21" smd rect (at 0 0) (size 2.69 2.69) (layers "B.Cu")
(solder_paste_margin -0.1) (solder_paste_margin_ratio -0.5) (tstamp 8450d738-e08f-4bb2-8086-d58a63ba384c))
(pad "21" thru_hole circle (at -0.9 0) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp 8ff0f344-6a82-4ed0-96d9-64833fc41a86))
(pad "21" thru_hole circle (at 0.9 0) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp bfcd3d32-8e9a-4760-ae2b-b32e0778299a))
(pad "21" thru_hole circle (at -0.9 0.9) (size 0.45 0.45) (drill 0.3) (layers *.Cu)
(solder_paste_margin_ratio -0.5) (tstamp dba7fae7-a726-4eff-bcfe-fa5080a06b44))
)
)

429
qa/data/issue5978.kicad_pro Normal file
View File

@ -0,0 +1,429 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"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.049999999999999996,
"dimension_precision": 1,
"dimension_units": 0,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"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.15,
"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.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 1
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_too_small": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"keepout": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_too_small": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "error",
"silk_overlap": "error",
"skew_out_of_range": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"via_hole_larger_than_pad": "error",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_annulus": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_paste_clearance": 0.0,
"solder_paste_margin_ratio": 0.0
},
"track_widths": [
0.2
],
"via_dimensions": [
{
"diameter": 0.6,
"drill": 0.3
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_sheet_names": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "error",
"no_connect_dangling": "error",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"similar_labels": "warning",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "hole_pad_clearance.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"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.0
},
{
"bus_width": 12.0,
"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": "3volt",
"nets": [],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"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": "Power",
"nets": [],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.5,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6.0
}
],
"meta": {
"version": 0
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vmrl": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 40.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.0,
"field_names": [],
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.3
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "Pcbnew",
"page_layout_descr_file": "",
"plot_directory": "output/",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"eae8b250-f694-468f-ad9f-c2e3304daf14",
""
]
],
"text_variables": {}
}

13501
qa/data/issue5990.kicad_pcb Executable file

File diff suppressed because it is too large Load Diff

463
qa/data/issue5990.kicad_pro Executable file
View File

@ -0,0 +1,463 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.15239999999999998,
"copper_line_width": 0.15239999999999998,
"copper_text_italic": false,
"copper_text_size_h": 0.8128,
"copper_text_size_v": 0.8128,
"copper_text_thickness": 0.15239999999999998,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 1,
"dimension_units": 0,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.15239999999999998,
"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.15239999999999998,
"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.0,
"height": 1.80086,
"width": 2.49936
},
"silk_line_width": 0.15239999999999998,
"silk_text_italic": false,
"silk_text_size_h": 0.8128,
"silk_text_size_v": 0.8128,
"silk_text_thickness": 0.15239999999999998,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.2032
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 1
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_too_small": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"keepout": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_too_small": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "error",
"silk_overlap": "error",
"skew_out_of_range": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"via_hole_larger_than_pad": "error",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.2032,
"min_copper_edge_clearance": 0.3,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.39877999999999997,
"min_microvia_drill": 0.29972,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.2032,
"min_via_annular_width": 0.049999999999999996,
"min_via_annulus": 0.15,
"min_via_diameter": 0.6,
"solder_mask_clearance": 0.15239999999999998,
"solder_mask_min_width": 0.15239999999999998,
"solder_paste_clearance": 0.0,
"solder_paste_margin_ratio": -0.0
},
"track_widths": [
0.0,
0.254,
0.3048,
0.4064,
0.508,
0.6096,
0.8128,
1.016,
1.27,
1.524,
1.778,
2.032
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
},
{
"diameter": 0.6,
"drill": 0.3
},
{
"diameter": 0.7,
"drill": 0.4
},
{
"diameter": 0.8,
"drill": 0.5
},
{
"diameter": 0.9,
"drill": 0.6
},
{
"diameter": 1.0,
"drill": 0.7
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": false
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_sheet_names": "error",
"global_label_dangling": "error",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "error",
"net_not_bus_member": "error",
"no_connect_connected": "error",
"no_connect_dangling": "error",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"similar_labels": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "001.04.010.1020.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"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.254,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6.0
},
{
"bus_width": 6.0,
"clearance": 0.4,
"diff_pair_gap": 0.2032,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2032,
"line_style": 0,
"microvia_diameter": 0.6,
"microvia_drill": 0.3,
"name": "100V",
"nets": [],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.254,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6.0
},
{
"bus_width": 6.0,
"clearance": 0.8,
"diff_pair_gap": 0.508,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.508,
"line_style": 0,
"microvia_diameter": 0.6,
"microvia_drill": 0.3,
"name": "170V",
"nets": [
"/170V"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.4064,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6.0
}
],
"hidden_nets": [],
"meta": {
"version": 0
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "../../Mech/001.04.010.1020.step",
"vmrl": "../../Mech/001.04.010.0620.wrl",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 20.0,
"default_line_thickness": 6.0,
"default_text_size": 40.0,
"default_wire_thickness": 6.0,
"field_names": [],
"intersheets_ref_prefix": "[",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "]",
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.3
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"8fbdd1bf-c6bc-48ff-8b55-861d7eb93f67",
""
]
],
"text_variables": {}
}

33637
qa/data/issue6039.kicad_pcb Normal file

File diff suppressed because it is too large Load Diff

494
qa/data/issue6039.kicad_pro Normal file
View File

@ -0,0 +1,494 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": true,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 1,
"dimension_units": 2,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": true,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": true,
"pads": {
"drill": 0.0,
"height": 1.0,
"width": 1.0
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": true,
"zones": {
"45_degree_only": false,
"min_clearance": 0.19999999999999998
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [
"clearance|87150000|140800000|713a642e-4662-4581-a311-4a183ae3a0a4|0e2e2e70-712c-4a91-9883-5badae873369",
"courtyards_overlap|102580000|139229999|00000000-0000-0000-0000-00005db27222|00000000-0000-0000-0000-00005e4ffe1e",
"courtyards_overlap|102580000|142700000|00000000-0000-0000-0000-00005db270f4|00000000-0000-0000-0000-00005e4ffe1e",
"courtyards_overlap|116660000|142900000|00000000-0000-0000-0000-00005db26ea8|00000000-0000-0000-0000-00005db2741b",
"courtyards_overlap|126820000|142900000|00000000-0000-0000-0000-00005db272bc|00000000-0000-0000-0000-00005db2741b",
"courtyards_overlap|144725000|118017468|00000000-0000-0000-0000-00005d888938|00000000-0000-0000-0000-00005e2b4dc2",
"courtyards_overlap|86925000|140617468|00000000-0000-0000-0000-00005db273cf|00000000-0000-0000-0000-00005e2b4dc5"
],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "ignore",
"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",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "ignore",
"silk_overlap": "ignore",
"skew_out_of_range": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_annulus": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"use_height_for_length_calcs": true
},
"track_widths": [
0.25,
0.2,
0.4,
1.0,
2.0
],
"via_dimensions": [
{
"diameter": 0.85,
"drill": 0.4
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": [
{
"activeLayer": -2,
"layers": [
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
41,
44,
49,
50
],
"name": "Fabrication",
"renderLayers": [
125,
126,
127,
128,
129,
130,
131,
133,
134,
135,
136,
137,
138,
139,
143,
144
]
}
]
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_sheet_names": "error",
"global_label_dangling": "error",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "error",
"net_not_bus_member": "error",
"no_connect_connected": "error",
"no_connect_dangling": "error",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"similar_labels": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "LoRaNode.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"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.25,
"via_diameter": 0.85,
"via_drill": 0.4,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"clearance": 0.25,
"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": "antenna",
"nets": [
"/ANTENNA"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 1.27,
"via_diameter": 0.85,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 1
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vmrl": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 40.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.0,
"field_names": [],
"intersheets_ref_prefix": "[",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "]",
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.3
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "./",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"285a99a7-a1a2-4aa6-812b-d3c3533a57d7",
""
],
[
"00000000-0000-0000-0000-00005d8236a8",
"battery-protection"
],
[
"00000000-0000-0000-0000-00005d8260b7",
"voltage-regulation"
],
[
"00000000-0000-0000-0000-00005d825820",
"RS485-interface"
],
[
"00000000-0000-0000-0000-00005d84b44c",
"I2C-interface"
]
],
"text_variables": {}
}

9708
qa/data/issue6260.kicad_pcb Normal file

File diff suppressed because it is too large Load Diff

397
qa/data/issue6260.kicad_pro Normal file
View File

@ -0,0 +1,397 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"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.049999999999999996,
"dimension_precision": 4,
"dimension_units": 0,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"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.09999999999999999,
"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.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 1
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_too_small": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"keepout": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_too_small": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "error",
"silk_overlap": "error",
"skew_out_of_range": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"via_hole_larger_than_pad": "error",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_annulus": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_paste_clearance": 0.0,
"solder_paste_margin_ratio": -0.0
},
"track_widths": [
0.25,
0.7,
0.8,
1.0,
1.5
],
"via_dimensions": [
{
"diameter": 0.8,
"drill": 0.4
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_sheet_names": "error",
"global_label_dangling": "error",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "error",
"net_not_bus_member": "error",
"no_connect_connected": "error",
"no_connect_dangling": "error",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"similar_labels": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "moas_ii_adapter.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"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.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 0
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vmrl": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 40.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.0,
"field_names": [],
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.3
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"4d0c44c6-6b27-4aba-bf02-414b7fcd0edc",
""
]
],
"text_variables": {}
}

639
qa/data/issue6443.kicad_pcb Normal file
View File

@ -0,0 +1,639 @@
(kicad_pcb (version 20201116) (generator pcbnew)
(general
(thickness 1.6)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(1 "In1.Cu" signal)
(2 "In2.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
(stackup
(layer "F.SilkS" (type "Top Silk Screen"))
(layer "F.Paste" (type "Top Solder Paste"))
(layer "F.Mask" (type "Top Solder Mask") (color "Green") (thickness 0.01))
(layer "F.Cu" (type "copper") (thickness 0.035))
(layer "dielectric 1" (type "core") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
(layer "In1.Cu" (type "copper") (thickness 0.035))
(layer "dielectric 2" (type "prepreg") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
(layer "In2.Cu" (type "copper") (thickness 0.035))
(layer "dielectric 3" (type "core") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
(layer "B.Cu" (type "copper") (thickness 0.035))
(layer "B.Mask" (type "Bottom Solder Mask") (color "Green") (thickness 0.01))
(layer "B.Paste" (type "Bottom Solder Paste"))
(layer "B.SilkS" (type "Bottom Silk Screen"))
(copper_finish "None")
(dielectric_constraints no)
)
(pcbplotparams
(layerselection 0x00010fc_ffffffff)
(disableapertmacros false)
(usegerberextensions false)
(usegerberattributes true)
(usegerberadvancedattributes true)
(creategerberjobfile true)
(svguseinch false)
(svgprecision 6)
(excludeedgelayer true)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin true)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue true)
(plotinvisibletext false)
(sketchpadsonfab false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 0)
(scaleselection 1)
(outputdirectory "fab/")
)
)
(net 0 "")
(net 1 "Net-(R1-Pad1)")
(net 2 "Net-(R1-Pad2)")
(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" (layer "F.Cu")
(tedit 5FB6CEC8) (tstamp 99b5e202-e70f-49ef-bc79-6f62add5c353)
(at 144.2 110.9)
(descr "Resistor, Axial_DIN0207 series, Axial, Horizontal, pin pitch=10.16mm, 0.25W = 1/4W, length*diameter=6.3*2.5mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf")
(tags "Resistor Axial_DIN0207 series Axial Horizontal pin pitch 10.16mm 0.25W = 1/4W length 6.3mm diameter 2.5mm")
(property "Sheet file" "test.kicad_sch")
(property "Sheet name" "")
(path "/fe10a8c5-aa6b-49c6-97da-ef22c8a7d6b1")
(attr through_hole)
(fp_text reference "R1" (at 5.08 -2.37) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp dc6a85c5-1373-48f5-801f-8353d6150d97)
)
(fp_text value "R" (at 5.08 2.37) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 54f122a9-f6f0-4010-89a2-c63ed0b072e8)
)
(fp_text user "${REFERENCE}" (at 5.08 0) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 43b14f3d-6695-4178-b31c-03715d66001f)
)
(fp_line (start 1.04 0) (end 1.81 0) (layer "F.SilkS") (width 0.12) (tstamp 35abf517-2a81-448a-8e3b-033a052e927d))
(fp_line (start 1.81 1.37) (end 8.35 1.37) (layer "F.SilkS") (width 0.12) (tstamp 3d68600e-0453-4962-b2af-0ebb850ea6fe))
(fp_line (start 8.35 -1.37) (end 1.81 -1.37) (layer "F.SilkS") (width 0.12) (tstamp 4141fa1d-5bda-43cd-85d3-af23e03b1ee2))
(fp_line (start 9.12 0) (end 8.35 0) (layer "F.SilkS") (width 0.12) (tstamp 99312e7c-d23a-47a2-9a2e-bdf64d9d0678))
(fp_line (start 8.35 1.37) (end 8.35 -1.37) (layer "F.SilkS") (width 0.12) (tstamp 9d886e7e-b4b5-4b01-83e6-86b961cd7b44))
(fp_line (start 1.81 -1.37) (end 1.81 1.37) (layer "F.SilkS") (width 0.12) (tstamp ca21a2e6-be7c-4035-a18d-1c8c6eaa8bee))
(fp_line (start 11.21 1.5) (end 11.21 -1.5) (layer "F.CrtYd") (width 0.05) (tstamp 01157a42-9ec6-4296-a03b-dd349f04e3c7))
(fp_line (start -1.05 1.5) (end 11.21 1.5) (layer "F.CrtYd") (width 0.05) (tstamp 89c4e76b-608a-4502-9469-d967c196e40a))
(fp_line (start 11.21 -1.5) (end -1.05 -1.5) (layer "F.CrtYd") (width 0.05) (tstamp 92852050-1b71-4917-8d26-f93dc412df2e))
(fp_line (start -1.05 -1.5) (end -1.05 1.5) (layer "F.CrtYd") (width 0.05) (tstamp be8e8bd7-55c9-4472-b2f8-a4bcd6385d25))
(fp_line (start 0 0) (end 1.93 0) (layer "F.Fab") (width 0.1) (tstamp 3485f802-ef91-48a7-a57d-56b57ee2a986))
(fp_line (start 10.16 0) (end 8.23 0) (layer "F.Fab") (width 0.1) (tstamp 58ceb816-9188-4202-ab67-f63163f0ecf8))
(fp_line (start 8.23 -1.25) (end 1.93 -1.25) (layer "F.Fab") (width 0.1) (tstamp 655eb757-b275-4a75-aac9-2e93022cae63))
(fp_line (start 8.23 1.25) (end 8.23 -1.25) (layer "F.Fab") (width 0.1) (tstamp 9353775b-8aa0-49af-ab4d-1563fa85fb84))
(fp_line (start 1.93 1.25) (end 8.23 1.25) (layer "F.Fab") (width 0.1) (tstamp eb5d7ab5-4372-445a-a4a0-16bb50398189))
(fp_line (start 1.93 -1.25) (end 1.93 1.25) (layer "F.Fab") (width 0.1) (tstamp fde9c334-208a-4002-8c1f-390b896ccc40))
(pad "1" thru_hole circle (at 0 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask)
(net 1 "Net-(R1-Pad1)") (tstamp e9dab5f1-8b89-45ae-aba6-6f3f4a89b2d9))
(pad "2" thru_hole oval (at 10.16 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) (remove_unused_layers) (keep_end_layers)
(net 2 "Net-(R1-Pad2)") (tstamp e86d43b5-574b-4ad2-822f-04321fcfe0e6))
(model "${KISYS3DMOD}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" (layer "F.Cu")
(tedit 5AE5139B) (tstamp 9f0fdfb7-5afd-4e01-bc66-870043786ed7)
(at 144.2 114.2)
(descr "Resistor, Axial_DIN0207 series, Axial, Horizontal, pin pitch=10.16mm, 0.25W = 1/4W, length*diameter=6.3*2.5mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf")
(tags "Resistor Axial_DIN0207 series Axial Horizontal pin pitch 10.16mm 0.25W = 1/4W length 6.3mm diameter 2.5mm")
(property "Sheet file" "test.kicad_sch")
(property "Sheet name" "")
(path "/35d87359-818c-4384-9a2a-921785d44ad3")
(attr through_hole)
(fp_text reference "R2" (at 5.08 2.3) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 6e897e0d-094b-4b95-b195-8828d28b5f6d)
)
(fp_text value "R" (at 5.08 2.37) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 824f60d7-bd4f-4249-b12d-344f11be7794)
)
(fp_text user "${REFERENCE}" (at 5.08 0) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp eec75d38-496e-497d-bae0-328f860c5560)
)
(fp_line (start 8.35 -1.37) (end 1.81 -1.37) (layer "F.SilkS") (width 0.12) (tstamp 08874db7-3de9-4e15-8b81-b277c92f2898))
(fp_line (start 1.04 0) (end 1.81 0) (layer "F.SilkS") (width 0.12) (tstamp 14960ca0-7396-47c4-b5d1-20fdbbfd3436))
(fp_line (start 8.35 1.37) (end 8.35 -1.37) (layer "F.SilkS") (width 0.12) (tstamp 6b41f3be-dc9b-4469-8638-af83e0f86ab8))
(fp_line (start 1.81 -1.37) (end 1.81 1.37) (layer "F.SilkS") (width 0.12) (tstamp 6f651f78-a478-481c-9174-6cd7991a11c4))
(fp_line (start 1.81 1.37) (end 8.35 1.37) (layer "F.SilkS") (width 0.12) (tstamp 72516937-441f-44bd-8331-a9968d6da702))
(fp_line (start 9.12 0) (end 8.35 0) (layer "F.SilkS") (width 0.12) (tstamp ed4776be-5506-4861-a220-1ece8206eb94))
(fp_line (start 11.21 1.5) (end 11.21 -1.5) (layer "F.CrtYd") (width 0.05) (tstamp 46598b80-a538-4bfc-9995-bd6daa58e8ce))
(fp_line (start -1.05 -1.5) (end -1.05 1.5) (layer "F.CrtYd") (width 0.05) (tstamp 5a2602df-0d80-49b5-bfb6-ee9e5041178e))
(fp_line (start -1.05 1.5) (end 11.21 1.5) (layer "F.CrtYd") (width 0.05) (tstamp d0bbe393-ad13-4e52-bac2-e0684b247f15))
(fp_line (start 11.21 -1.5) (end -1.05 -1.5) (layer "F.CrtYd") (width 0.05) (tstamp fa7c89de-e45e-4374-83ae-38aff0a53f2b))
(fp_line (start 0 0) (end 1.93 0) (layer "F.Fab") (width 0.1) (tstamp 338b571f-4130-4cf0-b707-cf3d99b78e12))
(fp_line (start 1.93 1.25) (end 8.23 1.25) (layer "F.Fab") (width 0.1) (tstamp 41fe2e33-2571-4ecf-ac2a-b9f2a4322056))
(fp_line (start 8.23 1.25) (end 8.23 -1.25) (layer "F.Fab") (width 0.1) (tstamp 4fb1abdb-ea56-403c-9d1d-9bc57fe2509f))
(fp_line (start 8.23 -1.25) (end 1.93 -1.25) (layer "F.Fab") (width 0.1) (tstamp 6ac2018b-e01e-493d-8056-02577f1dcab7))
(fp_line (start 10.16 0) (end 8.23 0) (layer "F.Fab") (width 0.1) (tstamp bf95af4e-ec79-4e4f-b591-ab5bac76f8e3))
(fp_line (start 1.93 -1.25) (end 1.93 1.25) (layer "F.Fab") (width 0.1) (tstamp c310b37b-8645-4002-a1e9-10d4e9372a79))
(pad "1" thru_hole circle (at 0 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask)
(net 1 "Net-(R1-Pad1)") (tstamp 418ec423-e76a-4a5c-ba6d-63abdd4d94e3))
(pad "2" thru_hole oval (at 10.16 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask)
(net 2 "Net-(R1-Pad2)") (tstamp 9d81874a-2a6b-47a9-bc76-df573f0a65e5))
(model "${KISYS3DMOD}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(gr_rect (start 140.2 106.9) (end 158.4 119) (layer "Edge.Cuts") (width 0.1) (fill none) (tstamp f5bc4f10-c792-4e8d-bb55-777e56f67385))
(segment (start 154.36 114.2) (end 154.36 110.9) (width 0.25) (layer "F.Cu") (net 2) (tstamp 72b3b29a-7f4d-4fc6-b1b2-34c50941c634))
(zone (net 1) (net_name "Net-(R1-Pad1)") (layer "In1.Cu") (tstamp 3f1aa6d3-8c39-415b-b94d-0780428d0aa0) (hatch edge 0.508)
(connect_pads (clearance 0.508))
(min_thickness 0.254) (filled_areas_thickness no)
(fill yes (thermal_gap 0.508) (thermal_bridge_width 0.508))
(polygon
(pts
(xy 158.8 119.6)
(xy 138.8 119.6)
(xy 138.8 106.6)
(xy 158.8 106.6)
)
)
(filled_polygon
(layer "In1.Cu")
(pts
(xy 157.842121 107.420002)
(xy 157.888614 107.473658)
(xy 157.9 107.526)
(xy 157.900001 118.374)
(xy 157.879999 118.442121)
(xy 157.826343 118.488614)
(xy 157.774001 118.5)
(xy 140.826 118.5)
(xy 140.757879 118.479998)
(xy 140.711386 118.426342)
(xy 140.7 118.374)
(xy 140.7 115.286064)
(xy 143.47849 115.286064)
(xy 143.487784 115.298078)
(xy 143.538992 115.333934)
(xy 143.548487 115.339417)
(xy 143.745943 115.431491)
(xy 143.756239 115.435239)
(xy 143.96669 115.49163)
(xy 143.977477 115.493532)
(xy 144.194525 115.512521)
(xy 144.205475 115.512521)
(xy 144.422523 115.493532)
(xy 144.43331 115.49163)
(xy 144.643761 115.435239)
(xy 144.654057 115.431491)
(xy 144.851513 115.339417)
(xy 144.861008 115.333934)
(xy 144.91305 115.297494)
(xy 144.921426 115.287015)
(xy 144.914359 115.27357)
(xy 144.212811 114.572021)
(xy 144.198868 114.564408)
(xy 144.197034 114.564539)
(xy 144.19042 114.56879)
(xy 143.484917 115.274294)
(xy 143.47849 115.286064)
(xy 140.7 115.286064)
(xy 140.7 114.194525)
(xy 142.887479 114.194525)
(xy 142.887479 114.205475)
(xy 142.906468 114.422523)
(xy 142.90837 114.43331)
(xy 142.964761 114.643761)
(xy 142.968509 114.654057)
(xy 143.060583 114.851513)
(xy 143.066066 114.861008)
(xy 143.102506 114.91305)
(xy 143.112985 114.921426)
(xy 143.12643 114.914359)
(xy 143.827979 114.212811)
(xy 143.834355 114.201132)
(xy 144.564408 114.201132)
(xy 144.564539 114.202966)
(xy 144.56879 114.20958)
(xy 145.274294 114.915083)
(xy 145.286064 114.92151)
(xy 145.298078 114.912216)
(xy 145.333934 114.861008)
(xy 145.339417 114.851513)
(xy 145.431491 114.654057)
(xy 145.435239 114.643761)
(xy 145.49163 114.43331)
(xy 145.493532 114.422523)
(xy 145.512521 114.205475)
(xy 145.512521 114.2)
(xy 153.0465 114.2)
(xy 153.066455 114.428087)
(xy 153.067879 114.4334)
(xy 153.067879 114.433402)
(xy 153.104157 114.56879)
(xy 153.125714 114.649243)
(xy 153.128036 114.654224)
(xy 153.128037 114.654225)
(xy 153.22015 114.851763)
(xy 153.220153 114.851768)
(xy 153.222476 114.85675)
(xy 153.225632 114.861257)
(xy 153.225633 114.861259)
(xy 153.267763 114.921426)
(xy 153.353801 115.044302)
(xy 153.515698 115.206199)
(xy 153.520206 115.209356)
(xy 153.520209 115.209358)
(xy 153.611914 115.27357)
(xy 153.70325 115.337524)
(xy 153.708232 115.339847)
(xy 153.708237 115.33985)
(xy 153.904763 115.431491)
(xy 153.910757 115.434286)
(xy 153.916065 115.435708)
(xy 153.916067 115.435709)
(xy 154.126598 115.492121)
(xy 154.1266 115.492121)
(xy 154.131913 115.493545)
(xy 154.36 115.5135)
(xy 154.588087 115.493545)
(xy 154.5934 115.492121)
(xy 154.593402 115.492121)
(xy 154.803933 115.435709)
(xy 154.803935 115.435708)
(xy 154.809243 115.434286)
(xy 154.815237 115.431491)
(xy 155.011763 115.33985)
(xy 155.011768 115.339847)
(xy 155.01675 115.337524)
(xy 155.108086 115.27357)
(xy 155.199791 115.209358)
(xy 155.199794 115.209356)
(xy 155.204302 115.206199)
(xy 155.366199 115.044302)
(xy 155.452238 114.921426)
(xy 155.494367 114.861259)
(xy 155.494368 114.861257)
(xy 155.497524 114.85675)
(xy 155.499847 114.851768)
(xy 155.49985 114.851763)
(xy 155.591963 114.654225)
(xy 155.591964 114.654224)
(xy 155.594286 114.649243)
(xy 155.615844 114.56879)
(xy 155.652121 114.433402)
(xy 155.652121 114.4334)
(xy 155.653545 114.428087)
(xy 155.6735 114.2)
(xy 155.653545 113.971913)
(xy 155.616983 113.835461)
(xy 155.595709 113.756067)
(xy 155.595708 113.756065)
(xy 155.594286 113.750757)
(xy 155.591963 113.745775)
(xy 155.49985 113.548237)
(xy 155.499847 113.548232)
(xy 155.497524 113.54325)
(xy 155.494367 113.538741)
(xy 155.369358 113.360209)
(xy 155.369356 113.360206)
(xy 155.366199 113.355698)
(xy 155.204302 113.193801)
(xy 155.199794 113.190644)
(xy 155.199791 113.190642)
(xy 155.021259 113.065633)
(xy 155.021257 113.065632)
(xy 155.01675 113.062476)
(xy 155.011768 113.060153)
(xy 155.011763 113.06015)
(xy 154.814225 112.968037)
(xy 154.814224 112.968036)
(xy 154.809243 112.965714)
(xy 154.803935 112.964292)
(xy 154.803933 112.964291)
(xy 154.593402 112.907879)
(xy 154.5934 112.907879)
(xy 154.588087 112.906455)
(xy 154.36 112.8865)
(xy 154.131913 112.906455)
(xy 154.1266 112.907879)
(xy 154.126598 112.907879)
(xy 153.916067 112.964291)
(xy 153.916065 112.964292)
(xy 153.910757 112.965714)
(xy 153.905776 112.968036)
(xy 153.905775 112.968037)
(xy 153.708237 113.06015)
(xy 153.708232 113.060153)
(xy 153.70325 113.062476)
(xy 153.698743 113.065632)
(xy 153.698741 113.065633)
(xy 153.520209 113.190642)
(xy 153.520206 113.190644)
(xy 153.515698 113.193801)
(xy 153.353801 113.355698)
(xy 153.350644 113.360206)
(xy 153.350642 113.360209)
(xy 153.225633 113.538741)
(xy 153.222476 113.54325)
(xy 153.220153 113.548232)
(xy 153.22015 113.548237)
(xy 153.128037 113.745775)
(xy 153.125714 113.750757)
(xy 153.124292 113.756065)
(xy 153.124291 113.756067)
(xy 153.103017 113.835461)
(xy 153.066455 113.971913)
(xy 153.0465 114.2)
(xy 145.512521 114.2)
(xy 145.512521 114.194525)
(xy 145.493532 113.977477)
(xy 145.49163 113.96669)
(xy 145.435239 113.756239)
(xy 145.431491 113.745943)
(xy 145.339417 113.548487)
(xy 145.333934 113.538992)
(xy 145.297494 113.48695)
(xy 145.287015 113.478574)
(xy 145.27357 113.485641)
(xy 144.572021 114.187189)
(xy 144.564408 114.201132)
(xy 143.834355 114.201132)
(xy 143.835592 114.198868)
(xy 143.835461 114.197034)
(xy 143.83121 114.19042)
(xy 143.125706 113.484917)
(xy 143.113936 113.47849)
(xy 143.101922 113.487784)
(xy 143.066066 113.538992)
(xy 143.060583 113.548487)
(xy 142.968509 113.745943)
(xy 142.964761 113.756239)
(xy 142.90837 113.96669)
(xy 142.906468 113.977477)
(xy 142.887479 114.194525)
(xy 140.7 114.194525)
(xy 140.7 113.112985)
(xy 143.478574 113.112985)
(xy 143.485641 113.12643)
(xy 144.187189 113.827979)
(xy 144.201132 113.835592)
(xy 144.202966 113.835461)
(xy 144.20958 113.83121)
(xy 144.915083 113.125706)
(xy 144.92151 113.113936)
(xy 144.912216 113.101922)
(xy 144.861008 113.066066)
(xy 144.851513 113.060583)
(xy 144.654057 112.968509)
(xy 144.643761 112.964761)
(xy 144.43331 112.90837)
(xy 144.422523 112.906468)
(xy 144.205475 112.887479)
(xy 144.194525 112.887479)
(xy 143.977477 112.906468)
(xy 143.96669 112.90837)
(xy 143.756239 112.964761)
(xy 143.745943 112.968509)
(xy 143.548487 113.060583)
(xy 143.538992 113.066066)
(xy 143.48695 113.102506)
(xy 143.478574 113.112985)
(xy 140.7 113.112985)
(xy 140.7 111.986064)
(xy 143.47849 111.986064)
(xy 143.487784 111.998078)
(xy 143.538992 112.033934)
(xy 143.548487 112.039417)
(xy 143.745943 112.131491)
(xy 143.756239 112.135239)
(xy 143.96669 112.19163)
(xy 143.977477 112.193532)
(xy 144.194525 112.212521)
(xy 144.205475 112.212521)
(xy 144.422523 112.193532)
(xy 144.43331 112.19163)
(xy 144.643761 112.135239)
(xy 144.654057 112.131491)
(xy 144.851513 112.039417)
(xy 144.861008 112.033934)
(xy 144.91305 111.997494)
(xy 144.921426 111.987015)
(xy 144.914359 111.97357)
(xy 144.212811 111.272021)
(xy 144.198868 111.264408)
(xy 144.197034 111.264539)
(xy 144.19042 111.26879)
(xy 143.484917 111.974294)
(xy 143.47849 111.986064)
(xy 140.7 111.986064)
(xy 140.7 110.894525)
(xy 142.887479 110.894525)
(xy 142.887479 110.905475)
(xy 142.906468 111.122523)
(xy 142.90837 111.13331)
(xy 142.964761 111.343761)
(xy 142.968509 111.354057)
(xy 143.060583 111.551513)
(xy 143.066066 111.561008)
(xy 143.102506 111.61305)
(xy 143.112985 111.621426)
(xy 143.12643 111.614359)
(xy 143.827979 110.912811)
(xy 143.834355 110.901132)
(xy 144.564408 110.901132)
(xy 144.564539 110.902966)
(xy 144.56879 110.90958)
(xy 145.274294 111.615083)
(xy 145.286064 111.62151)
(xy 145.298078 111.612216)
(xy 145.333934 111.561008)
(xy 145.339417 111.551513)
(xy 145.431491 111.354057)
(xy 145.435239 111.343761)
(xy 145.49163 111.13331)
(xy 145.493532 111.122523)
(xy 145.512521 110.905475)
(xy 145.512521 110.894525)
(xy 145.504464 110.802423)
(xy 153.431614 110.802423)
(xy 153.431614 110.997577)
(xy 153.472189 111.188467)
(xy 153.474875 111.1945)
(xy 153.474876 111.194503)
(xy 153.545914 111.354057)
(xy 153.551565 111.36675)
(xy 153.666274 111.524633)
(xy 153.671176 111.529046)
(xy 153.671177 111.529048)
(xy 153.806394 111.650798)
(xy 153.811302 111.655217)
(xy 153.980311 111.752795)
(xy 154.165914 111.813101)
(xy 154.172475 111.813791)
(xy 154.172477 111.813791)
(xy 154.227467 111.81957)
(xy 154.312428 111.8285)
(xy 154.407572 111.8285)
(xy 154.492533 111.81957)
(xy 154.547523 111.813791)
(xy 154.547525 111.813791)
(xy 154.554086 111.813101)
(xy 154.739689 111.752795)
(xy 154.908698 111.655217)
(xy 154.913606 111.650798)
(xy 155.048823 111.529048)
(xy 155.048824 111.529046)
(xy 155.053726 111.524633)
(xy 155.168435 111.36675)
(xy 155.174087 111.354057)
(xy 155.245124 111.194503)
(xy 155.245125 111.1945)
(xy 155.247811 111.188467)
(xy 155.288386 110.997577)
(xy 155.288386 110.802423)
(xy 155.247811 110.611533)
(xy 155.245124 110.605497)
(xy 155.171121 110.439282)
(xy 155.171119 110.439279)
(xy 155.168435 110.43325)
(xy 155.053726 110.275367)
(xy 154.956456 110.187784)
(xy 154.913606 110.149202)
(xy 154.913605 110.149201)
(xy 154.908698 110.144783)
(xy 154.739689 110.047205)
(xy 154.554086 109.986899)
(xy 154.547525 109.986209)
(xy 154.547523 109.986209)
(xy 154.492533 109.98043)
(xy 154.407572 109.9715)
(xy 154.312428 109.9715)
(xy 154.227467 109.98043)
(xy 154.172477 109.986209)
(xy 154.172475 109.986209)
(xy 154.165914 109.986899)
(xy 153.980311 110.047205)
(xy 153.811302 110.144783)
(xy 153.806395 110.149201)
(xy 153.806394 110.149202)
(xy 153.763545 110.187784)
(xy 153.666274 110.275367)
(xy 153.551565 110.43325)
(xy 153.548881 110.439279)
(xy 153.548879 110.439282)
(xy 153.474876 110.605497)
(xy 153.472189 110.611533)
(xy 153.431614 110.802423)
(xy 145.504464 110.802423)
(xy 145.493532 110.677477)
(xy 145.49163 110.66669)
(xy 145.435239 110.456239)
(xy 145.431491 110.445943)
(xy 145.339417 110.248487)
(xy 145.333934 110.238992)
(xy 145.297494 110.18695)
(xy 145.287015 110.178574)
(xy 145.27357 110.185641)
(xy 144.572021 110.887189)
(xy 144.564408 110.901132)
(xy 143.834355 110.901132)
(xy 143.835592 110.898868)
(xy 143.835461 110.897034)
(xy 143.83121 110.89042)
(xy 143.125706 110.184917)
(xy 143.113936 110.17849)
(xy 143.101922 110.187784)
(xy 143.066066 110.238992)
(xy 143.060583 110.248487)
(xy 142.968509 110.445943)
(xy 142.964761 110.456239)
(xy 142.90837 110.66669)
(xy 142.906468 110.677477)
(xy 142.887479 110.894525)
(xy 140.7 110.894525)
(xy 140.7 109.812985)
(xy 143.478574 109.812985)
(xy 143.485641 109.82643)
(xy 144.187189 110.527979)
(xy 144.201132 110.535592)
(xy 144.202966 110.535461)
(xy 144.20958 110.53121)
(xy 144.915083 109.825706)
(xy 144.92151 109.813936)
(xy 144.912216 109.801922)
(xy 144.861008 109.766066)
(xy 144.851513 109.760583)
(xy 144.654057 109.668509)
(xy 144.643761 109.664761)
(xy 144.43331 109.60837)
(xy 144.422523 109.606468)
(xy 144.205475 109.587479)
(xy 144.194525 109.587479)
(xy 143.977477 109.606468)
(xy 143.96669 109.60837)
(xy 143.756239 109.664761)
(xy 143.745943 109.668509)
(xy 143.548487 109.760583)
(xy 143.538992 109.766066)
(xy 143.48695 109.802506)
(xy 143.478574 109.812985)
(xy 140.7 109.812985)
(xy 140.7 107.526)
(xy 140.720002 107.457879)
(xy 140.773658 107.411386)
(xy 140.826 107.4)
(xy 157.774 107.4)
)
)
)
)

1958
qa/data/issue7975.kicad_pcb Normal file

File diff suppressed because it is too large Load Diff

440
qa/data/issue7975.kicad_pro Normal file
View File

@ -0,0 +1,440 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"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.049999999999999996,
"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.09999999999999999,
"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.09999999999999999,
"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.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"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",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "error",
"silk_overlap": "error",
"skew_out_of_range": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.049999999999999996,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997
},
"track_widths": [
0.0
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"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_label_syntax": "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",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "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",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "aaaaaaaaaaaaaaaaaaaa.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.5,
"diff_pair_gap": 0.666,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.05,
"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.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"clearance": 0.888,
"diff_pair_gap": 0.666,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.05,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "diffferrr",
"nets": [
"/asdf_N",
"/asdf_P"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 0
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 40.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.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,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.3
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"f0a8c45c-12da-43b8-aa6d-6e36945224a3",
""
]
],
"text_variables": {}
}

8443
qa/data/issue8407.kicad_pcb Normal file

File diff suppressed because it is too large Load Diff

494
qa/data/issue8407.kicad_pro Normal file
View File

@ -0,0 +1,494 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": true,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 1,
"dimension_units": 2,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": true,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": true,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": true,
"zones": {
"45_degree_only": false,
"min_clearance": 0.19999999999999998
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [
"clearance|87150000|140800000|713a642e-4662-4581-a311-4a183ae3a0a4|0e2e2e70-712c-4a91-9883-5badae873369",
"courtyards_overlap|102580000|139229999|00000000-0000-0000-0000-00005db27222|00000000-0000-0000-0000-00005e4ffe1e",
"courtyards_overlap|102580000|142700000|00000000-0000-0000-0000-00005db270f4|00000000-0000-0000-0000-00005e4ffe1e",
"courtyards_overlap|116660000|142900000|00000000-0000-0000-0000-00005db26ea8|00000000-0000-0000-0000-00005db2741b",
"courtyards_overlap|126820000|142900000|00000000-0000-0000-0000-00005db272bc|00000000-0000-0000-0000-00005db2741b",
"courtyards_overlap|144725000|118017468|00000000-0000-0000-0000-00005d888938|00000000-0000-0000-0000-00005e2b4dc2",
"courtyards_overlap|86925000|140617468|00000000-0000-0000-0000-00005db273cf|00000000-0000-0000-0000-00005e2b4dc5"
],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "ignore",
"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",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "ignore",
"silk_overlap": "ignore",
"skew_out_of_range": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_annulus": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"use_height_for_length_calcs": true
},
"track_widths": [
0.25,
0.2,
0.4,
1.0,
2.0
],
"via_dimensions": [
{
"diameter": 0.85,
"drill": 0.4
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": [
{
"activeLayer": -2,
"layers": [
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
41,
44,
49,
50
],
"name": "Fabrication",
"renderLayers": [
125,
126,
127,
128,
129,
130,
131,
133,
134,
135,
136,
137,
138,
139,
143,
144
]
}
]
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_sheet_names": "error",
"global_label_dangling": "error",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "error",
"net_not_bus_member": "error",
"no_connect_connected": "error",
"no_connect_dangling": "error",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"similar_labels": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "LoRaNode.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"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.25,
"via_diameter": 0.85,
"via_drill": 0.4,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"clearance": 0.25,
"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": "antenna",
"nets": [
"/ANTENNA"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 1.27,
"via_diameter": 0.85,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 1
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vmrl": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"drawing": {
"default_bus_thickness": 12.0,
"default_junction_size": 40.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"default_wire_thickness": 6.0,
"field_names": [],
"intersheets_ref_prefix": "[",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "]",
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.3
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 0
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "./",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"285a99a7-a1a2-4aa6-812b-d3c3533a57d7",
""
],
[
"00000000-0000-0000-0000-00005d8236a8",
"battery-protection"
],
[
"00000000-0000-0000-0000-00005d8260b7",
"voltage-regulation"
],
[
"00000000-0000-0000-0000-00005d825820",
"RS485-interface"
],
[
"00000000-0000-0000-0000-00005d84b44c",
"I2C-interface"
]
],
"text_variables": {}
}

View File

@ -0,0 +1,306 @@
(kicad_pcb (version 20190605) (host pcbnew "6.0.0-unknown-7b5b807~86~ubuntu18.04.1")
(general
(thickness 1.6)
(drawings 4)
(tracks 9)
(modules 1)
(nets 3)
)
(page "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(32 "B.Adhes" user)
(33 "F.Adhes" user)
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user)
(37 "F.SilkS" user)
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user)
(41 "Cmts.User" user)
(42 "Eco1.User" user)
(43 "Eco2.User" user)
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user)
(47 "F.CrtYd" user)
(48 "B.Fab" user)
(49 "F.Fab" user)
)
(setup
(last_trace_width 0.25)
(trace_clearance 0.2)
(zone_clearance 0.153)
(zone_45_only no)
(trace_min 0.1534)
(via_size 0.8)
(via_drill 0.4)
(via_min_size 0.4)
(via_min_drill 0.3)
(uvia_size 0.3)
(uvia_drill 0.1)
(uvias_allowed no)
(uvia_min_size 0.2)
(uvia_min_drill 0.1)
(max_error 0.005)
(defaults
(edge_clearance 0.01)
(edge_cuts_line_width 0.05)
(courtyard_line_width 0.05)
(copper_line_width 0.2)
(copper_text_dims (size 1.5 1.5) (thickness 0.3) keep_upright)
(silk_line_width 0.12)
(silk_text_dims (size 1 1) (thickness 0.15) keep_upright)
(other_layers_line_width 0.1)
(other_layers_text_dims (size 1 1) (thickness 0.15) keep_upright)
)
(pad_size 1.524 1.524)
(pad_drill 0.762)
(pad_to_mask_clearance 0.051)
(solder_mask_min_width 0.25)
(aux_axis_origin 0 0)
(visible_elements FFFFFF7F)
(pcbplotparams
(layerselection 0x010fc_ffffffff)
(usegerberextensions false)
(usegerberattributes false)
(usegerberadvancedattributes false)
(creategerberjobfile false)
(excludeedgelayer true)
(linewidth 0.100000)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue true)
(plotinvisibletext false)
(padsonsilk false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 1)
(scaleselection 1)
(outputdirectory ""))
)
(net 0 "")
(net 1 "GND")
(net 2 "+5V")
(net_class "Default" "This is the default net class."
(clearance 0.2)
(trace_width 0.25)
(via_dia 0.8)
(via_drill 0.4)
(uvia_dia 0.3)
(uvia_drill 0.1)
(add_net "+5V")
(add_net "GND")
)
(module "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") (tedit 5B301BBD) (tstamp 5D3DB920)
(at 79.75 51.75 270)
(descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator")
(tags "resistor")
(path "/5D3DC317")
(attr smd)
(fp_text reference "R1" (at 0 -1.43 90) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value "R" (at 0 1.43 90) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user "%R" (at 0 0 90) (layer "F.Fab")
(effects (font (size 0.4 0.4) (thickness 0.06)))
)
(fp_line (start 1.48 0.73) (end -1.48 0.73) (layer "F.CrtYd") (width 0.05))
(fp_line (start 1.48 -0.73) (end 1.48 0.73) (layer "F.CrtYd") (width 0.05))
(fp_line (start -1.48 -0.73) (end 1.48 -0.73) (layer "F.CrtYd") (width 0.05))
(fp_line (start -1.48 0.73) (end -1.48 -0.73) (layer "F.CrtYd") (width 0.05))
(fp_line (start -0.162779 0.51) (end 0.162779 0.51) (layer "F.SilkS") (width 0.12))
(fp_line (start -0.162779 -0.51) (end 0.162779 -0.51) (layer "F.SilkS") (width 0.12))
(fp_line (start 0.8 0.4) (end -0.8 0.4) (layer "F.Fab") (width 0.1))
(fp_line (start 0.8 -0.4) (end 0.8 0.4) (layer "F.Fab") (width 0.1))
(fp_line (start -0.8 -0.4) (end 0.8 -0.4) (layer "F.Fab") (width 0.1))
(fp_line (start -0.8 0.4) (end -0.8 -0.4) (layer "F.Fab") (width 0.1))
(pad "2" smd roundrect (at 0.7875 0 270) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(net 1 "GND"))
(pad "1" smd roundrect (at -0.7875 0 270) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(net 2 "+5V"))
(model "${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl"
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(gr_line (start 72.5 92) (end 72.5 45.25) (layer "Edge.Cuts") (width 0.05))
(gr_line (start 140.5 92) (end 72.5 92) (layer "Edge.Cuts") (width 0.05))
(gr_line (start 140.5 45.25) (end 140.5 92) (layer "Edge.Cuts") (width 0.05))
(gr_line (start 72.5 45.25) (end 140.5 45.25) (layer "Edge.Cuts") (width 0.05))
(via (at 74.5 47.25) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(via (at 78.75 47.25) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(via (at 86 47.25) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(via (at 74.25 52) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(via (at 74.75 60) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(via (at 89 50.75) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(via (at 89 58.5) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(via (at 79.75 53.75) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") (net 1))
(segment (start 79.75 52.5375) (end 79.75 53.75) (width 0.25) (layer "F.Cu") (net 1))
(zone (net 1) (net_name "GND") (layer "F.Cu") (tstamp 0) (hatch edge 0.508)
(connect_pads yes (clearance 0.254))
(min_thickness 0.254)
(fill yes (thermal_gap 0.508) (thermal_bridge_width 0.508) (smoothing fillet) (radius 0.5))
(polygon
(pts
(xy 73.5 46.5) (xy 90 46.5) (xy 90 91.5) (xy 73.5 91.5)
)
)
(filled_polygon
(pts
(xy 89.596517 46.639794) (xy 89.686456 46.677048) (xy 89.763689 46.736311) (xy 89.822952 46.813544) (xy 89.860206 46.903483)
(xy 89.874 47.008258) (xy 89.874 51.624) (xy 84.38 51.624) (xy 84.38 48.245875) (xy 84.377287 48.20449)
(xy 84.358634 48.062803) (xy 84.337197 47.9828) (xy 84.280927 47.84695) (xy 84.239514 47.775221) (xy 84.149999 47.658564)
(xy 84.091436 47.600001) (xy 83.974779 47.510486) (xy 83.90305 47.469073) (xy 83.7672 47.412803) (xy 83.687197 47.391366)
(xy 83.54551 47.372713) (xy 83.504125 47.37) (xy 76.245875 47.37) (xy 76.20449 47.372713) (xy 76.062803 47.391366)
(xy 75.9828 47.412803) (xy 75.84695 47.469073) (xy 75.775221 47.510486) (xy 75.658564 47.600001) (xy 75.600001 47.658564)
(xy 75.510486 47.775221) (xy 75.469073 47.84695) (xy 75.412803 47.9828) (xy 75.391366 48.062803) (xy 75.372713 48.20449)
(xy 75.37 48.245875) (xy 75.37 89.004125) (xy 75.372713 89.04551) (xy 75.391366 89.187197) (xy 75.412803 89.2672)
(xy 75.469073 89.40305) (xy 75.510486 89.474779) (xy 75.600001 89.591436) (xy 75.658564 89.649999) (xy 75.775221 89.739514)
(xy 75.84695 89.780927) (xy 75.9828 89.837197) (xy 76.062803 89.858634) (xy 76.20449 89.877287) (xy 76.245875 89.88)
(xy 83.504125 89.88) (xy 83.54551 89.877287) (xy 83.687197 89.858634) (xy 83.7672 89.837197) (xy 83.90305 89.780927)
(xy 83.974779 89.739514) (xy 84.091436 89.649999) (xy 84.149999 89.591436) (xy 84.239514 89.474779) (xy 84.280927 89.40305)
(xy 84.337197 89.2672) (xy 84.358634 89.187197) (xy 84.377287 89.04551) (xy 84.38 89.004125) (xy 84.38 56.626)
(xy 85.624 56.626) (xy 85.624 60.008258) (xy 85.64428 60.162303) (xy 85.706926 60.313544) (xy 85.806583 60.443417)
(xy 85.936456 60.543074) (xy 86.087697 60.60572) (xy 86.241742 60.626) (xy 88.258258 60.626) (xy 88.412303 60.60572)
(xy 88.563544 60.543074) (xy 88.693417 60.443417) (xy 88.793074 60.313544) (xy 88.85572 60.162303) (xy 88.876 60.008258)
(xy 88.876 56.626) (xy 89.874 56.626) (xy 89.874 90.991742) (xy 89.860206 91.096517) (xy 89.822952 91.186456)
(xy 89.763689 91.263689) (xy 89.686456 91.322952) (xy 89.596517 91.360206) (xy 89.491742 91.374) (xy 74.008258 91.374)
(xy 73.903483 91.360206) (xy 73.813544 91.322952) (xy 73.736311 91.263689) (xy 73.677048 91.186456) (xy 73.639794 91.096517)
(xy 73.626 90.991742) (xy 73.626 47.008258) (xy 73.639794 46.903483) (xy 73.677048 46.813544) (xy 73.736311 46.736311)
(xy 73.813544 46.677048) (xy 73.903483 46.639794) (xy 74.008258 46.626) (xy 89.491742 46.626)
)
)
)
(zone (net 2) (net_name "+5V") (layer "F.Cu") (tstamp 0) (hatch edge 0.508)
(priority 1)
(connect_pads yes (clearance 0.153))
(min_thickness 0.153)
(fill yes (thermal_gap 0.508) (thermal_bridge_width 0.508) (smoothing fillet) (radius 0.5))
(polygon
(pts
(xy 75.75 47.75) (xy 84 47.75) (xy 84 89.5) (xy 75.75 89.5)
)
)
(filled_polygon
(pts
(xy 78.439507 47.859378) (xy 78.643011 47.9255) (xy 78.856989 47.9255) (xy 79.060493 47.859378) (xy 79.107123 47.8255)
(xy 83.495052 47.8255) (xy 83.609699 47.840594) (xy 83.711924 47.882936) (xy 83.799706 47.950294) (xy 83.867064 48.038076)
(xy 83.909406 48.140301) (xy 83.9245 48.254948) (xy 83.9245 51.4745) (xy 78.497528 51.4745) (xy 78.466491 51.476534)
(xy 78.329724 51.49454) (xy 78.269732 51.510614) (xy 78.139998 51.564352) (xy 78.086211 51.595407) (xy 77.974806 51.680891)
(xy 77.930891 51.724806) (xy 77.845407 51.836211) (xy 77.814352 51.889998) (xy 77.760614 52.019732) (xy 77.74454 52.079724)
(xy 77.726534 52.216491) (xy 77.7245 52.247528) (xy 77.7245 56.002472) (xy 77.726534 56.033509) (xy 77.74454 56.170276)
(xy 77.760614 56.230268) (xy 77.814352 56.360002) (xy 77.845407 56.413789) (xy 77.930891 56.525194) (xy 77.974806 56.569109)
(xy 78.086211 56.654593) (xy 78.139998 56.685648) (xy 78.269732 56.739386) (xy 78.329724 56.75546) (xy 78.466491 56.773466)
(xy 78.497528 56.7755) (xy 78.714572 56.7755) (xy 78.710851 59.501417) (xy 78.712847 59.532485) (xy 78.730697 59.66939)
(xy 78.746717 59.729451) (xy 78.800368 59.859353) (xy 78.831399 59.913214) (xy 78.916868 60.024784) (xy 78.960794 60.068769)
(xy 79.072247 60.154391) (xy 79.126067 60.185495) (xy 79.255894 60.239323) (xy 79.315932 60.255425) (xy 79.452815 60.273462)
(xy 79.48388 60.2755) (xy 80.503151 60.2755) (xy 80.534163 60.273469) (xy 80.670813 60.255494) (xy 80.730756 60.239447)
(xy 80.860397 60.1858) (xy 80.914149 60.154798) (xy 81.025506 60.069452) (xy 81.069416 60.025603) (xy 81.154916 59.914361)
(xy 81.185992 59.860649) (xy 81.239815 59.731082) (xy 81.255943 59.671161) (xy 81.274104 59.534536) (xy 81.276178 59.503528)
(xy 81.279901 56.7755) (xy 83.9245 56.7755) (xy 83.9245 88.995052) (xy 83.909406 89.109699) (xy 83.867064 89.211924)
(xy 83.799706 89.299706) (xy 83.711924 89.367064) (xy 83.609699 89.409406) (xy 83.495052 89.4245) (xy 76.254948 89.4245)
(xy 76.140301 89.409406) (xy 76.038076 89.367064) (xy 75.950294 89.299706) (xy 75.882936 89.211924) (xy 75.840594 89.109699)
(xy 75.8255 88.995052) (xy 75.8255 48.254948) (xy 75.840594 48.140301) (xy 75.882936 48.038076) (xy 75.950294 47.950294)
(xy 76.038076 47.882936) (xy 76.140301 47.840594) (xy 76.254948 47.8255) (xy 78.392877 47.8255)
)
)
)
(zone (net 1) (net_name "GND") (layer "F.Cu") (tstamp 0) (hatch edge 0.508)
(priority 2)
(connect_pads yes (clearance 0.153))
(min_thickness 0.153)
(fill yes (thermal_gap 0.2) (thermal_bridge_width 0.508) (smoothing fillet) (radius 0.5))
(polygon
(pts
(xy 78 51.75) (xy 92.25 51.75) (xy 92.25 56.5) (xy 78 56.5)
)
)
(filled_polygon
(pts
(xy 91.859699 51.840594) (xy 91.961924 51.882936) (xy 92.049706 51.950294) (xy 92.117064 52.038076) (xy 92.159406 52.140301)
(xy 92.1745 52.254948) (xy 92.1745 55.995052) (xy 92.159406 56.109699) (xy 92.117064 56.211924) (xy 92.049706 56.299706)
(xy 91.961924 56.367064) (xy 91.859699 56.409406) (xy 91.745052 56.4245) (xy 88.8255 56.4245) (xy 88.8255 55.245052)
(xy 88.80652 55.100881) (xy 88.748962 54.961924) (xy 88.6574 54.8426) (xy 88.538076 54.751038) (xy 88.399119 54.69348)
(xy 88.254948 54.6745) (xy 79.48721 54.6745) (xy 79.343161 54.693448) (xy 79.204306 54.750909) (xy 79.085032 54.842322)
(xy 78.993455 54.961471) (xy 78.935806 55.100248) (xy 78.916662 55.244271) (xy 78.915051 56.4245) (xy 78.504948 56.4245)
(xy 78.390301 56.409406) (xy 78.288076 56.367064) (xy 78.200294 56.299706) (xy 78.132936 56.211924) (xy 78.090594 56.109699)
(xy 78.0755 55.995052) (xy 78.0755 52.254948) (xy 78.090594 52.140301) (xy 78.132936 52.038076) (xy 78.200294 51.950294)
(xy 78.288076 51.882936) (xy 78.390301 51.840594) (xy 78.504948 51.8255) (xy 91.745052 51.8255)
)
)
(filled_polygon
(pts
(xy 85.359699 55.840594) (xy 85.461924 55.882936) (xy 85.549706 55.950294) (xy 85.617064 56.038076) (xy 85.659406 56.140301)
(xy 85.6745 56.254948) (xy 85.6745 56.4245) (xy 81.079798 56.4245) (xy 81.077925 56.130491) (xy 81.092864 56.032541)
(xy 81.134732 55.949455) (xy 81.200309 55.883459) (xy 81.283126 55.841062) (xy 81.380977 55.8255) (xy 85.245052 55.8255)
)
)
)
(zone (net 1) (net_name "GND") (layer "B.Cu") (tstamp 5D3DB9B2) (hatch edge 0.508)
(connect_pads yes (clearance 0.153))
(min_thickness 0.153)
(fill yes (thermal_gap 0.2) (thermal_bridge_width 0.508) (smoothing fillet) (radius 0.5))
(polygon
(pts
(xy 73.563307 46.5) (xy 139.063307 46.5) (xy 139.063307 91.5) (xy 73.563307 91.5)
)
)
(filled_polygon
(pts
(xy 138.673006 46.590594) (xy 138.775231 46.632936) (xy 138.863013 46.700294) (xy 138.930371 46.788076) (xy 138.972713 46.890301)
(xy 138.987807 47.004948) (xy 138.987807 90.995052) (xy 138.972713 91.109699) (xy 138.930371 91.211924) (xy 138.863013 91.299706)
(xy 138.775231 91.367064) (xy 138.673006 91.409406) (xy 138.558359 91.4245) (xy 74.068255 91.4245) (xy 73.953608 91.409406)
(xy 73.851383 91.367064) (xy 73.763601 91.299706) (xy 73.696243 91.211924) (xy 73.653901 91.109699) (xy 73.638807 90.995052)
(xy 73.638807 47.004948) (xy 73.653901 46.890301) (xy 73.696243 46.788076) (xy 73.763601 46.700294) (xy 73.851383 46.632936)
(xy 73.953608 46.590594) (xy 74.068255 46.5755) (xy 138.558359 46.5755)
)
)
)
(zone (net 1) (net_name "GND") (layer "F.Cu") (tstamp 5D405D75) (hatch edge 0.508)
(priority 5)
(connect_pads yes (clearance 0.153))
(min_thickness 0.153)
(fill yes (thermal_gap 0.2) (thermal_bridge_width 0.508) (smoothing fillet) (radius 0.5))
(polygon
(pts
(xy 78.992836 54.75) (xy 88.75 54.75) (xy 88.75 60.5) (xy 85.75 60.5) (xy 85.75 55.75)
(xy 81 55.75) (xy 81 60) (xy 78.985671 60)
)
)
(filled_polygon
(pts
(xy 88.6745 60.4245) (xy 85.8255 60.4245) (xy 85.8255 55.6745) (xy 81.369045 55.6745) (xy 81.235693 55.695708)
(xy 81.110124 55.759991) (xy 81.010692 55.860058) (xy 80.94721 55.986035) (xy 80.926853 56.119518) (xy 80.929265 56.498249)
(xy 80.929274 56.502116) (xy 80.925188 59.495633) (xy 80.909963 59.610168) (xy 80.867554 59.712257) (xy 80.800184 59.799911)
(xy 80.71244 59.86716) (xy 80.610287 59.909432) (xy 80.495739 59.9245) (xy 79.491307 59.9245) (xy 79.37656 59.90938)
(xy 79.274263 59.866966) (xy 79.186446 59.799503) (xy 79.119097 59.711587) (xy 79.076824 59.609234) (xy 79.061861 59.494471)
(xy 79.067648 55.254367) (xy 79.082873 55.139832) (xy 79.125282 55.037743) (xy 79.192652 54.950089) (xy 79.280396 54.88284)
(xy 79.382549 54.840568) (xy 79.497097 54.8255) (xy 88.6745 54.8255)
)
)
)
)

View File

@ -41,6 +41,7 @@ set( QA_PCBNEW_SRCS
drc/test_drc_courtyard_invalid.cpp
drc/test_drc_courtyard_overlap.cpp
drc/test_drc_regressions.cpp
plugins/altium/test_altium_rule_transformer.cpp

View File

@ -0,0 +1,153 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 201 KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <string>
#include <wx/toplevel.h>
#include <qa_utils/wx_utils/unit_test_utils.h>
#include <pcbnew_utils/board_file_utils.h>
#include <board.h>
#include <board_design_settings.h>
#include <pad.h>
#include <pcb_track.h>
#include <footprint.h>
#include <drc/drc_item.h>
#include <drc/drc_engine.h>
#include <zone_filler.h>
#include <board_commit.h>
#include <tool/tool_manager.h>
#include <zone_filler_tool.h>
#include <settings/settings_manager.h>
struct DRC_REGRESSION_TEST_FIXTURE
{
DRC_REGRESSION_TEST_FIXTURE() :
m_settingsManager( true /* headless */ )
{
}
void loadBoard( const wxString& relPath )
{
if( m_board )
{
m_board->SetProject( nullptr );
m_board = nullptr;
}
std::string boardPath = KI_TEST::GetPcbnewTestDataDir() + relPath + ".kicad_pcb";
wxString projectPath = KI_TEST::GetPcbnewTestDataDir() + relPath + ".kicad_pro";
wxFileName pro( projectPath );
if( pro.Exists() )
m_settingsManager.LoadProject( pro.GetFullPath() );
m_board = KI_TEST::ReadBoardFromFileOrStream( boardPath );
if( pro.Exists() )
m_board->SetProject( &m_settingsManager.Prj() );
m_DRCEngine = std::make_shared<DRC_ENGINE>( m_board.get(), &m_board->GetDesignSettings() );
m_DRCEngine->InitEngine( wxFileName() );
m_board->GetDesignSettings().m_DRCEngine = m_DRCEngine;
m_toolMgr = std::make_unique<TOOL_MANAGER>();
m_toolMgr->SetEnvironment( m_board.get(), nullptr, nullptr, nullptr, nullptr );
m_toolMgr->RegisterTool( new ZONE_FILLER_TOOL );
}
void fillZones( int aFillVersion )
{
ZONE_FILLER_TOOL* fillerTool = m_toolMgr->GetTool<ZONE_FILLER_TOOL>();
BOARD_COMMIT commit( fillerTool );
ZONE_FILLER filler( m_board.get(), &commit );
std::vector<ZONE*> toFill;
m_board->GetDesignSettings().m_ZoneFillVersion = aFillVersion;
for( ZONE* zone : m_board->Zones() )
toFill.push_back( zone );
if( filler.Fill( toFill, false, nullptr ) )
commit.Push( _( "Fill Zone(s)" ), false, false );
}
SETTINGS_MANAGER m_settingsManager;
std::unique_ptr<BOARD> m_board;
std::unique_ptr<TOOL_MANAGER> m_toolMgr;
std::shared_ptr<DRC_ENGINE> m_DRCEngine;
};
BOOST_FIXTURE_TEST_SUITE( TestDRCRegressions, DRC_REGRESSION_TEST_FIXTURE )
constexpr int delta = KiROUND( 0.006 * IU_PER_MM );
BOOST_AUTO_TEST_CASE( DRCRegressions )
{
for( const wxString& relPath : { "issue4139",
"issue4774",
"issue5978",
"issue5990",
"issue6443",
"issue7975",
"issue8407" } )
{
loadBoard( relPath );
fillZones( 6 );
std::vector<DRC_ITEM> violations;
BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();
bds.m_DRCSeverities[ DRCE_INVALID_OUTLINE ] = SEVERITY::RPT_SEVERITY_WARNING;
bds.m_DRCSeverities[ DRCE_UNCONNECTED_ITEMS ] = SEVERITY::RPT_SEVERITY_WARNING;
m_DRCEngine->SetViolationHandler(
[&]( const std::shared_ptr<DRC_ITEM>& aItem, wxPoint aPos )
{
if( bds.GetSeverity( aItem->GetErrorCode() ) == SEVERITY::RPT_SEVERITY_ERROR )
violations.push_back( *aItem );
} );
m_DRCEngine->RunTests( EDA_UNITS::MILLIMETRES, true, false );
BOOST_TEST_MESSAGE( wxString::Format( "DRC regression: %s, %s",
relPath,
violations.empty() ? "passed" : "failed" ) );
if( !violations.empty() )
{
std::map<KIID, EDA_ITEM*> itemMap;
m_board->FillItemMap( itemMap );
for( const DRC_ITEM& item : violations )
BOOST_ERROR( item.ShowReport( EDA_UNITS::INCHES, RPT_SEVERITY_ERROR, itemMap ) );
}
}
}
BOOST_AUTO_TEST_SUITE_END()

View File

@ -55,8 +55,8 @@ struct ZONE_FILL_TEST_FIXTURE
m_board = nullptr;
}
wxString boardPath = KI_TEST::GetPcbnewTestDataDir() + relPath + ".kicad_pcb";
wxString projectPath = KI_TEST::GetPcbnewTestDataDir() + relPath + ".kicad_pro";
std::string boardPath = KI_TEST::GetPcbnewTestDataDir() + relPath + ".kicad_pcb";
wxString projectPath = KI_TEST::GetPcbnewTestDataDir() + relPath + ".kicad_pro";
wxFileName pro( projectPath );
@ -106,50 +106,6 @@ BOOST_FIXTURE_TEST_SUITE( TestZoneFiller, ZONE_FILL_TEST_FIXTURE )
constexpr int delta = KiROUND( 0.006 * IU_PER_MM );
BOOST_AUTO_TEST_CASE( RegressionZoneFillTests )
{
for( const wxString& relPath : { "issue2568", "issue3812", "issue5320", "issue5830",
"issue6284", "issue7086" } )
{
loadBoard( relPath );
for( int fillVersion : { 5, 6 } )
{
fillZones( fillVersion );
std::vector<DRC_ITEM> violations;
m_DRCEngine->SetViolationHandler(
[&]( const std::shared_ptr<DRC_ITEM>& aItem, wxPoint aPos )
{
if( aItem->GetErrorCode() == DRCE_CLEARANCE )
violations.push_back( *aItem );
} );
m_DRCEngine->RunTests( EDA_UNITS::MILLIMETRES, true, false );
if( violations.empty() )
{
BOOST_TEST_MESSAGE( wxString::Format( "Passed: %s (V%d fill algo)",
relPath,
fillVersion ) );
}
else
{
std::map<KIID, EDA_ITEM*> itemMap;
m_board->FillItemMap( itemMap );
for( const DRC_ITEM& item : violations )
{
BOOST_ERROR( item.ShowReport( EDA_UNITS::MILLIMETRES, RPT_SEVERITY_ERROR,
itemMap ) );
}
}
}
}
}
BOOST_AUTO_TEST_CASE( BasicZoneFills )
{
loadBoard( "zone_filler" );
@ -236,4 +192,92 @@ BOOST_AUTO_TEST_CASE( BasicZoneFills )
}
BOOST_AUTO_TEST_CASE( NotchedZones )
{
loadBoard( "notched_zones" );
// Older algorithms had trouble where the filleted zones intersected and left notches.
// See:
// https://gitlab.com/kicad/code/kicad/-/issues/2737
// https://gitlab.com/kicad/code/kicad/-/issues/2752
// First, run a sanity check to validate that the saved board still has holes.
SHAPE_POLY_SET frontCopper;
for( ZONE* zone : m_board->Zones() )
{
if( zone->GetLayerSet().Contains( F_Cu ) )
{
frontCopper.BooleanAdd( zone->GetFilledPolysList( F_Cu ),
SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
}
}
BOOST_CHECK_GT( frontCopper.OutlineCount(), 2 );
// Now re-fill and make sure the holes are gone.
fillZones( 6 );
frontCopper = SHAPE_POLY_SET();
for( ZONE* zone : m_board->Zones() )
{
if( zone->GetLayerSet().Contains( F_Cu ) )
{
frontCopper.BooleanAdd( zone->GetFilledPolysList( F_Cu ),
SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
}
}
BOOST_CHECK_EQUAL( frontCopper.OutlineCount(), 2 );
}
BOOST_AUTO_TEST_CASE( RegressionZoneFillTests )
{
for( const wxString& relPath : { "issue2568",
"issue3812",
"issue5102",
"issue5320",
"issue5567",
"issue5830",
"issue6039",
"issue6260",
"issue6284",
"issue7086" } )
{
loadBoard( relPath );
for( int fillVersion : { 5, 6 } )
{
fillZones( fillVersion );
std::vector<DRC_ITEM> violations;
m_DRCEngine->SetViolationHandler(
[&]( const std::shared_ptr<DRC_ITEM>& aItem, wxPoint aPos )
{
if( aItem->GetErrorCode() == DRCE_CLEARANCE )
violations.push_back( *aItem );
} );
m_DRCEngine->RunTests( EDA_UNITS::MILLIMETRES, true, false );
BOOST_TEST_MESSAGE( wxString::Format( "Zone fill regression: %s, V%d fill algo %s",
relPath,
fillVersion,
violations.empty() ? "passed" : "failed" ) );
if( !violations.empty() )
{
std::map<KIID, EDA_ITEM*> itemMap;
m_board->FillItemMap( itemMap );
for( const DRC_ITEM& v : violations )
BOOST_ERROR( v.ShowReport( EDA_UNITS::INCHES, RPT_SEVERITY_ERROR, itemMap ) );
}
}
}
}
BOOST_AUTO_TEST_SUITE_END()