teardrop stage added on versioned layout

This commit is contained in:
King Kévin 2013-10-11 14:12:56 +02:00
parent eed3833b2f
commit a205bf6418
1 changed files with 18 additions and 7 deletions

View File

@ -63,16 +63,15 @@ task :verify => vsch do |t|
puts "not all refdes numbered" unless numbered
end
PHOTOS = ["#{target}_layout-top.png","#{target}_layout-bottom.png"]
desc "render layout"
task :photo => ["#{target}_layout-top.png","#{target}_layout-bottom.png"]
CLOBBER.include("#{target}_layout-top.png")
CLOBBER.include("#{target}_layout-bottom.png")
task :photo => PHOTOS
CLOBBER.include(PHOTOS)
GERBERS = [".top.gbr",".topmask.gbr",".toppaste.gbr",".topsilk.gbr",".bottom.gbr",".bottommask.gbr",".bottompaste.gbr",".bottomsilk.gbr",".outline.gbr",".fab.gbr",".plated-drill.cnc",".unplated-drill.cnc"].collect{|suffix| target+suffix}
desc "export gerber"
task :gerber => vpcb do |t|
sh "pcb -x gerber --gerberfile #{target} --all-layers #{t.prerequisites.join(' ')}"
end
CLOBBER.include([".top.gbr",".topmask.gbr",".toppaste.gbr",".topsilk.gbr",".bottom.gbr",".bottommask.gbr",".bottompaste.gbr",".bottomsilk.gbr",".outline.gbr",".fab.gbr",".plated-drill.cnc",".unplated-drill.cnc"].collect{|suffix| target+suffix})
task :gerber => GERBERS
CLOBBER.include(GERBERS)
# ================
@ -131,6 +130,7 @@ file vsch => sch do |t|
sh "sed -i 's/\\(revision=\\)\\$Revision\\$/\\1#{sch_rev}/' #{t.name}"
end
desc "copy layout to version it: include version, date, and run teardrops when available"
file vpcb => pcb do |t|
sh "cp #{t.prerequisites.join(' ')} #{t.name}"
# on \ is to prevent ruby interpreting it, th other is for sed
@ -139,6 +139,10 @@ file vpcb => pcb do |t|
sh "sed -i 's/\\$version\\$/#{version_revision}/' #{t.name}"
# the date
sh "sed -i 's/\\$date\\$/#{date}/' #{t.name}"
# run teardrop for vias and pins
if File.exist? "#{Dir.home}/.pcb/plugins/teardrops.so" then
sh "pcb --action-string \"djopt(splitlines) Teardrops() s() q()\" #{t.name}"
end
end
file "#{target}_schematic.pdf" => vsch do |t|
@ -168,3 +172,10 @@ end
file "#{target}_layout-bottom.png" => vpcb do |t|
sh "pcb -x png --dpi 600 --format PNG --photo-mode --photo-flip-x --outfile #{target}_layout-bottom.png #{t.prerequisites.join(' ')}"
end
GERBERS.each do |gerber|
file gerber => vpcb do |t|
puts "make #{t.name}"
sh "pcb -x gerber --gerberfile #{target} --all-layers #{t.prerequisites.join(' ')}"
end
end