Merge remote-tracking branch 'hw-template/master'

This commit is contained in:
King Kévin 2014-03-14 14:14:23 +01:00
commit 4d8bac104a
2 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,25 @@
# footprint as motorola SNN5749A battery
# manufacturer: Motorola
# part number: SNN5749A
Element["" "Motorola SNN5749A" "" "battery" 0 0 0 0 0 100 ""]
(
ElementLine[-18.0mm 28.0mm -15.0mm 28.0mm 0.2mm]
ElementLine[-15.0mm 28.0mm -15.0mm 29.0mm 0.2mm]
ElementLine[-15.0mm 29.0mm -12.0mm 29.0mm 0.2mm]
ElementLine[-12.0mm 29.0mm -12.0mm 28.0mm 0.2mm]
ElementLine[-12.0mm 28.0mm 12.0mm 28.0mm 0.2mm]
ElementLine[12.0mm 28.0mm 12.0mm 29.0mm 0.2mm]
ElementLine[12.0mm 29.0mm 15.0mm 29.0mm 0.2mm]
ElementLine[15.0mm 29.0mm 15.0mm 28.0mm 0.2mm]
ElementLine[15.0mm 28.0mm 18.0mm 28.0mm 0.2mm]
ElementLine[18.0mm 28.0mm 18.0mm -28.0mm 0.2mm]
ElementLine[18.0mm -28.0mm 3.415mm -28.0mm 0.2mm]
ElementLine[3.415mm -28.0mm 3.415mm -28.7mm 0.2mm]
ElementLine[3.415mm -28.7mm -3.435mm -28.7mm 0.2mm]
ElementLine[-3.435mm -28.7mm -3.435mm -28.0mm 0.2mm]
ElementLine[-3.435mm -28.0mm -18.02mm -28.0mm 0.2mm]
ElementLine[-18.02mm -28.0mm -18.02mm 28.0mm 0.2mm]
Pad[-14.9mm -27.2mm -14.9mm -24.3mm 1.6mm 0.4mm 1.75mm "" "-" "square"]
Pad[-12.4mm -27.2mm -12.4mm -24.3mm 1.6mm 0.4mm 1.75mm "" "" "square"]
Pad[-9.9mm -27.2mm -9.9mm -24.3mm 1.6mm 0.4mm 1.75mm "" "+" "square"]
)

View File

@ -0,0 +1,71 @@
#!/usr/bin/env ruby
# encoding: utf-8
# written for ruby 2.1.0
# generate a footprint (see script for more information)
require_relative 'element'
# global dimensions
UNIT = "mm"
SILKSCREEN = 0.2
SOLDERMASK = 0.075
CLEARANCE = 0.4
name = File.basename(__FILE__,".rb")+".fp"
File.open(name,"w") do |fp|
# put some information
fp.puts "# footprint as motorola SNN5749A battery"
fp.puts "# manufacturer: Motorola"
fp.puts "# part number: SNN5749A"
# define element
# center is center of device
fp.puts element("Element",["","Motorola SNN5749A","","battery",:"0",:"0",:"0",:"0",:"0",:"100",""])
fp.puts "("
# outline
x1 = -36.0/2
x2 = x1+3
y1 = 56/2
y2 = y1
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 += 1
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
x2 += 3
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 -= 1
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
x2 += 36.0-4*3.0
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 += 1
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
x2 += 3
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 -= 1
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
x2 += 3
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 -= 56
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
x2 -= 36.0/2-6.83/2
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 -= 0.7
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
x2 -= 6.85
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 += 0.7
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
x2 -= 36.0/2-6.83/2
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
y2 += 56
fp.puts element("ElementLine",[x1,y1,x1=x2,y1=y2,SILKSCREEN])
# pads
width = 1.6
fp.puts element("Pad",[-36.0/2+2.3+width/2,-56.0/2+width/2,-36.0/2+2.3+width/2,-56.0/2+4.5-width/2,width,CLEARANCE,width+2*SOLDERMASK,"","-","square"])
fp.puts element("Pad",[-36.0/2+4.8+width/2,-56.0/2+width/2,-36.0/2+4.8+width/2,-56.0/2+4.5-width/2,width,CLEARANCE,width+2*SOLDERMASK,"","","square"])
fp.puts element("Pad",[-36.0/2+7.3+width/2,-56.0/2+width/2,-36.0/2+7.3+width/2,-56.0/2+4.5-width/2,width,CLEARANCE,width+2*SOLDERMASK,"","+","square"])
# end of element
fp.puts ")"
end