From 23ec5016cbc8cdf01efe795387c6382828814941 Mon Sep 17 00:00:00 2001 From: Kelvin Ly Date: Thu, 19 Dec 2019 00:50:47 -0500 Subject: [PATCH] Fix Lattice ICE40 footprint stencil stuff --- bldc-parts.pretty/Lattice_QFN-48UP.kicad_mod | 15 +++++---------- bldc-parts.pretty/lattice_fix.py | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 bldc-parts.pretty/lattice_fix.py diff --git a/bldc-parts.pretty/Lattice_QFN-48UP.kicad_mod b/bldc-parts.pretty/Lattice_QFN-48UP.kicad_mod index 4a22178..5615de9 100644 --- a/bldc-parts.pretty/Lattice_QFN-48UP.kicad_mod +++ b/bldc-parts.pretty/Lattice_QFN-48UP.kicad_mod @@ -129,14 +129,9 @@ (solder_mask_margin 0.07)) (pad 48 smd roundrect (at -2.75 -3.5) (size 0.24 0.8) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.5) (solder_mask_margin 0.07)) - (pad 0 smd rect (at 0 0) (size 5.5 5.5) (layers F.Cu F.Mask) - (solder_mask_margin 0.07)) - (pad 0 smd rect (at 1.4 -1.4) (size 2.5 2.5) (layers F.Paste) - (solder_mask_margin 0.07)) - (pad 0 smd rect (at -1.4 -1.4) (size 2.5 2.5) (layers F.Paste) - (solder_mask_margin 0.07)) - (pad 0 smd rect (at -1.4 1.4) (size 2.5 2.5) (layers F.Paste) - (solder_mask_margin 0.07)) - (pad 0 smd rect (at 1.4 1.4) (size 2.5 2.5) (layers F.Paste) - (solder_mask_margin 0.07)) + (pad 0 smd rect (at 0 0) (size 5.5 5.5) (layers F.Cu F.Mask) (solder_mask_margin 0.07)) + (fp_poly (pts (xy 0.1499999999999999 -2.65) (xy 0.1499999999999999 -0.1499999999999999) (xy 2.65 -0.1499999999999999) (xy 2.65 -2.65)) (layer F.Paste) (width 0.1)) + (fp_poly (pts (xy -2.65 -2.65) (xy -2.65 -0.1499999999999999) (xy -0.1499999999999999 -0.1499999999999999) (xy -0.1499999999999999 -2.65)) (layer F.Paste) (width 0.1)) + (fp_poly (pts (xy -2.65 0.1499999999999999) (xy -2.65 2.65) (xy -0.1499999999999999 2.65) (xy -0.1499999999999999 0.1499999999999999)) (layer F.Paste) (width 0.1)) + (fp_poly (pts (xy 0.1499999999999999 0.1499999999999999) (xy 0.1499999999999999 2.65) (xy 2.65 2.65) (xy 2.65 0.1499999999999999)) (layer F.Paste) (width 0.1)) ) diff --git a/bldc-parts.pretty/lattice_fix.py b/bldc-parts.pretty/lattice_fix.py new file mode 100644 index 0000000..a9525bf --- /dev/null +++ b/bldc-parts.pretty/lattice_fix.py @@ -0,0 +1,17 @@ +input = """(pad 0 smd rect (at 0 0) (size 5.5 5.5) (layers F.Cu F.Mask) (solder_mask_margin 0.07)) +(pad 0 smd rect (at 1.4 -1.4) (size 2.5 2.5) (layers F.Paste) (solder_mask_margin 0.07)) +(pad 0 smd rect (at -1.4 -1.4) (size 2.5 2.5) (layers F.Paste) (solder_mask_margin 0.07)) +(pad 0 smd rect (at -1.4 1.4) (size 2.5 2.5) (layers F.Paste) (solder_mask_margin 0.07)) +(pad 0 smd rect (at 1.4 1.4) (size 2.5 2.5) (layers F.Paste) (solder_mask_margin 0.07))""" + +def get_xy_wh(l): + seg= l.split(" ") + return (float(seg[5]), float(seg[6][:-1]), float(seg[8]), float(seg[9][:-1])) +lines = [l for l in map(get_xy_wh, input.split("\n"))] +print(lines) + +for (x, y, w, h) in lines: + lx, ux, ly, uy = x - w/2, x + w/2, y - h/2, y + h/2 + print(""" (fp_poly (pts (xy {} {}) (xy {} {}) (xy {} {}) (xy {} {})) (layer F.Paste) (width 0.1))""".format( + lx, ly, lx, uy, ux, uy, ux, ly + ))