diff --git a/tests/data/four_3rd_order_smd_lc_filters/autoroute_signal.cmd b/tests/data/four_3rd_order_smd_lc_filters/autoroute_signals.cmd similarity index 100% rename from tests/data/four_3rd_order_smd_lc_filters/autoroute_signal.cmd rename to tests/data/four_3rd_order_smd_lc_filters/autoroute_signals.cmd diff --git a/tests/data/single_layer_tht_diode_bridge_rectifier/autoroute_all.cmd b/tests/data/single_layer_tht_diode_bridge_rectifier/autoroute_all.cmd new file mode 100644 index 0000000..ef1a231 --- /dev/null +++ b/tests/data/single_layer_tht_diode_bridge_rectifier/autoroute_all.cmd @@ -0,0 +1,30 @@ +{ + "done": [ + { + "Autoroute": { + "pins": [ + "J2-2", + "J2-1", + "D3-2", + "D2-1", + "D3-1", + "D1-1", + "J1-1", + "D2-2", + "D1-2", + "D4-1", + "J1-2" + ] + } + }, + { + "Autoroute": { + "pins": [ + "D4-2", + "J2-2" + ] + } + } + ], + "undone": [] +} \ No newline at end of file diff --git a/tests/data/single_layer_tht_diode_bridge_rectifier/fp-info-cache b/tests/data/single_layer_tht_diode_bridge_rectifier/fp-info-cache new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/data/single_layer_tht_diode_bridge_rectifier/fp-info-cache @@ -0,0 +1 @@ +0 diff --git a/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.dsn b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.dsn new file mode 100644 index 0000000..305f909 --- /dev/null +++ b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.dsn @@ -0,0 +1,163 @@ +(pcb /home/mikolaj/proj/topola/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.dsn + (parser + (string_quote ") + (space_in_quoted_tokens on) + (host_cad "KiCad's Pcbnew") + (host_version "8.0.2") + ) + (resolution um 10) + (unit um) + (structure + (layer F.Cu + (type signal) + (property + (index 0) + ) + ) + (layer B.Cu + (type signal) + (property + (index 1) + ) + ) + (boundary + (path pcb 0 129540 -87630 96520 -87630 96520 -67310 129540 -67310 + 129540 -87630) + ) + (via "Via[0-1]_600:300_um") + (rule + (width 200) + (clearance 200) + (clearance 200 (type default_smd)) + (clearance 50 (type smd_smd)) + ) + ) + (placement + (component "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (place J2 124460.000000 -80010.000000 front 90.000000 (PN Screw_Terminal_01x02)) + ) + (component "TerminalBlock:TerminalBlock_bornier-2_P5.08mm::1" + (place J1 101600.000000 -74930.000000 front -90.000000 (PN Screw_Terminal_01x02)) + ) + (component "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (place D4 107950.000000 -85090.000000 front 0.000000 (PN D_45deg)) + (place D3 118110.000000 -80010.000000 front 180.000000 (PN D_45deg)) + (place D2 118110.000000 -74930.000000 front 180.000000 (PN D_45deg)) + (place D1 107950.000000 -69850.000000 front 0.000000 (PN D_45deg)) + ) + ) + (library + (image "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (outline (path signal 120 -2540 3810 -2540 -3810)) + (outline (path signal 120 -2540 -3810 7620 -3810)) + (outline (path signal 120 7620 3810 -2540 3810)) + (outline (path signal 120 7620 -2540 -2540 -2540)) + (outline (path signal 120 7620 -3810 7620 3810)) + (outline (path signal 50 -2710 4000 -2710 -4000)) + (outline (path signal 50 -2710 4000 7790 4000)) + (outline (path signal 50 7790 -4000 -2710 -4000)) + (outline (path signal 50 7790 -4000 7790 4000)) + (outline (path signal 100 -2460 3750 -2460 -3750)) + (outline (path signal 100 -2460 -3750 7540 -3750)) + (outline (path signal 100 -2410 -2550 7490 -2550)) + (outline (path signal 100 7540 3750 -2460 3750)) + (outline (path signal 100 7540 -3750 7540 3750)) + (pin Rect[A]Pad_3000x3000_um 1 0 0) + (pin Round[A]Pad_3000_um 2 5080 0) + ) + (image "TerminalBlock:TerminalBlock_bornier-2_P5.08mm::1" + (outline (path signal 100 7540 -3750 7540 3750)) + (outline (path signal 100 7540 3750 -2460 3750)) + (outline (path signal 100 -2410 -2550 7490 -2550)) + (outline (path signal 100 -2460 -3750 7540 -3750)) + (outline (path signal 100 -2460 3750 -2460 -3750)) + (outline (path signal 50 7790 -4000 7790 4000)) + (outline (path signal 50 7790 -4000 -2710 -4000)) + (outline (path signal 50 -2710 4000 7790 4000)) + (outline (path signal 50 -2710 4000 -2710 -4000)) + (outline (path signal 120 7620 -3810 7620 3810)) + (outline (path signal 120 7620 -2540 -2540 -2540)) + (outline (path signal 120 7620 3810 -2540 3810)) + (outline (path signal 120 -2540 -3810 7620 -3810)) + (outline (path signal 120 -2540 3810 -2540 -3810)) + (pin Round[A]Pad_3000_um 2 5080 0) + (pin Rect[A]Pad_3000x3000_um 1 0 0) + ) + (image "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (outline (path signal 120 1160 1920 9000 1920)) + (outline (path signal 120 1160 1440 1160 1920)) + (outline (path signal 120 1160 -1440 1160 -1920)) + (outline (path signal 120 1160 -1920 9000 -1920)) + (outline (path signal 120 2300 1920 2300 -1920)) + (outline (path signal 120 2420 1920 2420 -1920)) + (outline (path signal 120 2540 1920 2540 -1920)) + (outline (path signal 120 9000 1920 9000 1440)) + (outline (path signal 120 9000 -1920 9000 -1440)) + (outline (path signal 50 -1450 2050 -1450 -2050)) + (outline (path signal 50 -1450 -2050 11610 -2050)) + (outline (path signal 50 11610 2050 -1450 2050)) + (outline (path signal 50 11610 -2050 11610 2050)) + (outline (path signal 100 0 0 1280 0)) + (outline (path signal 100 1280 1800 1280 -1800)) + (outline (path signal 100 1280 -1800 8880 -1800)) + (outline (path signal 100 2320 1800 2320 -1800)) + (outline (path signal 100 2420 1800 2420 -1800)) + (outline (path signal 100 2520 1800 2520 -1800)) + (outline (path signal 100 8880 1800 1280 1800)) + (outline (path signal 100 8880 -1800 8880 1800)) + (outline (path signal 100 10160 0 8880 0)) + (pin Rect[A]Pad_2400x2400_um 1 0 0) + (pin Oval[A]Pad_2400x2400_um 2 10160 0) + ) + (padstack Round[A]Pad_3000_um + (shape (circle F.Cu 3000)) + (shape (circle B.Cu 3000)) + (attach off) + ) + (padstack Oval[A]Pad_2400x2400_um + (shape (path F.Cu 2400 0 0 0 0)) + (shape (path B.Cu 2400 0 0 0 0)) + (attach off) + ) + (padstack Rect[A]Pad_2400x2400_um + (shape (rect F.Cu -1200 -1200 1200 1200)) + (shape (rect B.Cu -1200 -1200 1200 1200)) + (attach off) + ) + (padstack Rect[A]Pad_3000x3000_um + (shape (rect F.Cu -1500 -1500 1500 1500)) + (shape (rect B.Cu -1500 -1500 1500 1500)) + (attach off) + ) + (padstack "Via[0-1]_600:300_um" + (shape (circle F.Cu 600)) + (shape (circle B.Cu 600)) + (attach off) + ) + ) + (network + (net "Net-(D1-K)" + (pins J1-1 D2-2 D1-1) + ) + (net "Net-(D1-A)" + (pins J2-2 D4-2 D1-2) + ) + (net "Net-(D2-K)" + (pins J2-1 D3-1 D2-1) + ) + (net "Net-(D3-A)" + (pins J1-2 D4-1 D3-2) + ) + (class kicad_default "" "Net-(D1-A)" "Net-(D1-K)" "Net-(D2-K)" "Net-(D3-A)" + (circuit + (use_via Via[0-1]_600:300_um) + ) + (rule + (width 200) + (clearance 200) + ) + ) + ) + (wiring + ) +) diff --git a/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_pcb b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_pcb new file mode 100644 index 0000000..836e591 --- /dev/null +++ b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_pcb @@ -0,0 +1,2134 @@ +(kicad_pcb + (version 20240108) + (generator "pcbnew") + (generator_version "8.0") + (general + (thickness 1.6) + (legacy_teardrops no) + ) + (paper "A4") + (layers + (0 "F.Cu" signal) + (31 "B.Cu" signal) + (32 "B.Adhes" user "B.Adhesive") + (33 "F.Adhes" user "F.Adhesive") + (34 "B.Paste" user) + (35 "F.Paste" user) + (36 "B.SilkS" user "B.Silkscreen") + (37 "F.SilkS" user "F.Silkscreen") + (38 "B.Mask" user) + (39 "F.Mask" user) + (40 "Dwgs.User" user "User.Drawings") + (41 "Cmts.User" user "User.Comments") + (42 "Eco1.User" user "User.Eco1") + (43 "Eco2.User" user "User.Eco2") + (44 "Edge.Cuts" user) + (45 "Margin" user) + (46 "B.CrtYd" user "B.Courtyard") + (47 "F.CrtYd" user "F.Courtyard") + (48 "B.Fab" user) + (49 "F.Fab" user) + (50 "User.1" user) + (51 "User.2" user) + (52 "User.3" user) + (53 "User.4" user) + (54 "User.5" user) + (55 "User.6" user) + (56 "User.7" user) + (57 "User.8" user) + (58 "User.9" user) + ) + (setup + (pad_to_mask_clearance 0) + (allow_soldermask_bridges_in_footprints no) + (pcbplotparams + (layerselection 0x00010fc_ffffffff) + (plot_on_all_layers_selection 0x0000000_00000000) + (disableapertmacros no) + (usegerberextensions no) + (usegerberattributes yes) + (usegerberadvancedattributes yes) + (creategerberjobfile yes) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) + (svgprecision 4) + (plotframeref no) + (viasonmask no) + (mode 1) + (useauxorigin no) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15.000000) + (pdf_front_fp_property_popups yes) + (pdf_back_fp_property_popups yes) + (dxfpolygonmode yes) + (dxfimperialunits yes) + (dxfusepcbnewfont yes) + (psnegative no) + (psa4output no) + (plotreference yes) + (plotvalue yes) + (plotfptext yes) + (plotinvisibletext no) + (sketchpadsonfab no) + (subtractmaskfromsilk no) + (outputformat 1) + (mirror no) + (drillshape 1) + (scaleselection 1) + (outputdirectory "") + ) + ) + (net 0 "") + (net 1 "Net-(D1-K)") + (net 2 "Net-(D1-A)") + (net 3 "Net-(D2-K)") + (net 4 "Net-(D3-A)") + (footprint "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (layer "F.Cu") + (uuid "0645ec19-2e42-49d2-815e-da6835438d3c") + (at 118.11 80.01 180) + (descr "Diode, DO-15 series, Axial, Horizontal, pin pitch=10.16mm, , length*diameter=7.6*3.6mm^2, , http://www.diodes.com/_files/packages/DO-15.pdf") + (tags "Diode DO-15 series Axial Horizontal pin pitch 10.16mm length 7.6mm diameter 3.6mm") + (property "Reference" "D3" + (at 5.08 -2.92 180) + (layer "F.SilkS") + (uuid "561bb9ea-692b-4a2a-b07a-8fae09df459b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "D_45deg" + (at 5.08 2.92 180) + (layer "F.Fab") + (uuid "84f0256c-309d-4493-a5b3-49516c73c262") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "79924e14-9fb4-479d-bce9-df4e6c0eab47") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "6cf2922c-d39b-48ae-940a-abfbb0e1c48d") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "f521dfac-d4f8-4166-9f9f-a38125a7d0eb") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Sim.Device" "D" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "2a7a9a0a-e800-496d-839d-2f907f632a89") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "fa83ace2-8c40-4865-8c73-3431b0e87fda") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "D*Bridge* D*Rectifier*") + (path "/43ab64df-926a-4e01-8a98-67d2c800c849") + (sheetname "Root") + (sheetfile "single_layer_tht_diode_bridge_rectifier.kicad_sch") + (attr through_hole) + (fp_line + (start 9 1.92) + (end 9 1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "94bb5cfa-1384-40b3-b7d2-806d539d7de7") + ) + (fp_line + (start 9 -1.92) + (end 9 -1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "93ca8bb1-dd24-4a08-bf8e-8e2812e65dd4") + ) + (fp_line + (start 2.54 -1.92) + (end 2.54 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "86a3872f-18e5-4a43-83de-321989ee7858") + ) + (fp_line + (start 2.42 -1.92) + (end 2.42 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "41c3996a-9dc4-43d8-a75a-e1fb0d44820b") + ) + (fp_line + (start 2.3 -1.92) + (end 2.3 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "500f580a-79b8-45c4-92bc-9f183cc93fd9") + ) + (fp_line + (start 1.16 1.92) + (end 9 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0b402616-4c63-44c4-b1fe-0c4193c967f3") + ) + (fp_line + (start 1.16 1.44) + (end 1.16 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "fff47465-97b9-4f52-9d17-e33117d3e8dc") + ) + (fp_line + (start 1.16 -1.44) + (end 1.16 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e67a8fb2-c586-441f-a0f0-23557c9b456c") + ) + (fp_line + (start 1.16 -1.92) + (end 9 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d4dbebc7-1b08-4c7a-9c01-906bb65d30dc") + ) + (fp_line + (start 11.61 2.05) + (end 11.61 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "c0e3faea-2944-49c7-9ec6-a21f48d4e94e") + ) + (fp_line + (start 11.61 -2.05) + (end -1.45 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "60930402-02de-4605-8d16-b58a822eb413") + ) + (fp_line + (start -1.45 2.05) + (end 11.61 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "38ec7270-fe69-4f26-b25c-28b84de3c270") + ) + (fp_line + (start -1.45 -2.05) + (end -1.45 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "b9e235ce-d6ba-4c24-8877-1ef4dd804b17") + ) + (fp_line + (start 10.16 0) + (end 8.88 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "d6486783-b4d7-4aed-bbe2-895fedd6dba2") + ) + (fp_line + (start 8.88 1.8) + (end 8.88 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "f8b20d68-e410-4bc0-8113-fe5e9c1de37b") + ) + (fp_line + (start 8.88 -1.8) + (end 1.28 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "6d6003a2-9f73-43c1-aca9-a18f19aec5b5") + ) + (fp_line + (start 2.52 -1.8) + (end 2.52 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "02ad8c8c-d305-4a19-a10d-790dbf758322") + ) + (fp_line + (start 2.42 -1.8) + (end 2.42 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "98726260-9bdf-442d-a5db-11efe7ca6a96") + ) + (fp_line + (start 2.32 -1.8) + (end 2.32 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "2c284dcf-d2c9-4e2d-ad15-8b4a58e57ca0") + ) + (fp_line + (start 1.28 1.8) + (end 8.88 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "1a52ddfe-b892-4380-9fac-92f09f5f0b4e") + ) + (fp_line + (start 1.28 -1.8) + (end 1.28 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "ccd559b4-49cc-4da2-9b37-6d9478633809") + ) + (fp_line + (start 0 0) + (end 1.28 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "5106c007-49f6-4f51-a085-c6f99dbe7977") + ) + (fp_text user "K" + (at 0 -2.2 180) + (layer "F.SilkS") + (uuid "4c0c12f2-798b-4361-b1c3-76bbeec045a7") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "${REFERENCE}" + (at 5.65 0 180) + (layer "F.Fab") + (uuid "4861ce18-c30d-426a-a7c5-431e246a730b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "K" + (at 0 -2.2 180) + (layer "F.Fab") + (uuid "4bb45ddc-4548-404d-b81e-51b00232315b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 3 "Net-(D2-K)") + (pinfunction "K") + (pintype "passive") + (uuid "930475c9-5800-4215-9f07-7fe793d44d69") + ) + (pad "2" thru_hole oval + (at 10.16 0 180) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 4 "Net-(D3-A)") + (pinfunction "A") + (pintype "passive") + (uuid "89f16993-7308-4f63-aeae-91ac35d9598b") + ) + (model "${KICAD8_3DMODEL_DIR}/Diode_THT.3dshapes/D_DO-15_P10.16mm_Horizontal.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (layer "F.Cu") + (uuid "1b6a797a-24dc-45ec-af16-09f94ee85353") + (at 107.95 69.85) + (descr "Diode, DO-15 series, Axial, Horizontal, pin pitch=10.16mm, , length*diameter=7.6*3.6mm^2, , http://www.diodes.com/_files/packages/DO-15.pdf") + (tags "Diode DO-15 series Axial Horizontal pin pitch 10.16mm length 7.6mm diameter 3.6mm") + (property "Reference" "D1" + (at 5.08 -2.92 0) + (layer "F.SilkS") + (uuid "c4bf35e1-81c2-4e69-8863-36eb286f2f5b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "D_45deg" + (at 5.08 2.92 0) + (layer "F.Fab") + (uuid "091250c0-d4e1-4246-8c67-0949f36cc2e1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "8a6d922e-77fe-4c4d-9c48-2596d03c3fee") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "f6c8fe12-3b5b-42ac-8795-7b355c6e8ebe") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "5803b2c4-0d18-4874-b7a9-c4f9df43f063") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Sim.Device" "D" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "3b417587-58ec-4246-bee7-fa0b12ea64e6") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "7280f930-834a-4ef1-81a8-47c32a85dea8") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "D*Bridge* D*Rectifier*") + (path "/aae449ee-03c9-4537-996f-100e098107e1") + (sheetname "Root") + (sheetfile "single_layer_tht_diode_bridge_rectifier.kicad_sch") + (attr through_hole) + (fp_line + (start 1.16 -1.92) + (end 9 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "b3be223a-af94-4684-a92a-0e4955a91eb2") + ) + (fp_line + (start 1.16 -1.44) + (end 1.16 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "06843b9c-2dcc-467c-b998-45acebde90b5") + ) + (fp_line + (start 1.16 1.44) + (end 1.16 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "8b82d559-542a-4e53-9b00-5066aa9e786d") + ) + (fp_line + (start 1.16 1.92) + (end 9 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "34d6d8c3-2fd7-4653-8de9-b1bfa398eb17") + ) + (fp_line + (start 2.3 -1.92) + (end 2.3 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "fbe9c161-efdb-4c51-a8d7-427e36258f89") + ) + (fp_line + (start 2.42 -1.92) + (end 2.42 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "8cc149ee-ba2f-45ad-95c2-6cc8c76bede9") + ) + (fp_line + (start 2.54 -1.92) + (end 2.54 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "fe5d7153-e05a-4b0c-bfa6-9b36ed9e3e98") + ) + (fp_line + (start 9 -1.92) + (end 9 -1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "f1d9948d-9383-4b10-89ac-3aacb9bbfa2d") + ) + (fp_line + (start 9 1.92) + (end 9 1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "a714f509-1b9a-43c8-ac29-805855e56592") + ) + (fp_line + (start -1.45 -2.05) + (end -1.45 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "18fee923-37ef-441f-818f-d64923884788") + ) + (fp_line + (start -1.45 2.05) + (end 11.61 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "9abd3b11-97a9-4aad-a553-c5f643742d2a") + ) + (fp_line + (start 11.61 -2.05) + (end -1.45 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "ac82cb3e-de23-49fe-ad00-3e0e481e1833") + ) + (fp_line + (start 11.61 2.05) + (end 11.61 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "9261f3b2-5b9a-4ff4-9374-2d0cc4d84db0") + ) + (fp_line + (start 0 0) + (end 1.28 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b7306270-201b-48b9-9e0c-4b173d1cccd0") + ) + (fp_line + (start 1.28 -1.8) + (end 1.28 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "5a2c6134-d2e0-414f-8947-afe966c2db69") + ) + (fp_line + (start 1.28 1.8) + (end 8.88 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "520965d2-26ad-4892-870f-80975b7490f3") + ) + (fp_line + (start 2.32 -1.8) + (end 2.32 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "28af8e00-5a0f-4c42-8dc2-2283bed6fe44") + ) + (fp_line + (start 2.42 -1.8) + (end 2.42 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "933e0be2-c0d2-42e3-ba2c-9da38829ef8b") + ) + (fp_line + (start 2.52 -1.8) + (end 2.52 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "9c9da8e2-7ac8-41c6-889d-ac25e387fd81") + ) + (fp_line + (start 8.88 -1.8) + (end 1.28 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "828e80c5-c148-4344-8e0f-b39738fb0e0c") + ) + (fp_line + (start 8.88 1.8) + (end 8.88 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "2cca04db-27e9-4cf1-aa9f-b8c93d4f140c") + ) + (fp_line + (start 10.16 0) + (end 8.88 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "1f73d4f3-db59-43cc-93d3-1c2b76ce0efe") + ) + (fp_text user "K" + (at 0 -2.2 0) + (layer "F.SilkS") + (uuid "360b0f69-5a0d-4e67-932e-1e086299319d") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "K" + (at 0 -2.2 0) + (layer "F.Fab") + (uuid "853d2037-8c49-4afa-a398-e67a7654c4e7") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "${REFERENCE}" + (at 5.65 0 0) + (layer "F.Fab") + (uuid "9ad9ee87-ba12-4cfb-8f3f-c6ec2d197af7") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 1 "Net-(D1-K)") + (pinfunction "K") + (pintype "passive") + (uuid "2f099a25-63c0-44b3-9f84-0df57a146137") + ) + (pad "2" thru_hole oval + (at 10.16 0) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "Net-(D1-A)") + (pinfunction "A") + (pintype "passive") + (uuid "ae72cfce-36da-4711-9607-b451c523e716") + ) + (model "${KICAD8_3DMODEL_DIR}/Diode_THT.3dshapes/D_DO-15_P10.16mm_Horizontal.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (layer "F.Cu") + (uuid "7a79745c-62be-4128-a028-52c98653b0ad") + (at 124.46 80.01 90) + (descr "simple 2-pin terminal block, pitch 5.08mm, revamped version of bornier2") + (tags "terminal block bornier2") + (property "Reference" "J2" + (at 2.54 -5.08 270) + (layer "F.SilkS") + (uuid "e372f6c5-fc09-4cbd-b75f-7ba0d287c5d6") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "Screw_Terminal_01x02" + (at 2.54 5.08 270) + (layer "F.Fab") + (uuid "5dd3594e-f419-47fd-b776-ae6374662da6") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "b9a99933-00a4-4812-ad07-401397ba3f1d") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "944acc9e-99f8-45e0-b46c-48308e0537a5") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic screw terminal, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "bbbc50e6-05e9-49b6-a8e5-71d32a0a2efd") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property ki_fp_filters "TerminalBlock*:*") + (path "/33bb9157-e6b0-4858-a7ac-9a21f6b6b928") + (sheetname "Root") + (sheetfile "single_layer_tht_diode_bridge_rectifier.kicad_sch") + (attr through_hole) + (fp_line + (start 7.62 -3.81) + (end -2.54 -3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "f0d1d0a2-9e78-4bd8-902b-3164b3c63895") + ) + (fp_line + (start -2.54 -3.81) + (end -2.54 3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "fc7f3132-fe28-48a7-97a7-023b94bec524") + ) + (fp_line + (start 7.62 2.54) + (end -2.54 2.54) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "eb088ea8-ffd7-48e0-8b29-dc67fda24a06") + ) + (fp_line + (start 7.62 3.81) + (end 7.62 -3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "663f86a2-23c2-41df-ad65-0a864ace6bf1") + ) + (fp_line + (start -2.54 3.81) + (end 7.62 3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e8b03b26-2876-48ef-931d-e154c5b48a2f") + ) + (fp_line + (start -2.71 -4) + (end 7.79 -4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "5fd040eb-e4f2-41df-989a-87f2640c3bbd") + ) + (fp_line + (start -2.71 -4) + (end -2.71 4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "44790763-39f8-4bdf-9ef3-0a61879abec9") + ) + (fp_line + (start 7.79 4) + (end 7.79 -4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "5de88b46-47ef-409c-9721-34c707072bc9") + ) + (fp_line + (start 7.79 4) + (end -2.71 4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "74d04594-49ba-4889-bab7-27adf6cc210d") + ) + (fp_line + (start 7.54 -3.75) + (end -2.46 -3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "6b0df2fa-8027-4c45-b3eb-92416460aae8") + ) + (fp_line + (start -2.46 -3.75) + (end -2.46 3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "254787d3-615e-4c3d-a671-db375dfa0a56") + ) + (fp_line + (start -2.41 2.55) + (end 7.49 2.55) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "d2491478-dda2-438b-b175-932f7e1a1e68") + ) + (fp_line + (start 7.54 3.75) + (end 7.54 -3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b7542a71-ede7-4579-9572-965de2805593") + ) + (fp_line + (start -2.46 3.75) + (end 7.54 3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "426049ae-76cc-4db4-ac46-f62f93c7ed41") + ) + (fp_text user "${REFERENCE}" + (at 2.54 0 270) + (layer "F.Fab") + (uuid "1a2587f4-4ef8-4a61-b215-2db2d820b113") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 90) + (size 3 3) + (drill 1.52) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 3 "Net-(D2-K)") + (pinfunction "Pin_1") + (pintype "passive") + (uuid "86761ad3-a104-48b5-a041-25cdeb133820") + ) + (pad "2" thru_hole circle + (at 5.08 0 90) + (size 3 3) + (drill 1.52) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "Net-(D1-A)") + (pinfunction "Pin_2") + (pintype "passive") + (uuid "708718ab-15f1-4e82-8cd1-829bc45eaa3e") + ) + (model "${KICAD8_3DMODEL_DIR}/TerminalBlock.3dshapes/TerminalBlock_bornier-2_P5.08mm.wrl" + (offset + (xyz 2.539999962 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (layer "F.Cu") + (uuid "9f0fd4f3-6d8a-424d-b2d9-1145f1a45283") + (at 101.6 74.93 -90) + (descr "simple 2-pin terminal block, pitch 5.08mm, revamped version of bornier2") + (tags "terminal block bornier2") + (property "Reference" "J1" + (at 2.54 -5.08 90) + (layer "F.SilkS") + (uuid "798cdaea-a435-4998-99a3-8bc64fdf6c4f") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "Screw_Terminal_01x02" + (at 2.54 5.08 90) + (layer "F.Fab") + (uuid "215f3b3a-ebcb-4089-91bb-be95a97a4db6") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (at 0 0 -90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "225df525-b08c-40eb-ae44-56af13a407f3") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 -90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "120dbc18-edea-4896-8ba4-ce51956ebe00") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic screw terminal, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)" + (at 0 0 -90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "a578cf4d-aae4-42f8-b440-47fcdd5146eb") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property ki_fp_filters "TerminalBlock*:*") + (path "/ae531f5f-c43e-4c22-8182-faed35881b46") + (sheetname "Root") + (sheetfile "single_layer_tht_diode_bridge_rectifier.kicad_sch") + (attr through_hole) + (fp_line + (start -2.54 3.81) + (end 7.62 3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e33e728b-e34c-4b21-8cd3-42571ee2a594") + ) + (fp_line + (start 7.62 3.81) + (end 7.62 -3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "326dacc7-236b-4e87-9204-fc0cf39dc177") + ) + (fp_line + (start 7.62 2.54) + (end -2.54 2.54) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "48e69ed4-87f5-44e5-b607-af004ee57a2d") + ) + (fp_line + (start -2.54 -3.81) + (end -2.54 3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e9f6f6c0-290a-4ba9-afe9-af253fe0d266") + ) + (fp_line + (start 7.62 -3.81) + (end -2.54 -3.81) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "444ff56a-8488-4de2-bce8-e4fb422f622f") + ) + (fp_line + (start 7.79 4) + (end -2.71 4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "d45b4339-450a-4b10-92d2-b2e73c65422d") + ) + (fp_line + (start 7.79 4) + (end 7.79 -4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "ed4ed048-3104-43b2-b0d6-82d867f31676") + ) + (fp_line + (start -2.71 -4) + (end -2.71 4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "c16775ca-7b25-47c2-9596-f949515c462c") + ) + (fp_line + (start -2.71 -4) + (end 7.79 -4) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "44a74f8b-5e11-48a8-b2bb-b204fe1a0e22") + ) + (fp_line + (start -2.46 3.75) + (end 7.54 3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "afa96bf7-8599-407d-b3cd-424e7261bbfb") + ) + (fp_line + (start 7.54 3.75) + (end 7.54 -3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "7d2367c2-8684-46cb-8585-1bad5bc1bb49") + ) + (fp_line + (start -2.41 2.55) + (end 7.49 2.55) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "ce69148b-e3c7-4d12-a7b7-580698ef648a") + ) + (fp_line + (start -2.46 -3.75) + (end -2.46 3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "825cc5ad-6d28-4fef-a9d8-c805a6b9e4d5") + ) + (fp_line + (start 7.54 -3.75) + (end -2.46 -3.75) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "821007a1-ced0-4fe8-b19c-1093dc39dd7b") + ) + (fp_text user "${REFERENCE}" + (at 2.54 0 90) + (layer "F.Fab") + (uuid "9b529add-d506-4ea8-ad30-249a1c4a6269") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 270) + (size 3 3) + (drill 1.52) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 1 "Net-(D1-K)") + (pinfunction "Pin_1") + (pintype "passive") + (uuid "7277338c-6b87-4880-b244-d6225b94e165") + ) + (pad "2" thru_hole circle + (at 5.08 0 270) + (size 3 3) + (drill 1.52) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 4 "Net-(D3-A)") + (pinfunction "Pin_2") + (pintype "passive") + (uuid "d27fdcfe-7ce8-47dd-b4dd-ac1470297f80") + ) + (model "${KICAD8_3DMODEL_DIR}/TerminalBlock.3dshapes/TerminalBlock_bornier-2_P5.08mm.wrl" + (offset + (xyz 2.539999962 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (layer "F.Cu") + (uuid "9ff83190-23ff-42a8-a594-f23871763af4") + (at 107.95 85.09) + (descr "Diode, DO-15 series, Axial, Horizontal, pin pitch=10.16mm, , length*diameter=7.6*3.6mm^2, , http://www.diodes.com/_files/packages/DO-15.pdf") + (tags "Diode DO-15 series Axial Horizontal pin pitch 10.16mm length 7.6mm diameter 3.6mm") + (property "Reference" "D4" + (at 5.08 -2.92 0) + (layer "F.SilkS") + (uuid "670ec6b1-6962-4f11-80cc-32f2ea8af422") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "D_45deg" + (at 5.08 2.92 0) + (layer "F.Fab") + (uuid "ff1a0f89-108c-4916-ab7c-d87e09bc361e") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "0af05cd9-c20b-442d-abd4-b3fab1e47769") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "ad873267-9ef8-42ad-b842-a21839a48994") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "28c85b3e-709e-4a0f-8c02-0515631e5be8") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Sim.Device" "D" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "b2dadf9f-0969-490e-81ef-fda0a07c5777") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "8e1c522c-dba7-4c4c-9546-7ebb6aeea5d6") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "D*Bridge* D*Rectifier*") + (path "/12bc0990-5e61-4c01-a094-e653d3a60893") + (sheetname "Root") + (sheetfile "single_layer_tht_diode_bridge_rectifier.kicad_sch") + (attr through_hole) + (fp_line + (start 1.16 -1.92) + (end 9 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "11412a7a-6e84-48d9-857f-d8471039927b") + ) + (fp_line + (start 1.16 -1.44) + (end 1.16 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "2e30cbc0-42f1-4e08-87e5-874442832d4a") + ) + (fp_line + (start 1.16 1.44) + (end 1.16 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "4dd33a5a-a820-4a81-a87c-66c37305d28d") + ) + (fp_line + (start 1.16 1.92) + (end 9 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "c7a2b2fe-924c-4eba-9def-9d30f1412488") + ) + (fp_line + (start 2.3 -1.92) + (end 2.3 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "45bafd1e-ce6a-4373-bdeb-c700a93eb7d0") + ) + (fp_line + (start 2.42 -1.92) + (end 2.42 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "80de385f-5bee-453d-a582-b8e44715b442") + ) + (fp_line + (start 2.54 -1.92) + (end 2.54 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "2e9ee330-fda5-4f2a-8add-53793d3277e4") + ) + (fp_line + (start 9 -1.92) + (end 9 -1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "7599f57c-79b0-4870-b531-c27401544568") + ) + (fp_line + (start 9 1.92) + (end 9 1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "f8200f53-4453-4272-b6ef-13e2051b937d") + ) + (fp_line + (start -1.45 -2.05) + (end -1.45 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "cad016f2-7b3f-4156-87a8-6df792bdba5b") + ) + (fp_line + (start -1.45 2.05) + (end 11.61 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "e07313a5-7d24-4644-bccd-0fdafeed2282") + ) + (fp_line + (start 11.61 -2.05) + (end -1.45 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "f7b2ecf3-babd-4b01-b7fb-2fe014c07900") + ) + (fp_line + (start 11.61 2.05) + (end 11.61 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "f44a9928-eb9e-4a3a-aa5f-228f787dbb2d") + ) + (fp_line + (start 0 0) + (end 1.28 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "699d1aa2-4dee-498d-8082-deb1077cacae") + ) + (fp_line + (start 1.28 -1.8) + (end 1.28 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "a4b1743e-8037-4652-835a-faee261a6a8d") + ) + (fp_line + (start 1.28 1.8) + (end 8.88 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "68c629f4-24b6-4872-876f-9c014c698b4d") + ) + (fp_line + (start 2.32 -1.8) + (end 2.32 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "c6f210b1-cf69-4bcc-9f6e-a348d0eb7ae4") + ) + (fp_line + (start 2.42 -1.8) + (end 2.42 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "abb8a462-ac34-4989-93b1-a4aef35b25ec") + ) + (fp_line + (start 2.52 -1.8) + (end 2.52 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "14e074f1-d1c5-4c59-bfb1-24f9639ea79d") + ) + (fp_line + (start 8.88 -1.8) + (end 1.28 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "74f319ba-7820-428d-a342-39b1c80f0017") + ) + (fp_line + (start 8.88 1.8) + (end 8.88 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "9d85e077-b96c-4676-a421-c514e0f16eb8") + ) + (fp_line + (start 10.16 0) + (end 8.88 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "3e6d1623-ac24-4494-93fe-47abbaa24e20") + ) + (fp_text user "K" + (at 0 -2.2 0) + (layer "F.SilkS") + (uuid "379cc254-c13a-49b7-aa67-db370214dba3") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "K" + (at 0 -2.2 0) + (layer "F.Fab") + (uuid "64bdc5f2-4556-4c06-8bca-783a5315fb41") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "${REFERENCE}" + (at 5.65 0 0) + (layer "F.Fab") + (uuid "acffdc0d-a23d-4ca7-ba5f-6c364b56d715") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 4 "Net-(D3-A)") + (pinfunction "K") + (pintype "passive") + (uuid "ae606aab-5d7c-4216-926d-ad973adcdab5") + ) + (pad "2" thru_hole oval + (at 10.16 0) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "Net-(D1-A)") + (pinfunction "A") + (pintype "passive") + (uuid "f87f997f-96e1-4b1a-9611-e00b9694b1e1") + ) + (model "${KICAD8_3DMODEL_DIR}/Diode_THT.3dshapes/D_DO-15_P10.16mm_Horizontal.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (layer "F.Cu") + (uuid "b898de84-7ecc-4a2d-9f0b-ab3478080063") + (at 118.11 74.93 180) + (descr "Diode, DO-15 series, Axial, Horizontal, pin pitch=10.16mm, , length*diameter=7.6*3.6mm^2, , http://www.diodes.com/_files/packages/DO-15.pdf") + (tags "Diode DO-15 series Axial Horizontal pin pitch 10.16mm length 7.6mm diameter 3.6mm") + (property "Reference" "D2" + (at 5.08 -2.92 180) + (layer "F.SilkS") + (uuid "30b45974-2bf9-4fb7-a24e-703113e03186") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "D_45deg" + (at 5.08 2.92 180) + (layer "F.Fab") + (uuid "99f0cf8a-154b-4a11-8608-481c5413b956") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "39819974-68e6-48d5-ad11-31c258dcdee3") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "719763cb-a2ef-4151-b784-400004ab4c69") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "d04c0566-999a-4280-a3e6-740ced540489") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Sim.Device" "D" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "3d5f78d4-e914-4275-89c5-d6f710b31339") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "b7399fa5-2f4d-4c30-bef1-5a52a1e4d2ea") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "D*Bridge* D*Rectifier*") + (path "/1f9b7479-94b6-46d1-90eb-c315c0b77b34") + (sheetname "Root") + (sheetfile "single_layer_tht_diode_bridge_rectifier.kicad_sch") + (attr through_hole) + (fp_line + (start 9 1.92) + (end 9 1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "03e37f62-4260-416e-8ca3-9ecc099a9008") + ) + (fp_line + (start 9 -1.92) + (end 9 -1.44) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "65461057-d1a6-482c-a1a8-806fd22356ce") + ) + (fp_line + (start 2.54 -1.92) + (end 2.54 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "2f366ddd-9cc9-4ed2-96ff-4a6428ed23b3") + ) + (fp_line + (start 2.42 -1.92) + (end 2.42 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "045b9e36-16ee-456d-b97f-348789125a26") + ) + (fp_line + (start 2.3 -1.92) + (end 2.3 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e5fb4aa8-0a96-4639-8f39-e4efd88743fb") + ) + (fp_line + (start 1.16 1.92) + (end 9 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0f5ba5d5-26bd-4d59-af61-6f1ed76b48f6") + ) + (fp_line + (start 1.16 1.44) + (end 1.16 1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "77cd42fd-e14d-414d-99bc-60f0cbf1de41") + ) + (fp_line + (start 1.16 -1.44) + (end 1.16 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "4db0e6ea-d9c3-4ff6-9b1b-2fb5f66288a0") + ) + (fp_line + (start 1.16 -1.92) + (end 9 -1.92) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "7b6b8b81-688e-44bf-8e0b-07a9d07bc737") + ) + (fp_line + (start 11.61 2.05) + (end 11.61 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "ba6f8ec9-ecc0-4235-9871-cf3273f174a6") + ) + (fp_line + (start 11.61 -2.05) + (end -1.45 -2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "de7210a2-62e4-4f59-b80b-2a9b6a723235") + ) + (fp_line + (start -1.45 2.05) + (end 11.61 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "72d4f497-c34b-4d48-93c0-d586296885ee") + ) + (fp_line + (start -1.45 -2.05) + (end -1.45 2.05) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "c4f51c67-49b2-4dfd-b3cc-31b5d31bf795") + ) + (fp_line + (start 10.16 0) + (end 8.88 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "079a3362-513d-4da3-8b7a-ecc53f22a86f") + ) + (fp_line + (start 8.88 1.8) + (end 8.88 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "e2bd9d4f-4b47-41f0-a8bf-5db141de7f13") + ) + (fp_line + (start 8.88 -1.8) + (end 1.28 -1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "cb19dddf-7321-49d9-88b5-1df0c003b4ce") + ) + (fp_line + (start 2.52 -1.8) + (end 2.52 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "3b91f7e2-1b46-47de-869c-a05f61d73a7a") + ) + (fp_line + (start 2.42 -1.8) + (end 2.42 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "e3d1308e-6b00-4f47-ad54-901333cdd74a") + ) + (fp_line + (start 2.32 -1.8) + (end 2.32 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "3d643865-146f-4e8c-9efa-f1cf13d7c409") + ) + (fp_line + (start 1.28 1.8) + (end 8.88 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "4a94d93c-315a-42f1-bdab-3b27a0e4fd52") + ) + (fp_line + (start 1.28 -1.8) + (end 1.28 1.8) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b39a663f-17a8-43a9-8978-13e80e98c658") + ) + (fp_line + (start 0 0) + (end 1.28 0) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b6cb4730-ee47-47e7-b653-2c9548a5fe95") + ) + (fp_text user "K" + (at 0 -2.2 180) + (layer "F.SilkS") + (uuid "0e0a0c9a-f566-4f2d-a325-9473f2050722") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "${REFERENCE}" + (at 5.65 0 180) + (layer "F.Fab") + (uuid "47c66212-db8e-4927-863d-809752ef9fdb") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (fp_text user "K" + (at 0 -2.2 180) + (layer "F.Fab") + (uuid "ac7b24c6-95f4-43ed-8320-7dba90bb171f") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 3 "Net-(D2-K)") + (pinfunction "K") + (pintype "passive") + (uuid "88d63214-e34e-49dc-90ce-14500cf7cb3c") + ) + (pad "2" thru_hole oval + (at 10.16 0 180) + (size 2.4 2.4) + (drill 1.2) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 1 "Net-(D1-K)") + (pinfunction "A") + (pintype "passive") + (uuid "81125bf5-360f-4415-a36a-2585af42a87c") + ) + (model "${KICAD8_3DMODEL_DIR}/Diode_THT.3dshapes/D_DO-15_P10.16mm_Horizontal.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (gr_rect + (start 96.52 67.31) + (end 129.54 87.63) + (stroke + (width 0.05) + (type default) + ) + (fill none) + (layer "Edge.Cuts") + (uuid "643c5a97-9e4a-4790-aaf9-30a6d522683e") + ) +) diff --git a/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_prl b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_prl new file mode 100644 index 0000000..04fcf60 --- /dev/null +++ b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_prl @@ -0,0 +1,83 @@ +{ + "board": { + "active_layer": 44, + "active_layer_preset": "All Layers", + "auto_track_width": true, + "hidden_netclasses": [], + "hidden_nets": [], + "high_contrast_mode": 0, + "net_color_mode": 1, + "opacity": { + "images": 0.6, + "pads": 1.0, + "tracks": 1.0, + "vias": 1.0, + "zones": 0.6 + }, + "selection_filter": { + "dimensions": true, + "footprints": true, + "graphics": true, + "keepouts": true, + "lockedItems": false, + "otherItems": true, + "pads": true, + "text": true, + "tracks": true, + "vias": true, + "zones": true + }, + "visible_items": [ + 0, + 1, + 2, + 3, + 4, + 5, + 8, + 9, + 10, + 11, + 12, + 13, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 32, + 33, + 34, + 35, + 36, + 39, + 40 + ], + "visible_layers": "fffffff_ffffffff", + "zone_display_mode": 0 + }, + "git": { + "repo_password": "", + "repo_type": "", + "repo_username": "", + "ssh_key": "" + }, + "meta": { + "filename": "single_layer_tht_diode_bridge_rectifier.kicad_prl", + "version": 3 + }, + "project": { + "files": [] + } +} diff --git a/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_pro b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_pro new file mode 100644 index 0000000..3f0dc67 --- /dev/null +++ b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_pro @@ -0,0 +1,582 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "apply_defaults_to_fp_fields": false, + "apply_defaults_to_fp_shapes": false, + "apply_defaults_to_fp_text": false, + "board_outline_line_width": 0.05, + "copper_line_width": 0.2, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.05, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": false, + "text_position": 0, + "units_format": 1 + }, + "fab_line_width": 0.1, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.1, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 0.762, + "height": 1.524, + "width": 1.524 + }, + "silk_line_width": 0.1, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.1, + "silk_text_upright": false, + "zones": { + "min_clearance": 0.5 + } + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_symbol_mismatch": "warning", + "footprint_type_mismatch": "ignore", + "hole_clearance": "error", + "hole_near_hole": "error", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "net_conflict": "warning", + "npth_inside_courtyard": "ignore", + "padstack": "warning", + "pth_inside_courtyard": "ignore", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_dangling": "warning", + "track_width": "error", + "tracks_crossing": "error", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.2, + "min_microvia_drill": 0.1, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.8, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.0, + "min_via_annular_width": 0.1, + "min_via_diameter": 0.5, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_onpadsmd": true, + "td_onroundshapesonly": false, + "td_ontrackend": false, + "td_onviapad": true + } + ], + "teardrop_parameters": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [], + "tuning_pattern_settings": { + "diff_pair_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 1.0 + }, + "diff_pair_skew_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + }, + "single_track_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + } + }, + "via_dimensions": [], + "zones_allow_external_fillets": false + }, + "ipc2581": { + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "" + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "conflicting_netclasses": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "global_label_dangling": "warning", + "hier_label_mismatch": "error", + "label_dangling": "error", + "lib_symbol_issues": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "warning", + "power_pin_not_driven": "error", + "similar_labels": "warning", + "simulation_model_issue": "ignore", + "unannotated": "error", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "single_layer_tht_diode_bridge_rectifier.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.2, + "via_diameter": 0.6, + "via_drill": 0.3, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "plot": "", + "pos_files": "", + "specctra_dsn": "single_layer_tht_diode_bridge_rectifier.dsn", + "step": "", + "svg": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "bom_fmt_presets": [], + "bom_fmt_settings": { + "field_delimiter": ",", + "keep_line_breaks": false, + "keep_tabs": false, + "name": "CSV", + "ref_delimiter": ",", + "ref_range_delimiter": "", + "string_delimiter": "\"" + }, + "bom_presets": [], + "bom_settings": { + "exclude_dnp": false, + "fields_ordered": [ + { + "group_by": false, + "label": "Reference", + "name": "Reference", + "show": true + }, + { + "group_by": true, + "label": "Value", + "name": "Value", + "show": true + }, + { + "group_by": false, + "label": "Datasheet", + "name": "Datasheet", + "show": true + }, + { + "group_by": false, + "label": "Footprint", + "name": "Footprint", + "show": true + }, + { + "group_by": false, + "label": "Qty", + "name": "${QUANTITY}", + "show": true + }, + { + "group_by": true, + "label": "DNP", + "name": "${DNP}", + "show": true + } + ], + "filter_string": "", + "group_symbols": true, + "name": "Grouped By Value", + "sort_asc": true, + "sort_field": "Reference" + }, + "connection_grid_size": 50.0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "operating_point_overlay_i_precision": 3, + "operating_point_overlay_i_range": "~A", + "operating_point_overlay_v_precision": 3, + "operating_point_overlay_v_range": "~V", + "overbar_offset_ratio": 1.23, + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "net_format_name": "", + "page_layout_descr_file": "", + "plot_directory": "", + "spice_current_sheet_as_root": false, + "spice_external_command": "spice \"%I\"", + "spice_model_current_sheet_as_root": true, + "spice_save_all_currents": false, + "spice_save_all_dissipations": false, + "spice_save_all_voltages": false, + "subpart_first_id": 65, + "subpart_id_separator": 0 + }, + "sheets": [ + [ + "71099ece-09c5-443c-9dd7-b57178821ade", + "Root" + ] + ], + "text_variables": {} +} diff --git a/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_sch b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_sch new file mode 100644 index 0000000..f2bf35b --- /dev/null +++ b/tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.kicad_sch @@ -0,0 +1,1035 @@ +(kicad_sch + (version 20231120) + (generator "eeschema") + (generator_version "8.0") + (uuid "71099ece-09c5-443c-9dd7-b57178821ade") + (paper "A4") + (lib_symbols + (symbol "Connector:Screw_Terminal_01x02" + (pin_names + (offset 1.016) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "J" + (at 0 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Screw_Terminal_01x02" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Generic screw terminal, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "screw terminal" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "TerminalBlock*:*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "Screw_Terminal_01x02_1_1" + (rectangle + (start -1.27 1.27) + (end 1.27 -3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (circle + (center 0 -2.54) + (radius 0.635) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.5334 -2.2098) (xy 0.3302 -3.048) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.5334 0.3302) (xy 0.3302 -0.508) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.3556 -2.032) (xy 0.508 -2.8702) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.3556 0.508) (xy 0.508 -0.3302) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 0 0) + (radius 0.635) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -2.54 0) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "Device:D_45deg" + (pin_numbers hide) + (pin_names + (offset 0) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "D" + (at 1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "D_45deg" + (at 1.27 0 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "D" + (at 0 -11.43 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 0 -8.89 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "Diode" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "D*Bridge* D*Rectifier*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "D_45deg_0_1" + (polyline + (pts + (xy -0.635 0.635) (xy -2.54 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -1.27) (xy 1.27 0) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 2.54 -2.54) (xy 0.635 -0.635) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 0) (xy 0 1.27) (xy 0.635 -0.635) (xy -1.27 0) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "D_45deg_1_1" + (pin passive line + (at 2.54 -2.54 180) + (length 0) + (name "K" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -2.54 2.54 0) + (length 0) + (name "A" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + ) + (junction + (at 139.7 76.2) + (diameter 0) + (color 0 0 0 0) + (uuid "40da4d88-bf84-48cd-aa55-1b9d77b4c058") + ) + (junction + (at 127 88.9) + (diameter 0) + (color 0 0 0 0) + (uuid "4463db21-1a21-4687-ae70-6508cfc68bed") + ) + (junction + (at 139.7 101.6) + (diameter 0) + (color 0 0 0 0) + (uuid "4625193a-672b-4d0e-86dc-277f8f8e64c4") + ) + (junction + (at 152.4 88.9) + (diameter 0) + (color 0 0 0 0) + (uuid "b319d81b-5c13-4f05-b02b-c92cf0feafef") + ) + (wire + (pts + (xy 127 88.9) (xy 130.81 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "192542af-e805-4266-8051-b2673ebd09cd") + ) + (wire + (pts + (xy 135.89 97.79) (xy 139.7 101.6) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1d58a112-7f62-422e-a985-b709c5872692") + ) + (wire + (pts + (xy 101.6 76.2) (xy 139.7 76.2) + ) + (stroke + (width 0) + (type default) + ) + (uuid "298285a6-a86e-4891-abf1-51451612ceac") + ) + (wire + (pts + (xy 101.6 101.6) (xy 139.7 101.6) + ) + (stroke + (width 0) + (type default) + ) + (uuid "2b6cf3ac-8d3e-4155-90aa-3c65923d9c1e") + ) + (wire + (pts + (xy 127 104.14) (xy 177.8 104.14) + ) + (stroke + (width 0) + (type default) + ) + (uuid "328a0091-4207-4e82-8042-61ffaa08c628") + ) + (wire + (pts + (xy 101.6 78.74) (xy 101.6 101.6) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3f3b9610-7b7d-49e5-abe3-4dd5e926112b") + ) + (wire + (pts + (xy 177.8 91.44) (xy 177.8 104.14) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5e7509c9-0f41-4350-b700-768e6ada358b") + ) + (wire + (pts + (xy 148.59 92.71) (xy 152.4 88.9) + ) + (stroke + (width 0) + (type default) + ) + (uuid "68291a64-c604-4d0b-b91d-5bfa204548b7") + ) + (wire + (pts + (xy 127 88.9) (xy 130.81 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6c67e79f-b128-4dad-98e1-4f7c3a029033") + ) + (wire + (pts + (xy 148.59 85.09) (xy 152.4 88.9) + ) + (stroke + (width 0) + (type default) + ) + (uuid "7ddba9b1-b081-4c2a-83c1-baff14935d48") + ) + (wire + (pts + (xy 135.89 80.01) (xy 139.7 76.2) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8467cef4-6f72-4a23-bae5-4279db6e9785") + ) + (wire + (pts + (xy 139.7 76.2) (xy 143.51 80.01) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8d3b0339-4cd7-4799-a142-b16fb92a342e") + ) + (wire + (pts + (xy 152.4 88.9) (xy 177.8 88.9) + ) + (stroke + (width 0) + (type default) + ) + (uuid "90a43ff6-b263-461a-a2c9-c8035c9082f0") + ) + (wire + (pts + (xy 143.51 97.79) (xy 139.7 101.6) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b805cb7a-95d0-403a-a4c9-85dae19d5440") + ) + (wire + (pts + (xy 127 88.9) (xy 127 104.14) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f1fe6b59-dc66-4ee5-a41a-9b0e4b2ecc83") + ) + (symbol + (lib_id "Device:D_45deg") + (at 133.35 95.25 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "12bc0990-5e61-4c01-a094-e653d3a60893") + (property "Reference" "D4" + (at 133.35 87.63 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "D_45deg" + (at 133.35 90.17 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 133.35 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 133.35 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 133.35 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "D" + (at 133.35 106.68 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 133.35 104.14 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "9dd63a01-a91d-4b8c-85a8-e88f3a842052") + ) + (pin "1" + (uuid "eb13c935-c65a-4af4-91d0-e1c7f144534f") + ) + (instances + (project "single_layer_tht_diode_bridge_rectifier" + (path "/71099ece-09c5-443c-9dd7-b57178821ade" + (reference "D4") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:D_45deg") + (at 146.05 82.55 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "1f9b7479-94b6-46d1-90eb-c315c0b77b34") + (property "Reference" "D2" + (at 146.05 74.93 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "D_45deg" + (at 146.05 77.47 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 146.05 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 146.05 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 146.05 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "D" + (at 146.05 93.98 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 146.05 91.44 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "b62fb127-628a-4908-9cfa-abacc66c3464") + ) + (pin "1" + (uuid "55798640-e0b9-4318-88ae-05a588dcc8de") + ) + (instances + (project "single_layer_tht_diode_bridge_rectifier" + (path "/71099ece-09c5-443c-9dd7-b57178821ade" + (reference "D2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Screw_Terminal_01x02") + (at 182.88 88.9 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "33bb9157-e6b0-4858-a7ac-9a21f6b6b928") + (property "Reference" "J2" + (at 182.88 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Screw_Terminal_01x02" + (at 182.88 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (at 182.88 88.9 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 182.88 88.9 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Generic screw terminal, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)" + (at 182.88 88.9 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "c8c943f2-92fe-46ed-9c6f-8032e0a1e5fe") + ) + (pin "2" + (uuid "76873a01-09a0-41b5-a565-c34fa72949b4") + ) + (instances + (project "single_layer_tht_diode_bridge_rectifier" + (path "/71099ece-09c5-443c-9dd7-b57178821ade" + (reference "J2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:D_45deg") + (at 146.05 95.25 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "43ab64df-926a-4e01-8a98-67d2c800c849") + (property "Reference" "D3" + (at 149.86 93.9799 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "D_45deg" + (at 149.86 96.5199 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 146.05 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 146.05 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 146.05 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "D" + (at 157.48 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 154.94 95.25 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "42f5b377-ea6e-4575-bd73-48d65a39e586") + ) + (pin "1" + (uuid "b88d0fbd-eb5d-4478-bc85-190a180d8763") + ) + (instances + (project "single_layer_tht_diode_bridge_rectifier" + (path "/71099ece-09c5-443c-9dd7-b57178821ade" + (reference "D3") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:D_45deg") + (at 133.35 82.55 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "aae449ee-03c9-4537-996f-100e098107e1") + (property "Reference" "D1" + (at 135.636 83.566 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "D_45deg" + (at 135.636 86.106 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "Diode_THT:D_DO-15_P10.16mm_Horizontal" + (at 133.35 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 133.35 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Diode, rotated by 45°" + (at 133.35 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "D" + (at 144.78 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 142.24 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "8b78f6c6-734d-4e82-84a8-fb6f347085b9") + ) + (pin "1" + (uuid "0215e937-8c55-4ec8-aadd-547f2b1cb992") + ) + (instances + (project "single_layer_tht_diode_bridge_rectifier" + (path "/71099ece-09c5-443c-9dd7-b57178821ade" + (reference "D1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Screw_Terminal_01x02") + (at 96.52 76.2 0) + (mirror y) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "ae531f5f-c43e-4c22-8182-faed35881b46") + (property "Reference" "J1" + (at 96.52 69.85 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Screw_Terminal_01x02" + (at 96.52 72.39 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "TerminalBlock:TerminalBlock_bornier-2_P5.08mm" + (at 96.52 76.2 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 96.52 76.2 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Generic screw terminal, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)" + (at 96.52 76.2 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "838f9f50-f8ba-4813-b7b2-f1652222d4f4") + ) + (pin "2" + (uuid "3fa85bee-cae3-47ab-a12d-2dccf43e2d48") + ) + (instances + (project "single_layer_tht_diode_bridge_rectifier" + (path "/71099ece-09c5-443c-9dd7-b57178821ade" + (reference "J1") + (unit 1) + ) + ) + ) + ) + (sheet_instances + (path "/" + (page "1") + ) + ) +) diff --git a/tests/four_3rd_order_smd_lc_filters.rs b/tests/four_3rd_order_smd_lc_filters.rs index 00edcee..a01e513 100644 --- a/tests/four_3rd_order_smd_lc_filters.rs +++ b/tests/four_3rd_order_smd_lc_filters.rs @@ -20,7 +20,8 @@ fn test() { let board = design.unwrap().make_board(); let mut invoker = Invoker::new(Autorouter::new(board).unwrap()); - let file = File::open("tests/data/four_3rd_order_smd_lc_filters/autoroute_signal.cmd").unwrap(); + let file = + File::open("tests/data/four_3rd_order_smd_lc_filters/autoroute_signals.cmd").unwrap(); invoker.replay(serde_json::from_reader(file).unwrap()); let (mut autorouter, ..) = invoker.destruct(); diff --git a/tests/single_layer_tht_diode_bridge_rectifier.rs b/tests/single_layer_tht_diode_bridge_rectifier.rs new file mode 100644 index 0000000..c65da2b --- /dev/null +++ b/tests/single_layer_tht_diode_bridge_rectifier.rs @@ -0,0 +1,82 @@ +use std::fs::File; + +use petgraph::{ + unionfind::UnionFind, + visit::{EdgeRef, IntoEdgeReferences, NodeIndexable}, +}; +use topola::{ + autorouter::{invoker::Invoker, Autorouter}, + drawing::graph::GetMaybeNet, + dsn::design::DsnDesign, + graph::GetNodeIndex, + triangulation::GetVertexIndex, +}; + +#[test] +fn test() { + let design = DsnDesign::load_from_file( + "tests/data/single_layer_tht_diode_bridge_rectifier/single_layer_tht_diode_bridge_rectifier.dsn", + ); + let board = design.unwrap().make_board(); + + let mut invoker = Invoker::new(Autorouter::new(board).unwrap()); + let file = + File::open("tests/data/single_layer_tht_diode_bridge_rectifier/autoroute_all.cmd").unwrap(); + invoker.replay(serde_json::from_reader(file).unwrap()); + + let (mut autorouter, ..) = invoker.destruct(); + + for ratline in autorouter.ratsnest().graph().edge_indices() { + // Accessing endpoints may create new dots because apex construction is lazy, so we access + // tem all before starting unionfind, as it requires a constant index bound. + let _ = autorouter.ratline_endpoints(ratline); + } + + let mut unionfind = UnionFind::new( + autorouter + .board() + .layout() + .drawing() + .geometry() + .graph() + .node_bound(), + ); + + for edge in autorouter + .board() + .layout() + .drawing() + .geometry() + .graph() + .edge_references() + { + unionfind.union(edge.source(), edge.target()); + } + + for ratline in autorouter.ratsnest().graph().edge_indices() { + let (source_dot, target_dot) = autorouter.ratline_endpoints(ratline); + let source_net = autorouter + .board() + .layout() + .drawing() + .primitive(source_dot) + .maybe_net(); + let target_net = autorouter + .board() + .layout() + .drawing() + .primitive(target_dot) + .maybe_net(); + + assert_eq!(source_net, target_net); + let net = source_net.unwrap(); + + if let Some(netname) = autorouter.board().netname(net) { + dbg!(netname); + assert_eq!( + unionfind.find(source_dot.node_index()), + unionfind.find(target_dot.node_index()) + ); + } + } +}