1 2 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
# Copyright (c) 2003, 2004, 2005, 2006, 2007, 2009, 2010 Dan McMahill
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation
#
# 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, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
# All rights reserved.
#
# This code was derived from code written by Dan McMahill as part of the
# latex-mk testsuite. The original code was covered by a BSD license
# but the copyright holder is releasing the version for pcb under the GPL.
#
#
# Format:
#
# test_name | layout file(s) | [export hid name] | [optional arguments to pcb] | [mismatch]
# | output file(s)
#
# test_name - a single string with no spaces, tabs, *, +, ? (i.e. any "special"
# characters) that identifies the test.
#
# layout file(s) - a list of layout files. Files listed are relative to
# the $(top_srcdir)/tests/inputs directory.
#
# [export hid name] - the name of the export HID to use. This is used both for
# running pcb as well as determining how we process the output
#
# [optional arguments to pcb] - a list of additional arguments to be passed to pcb.
# This is where one would specify additional options which are specific to a particular
# export HID.
#
# [mismatch] If specified as "mismatch" (no quotes), then the result
# should *not* match the reference. This can be thought of as a test
# on the testsuite to make sure we can properly detect when a change has
# occurred.
#
# output file(s) - a list of output files and their associated types. For
# example:
# bom:bom_general.bom xy:test.txt
# specifies that "bom_general.bom" is created and it is a bill of materials file
# and that "test.txt" is created and it is a centroid (X-Y) file.
#
# File types grouped by which HID produces them are:
#
# BOM
#
# bom -- PCB bill of materials file
# xy -- PCB centroid file
#
# GCODE
#
# gcode -- G-Code file. Note that these typically have .cnc as the
# extension but we're already using the 'cnc' type for
# Excellon drill files.
#
# GERBER
#
# cnc -- Excellon drill file
# gbx -- RS274-X (Gerber) file
#
# PNG
#
# gif -- GIF file
# jpg -- JPEG file
# png -- Portable network graphics (PNG) file
#
######################################################################
# ---------------------------------------------
# BOM export HID
# ---------------------------------------------
######################################################################
#
# options:
# --bomfile <string> BOM output file
# --xyfile <string> XY output file
# --xy-in-mm XY dimensions in mm instead of mils
#
#
# Produces a bill of materials (BOM) file and a centroid (XY) file
#
hid_bom1 | bom_general.pcb | bom | | | bom:bom_general.bom xy:bom_general.xy
hid_bom2 | bom_general.pcb | bom | --bomfile test.bom | | bom:test.bom xy:bom_general.xy
hid_bom3 | bom_general.pcb | bom | --xyfile test.xy | | bom:bom_general.bom xy:test.xy
hid_bom4 | bom_general.pcb | bom | --xy-in-mm | | bom:bom_general.bom xy:bom_general.xy
#
######################################################################
# ---------------------------------------------
# Gcode export HID
# ---------------------------------------------
######################################################################
#
# options:
# --basename <string> File name prefix
# --dpi <num> Resolution of intermediate image (pixels/inch).
# --mill depth <num> Milling depth.
# --safe Z <num> Safe Z for traverse move.
# --tool radius <num> Milling tool radius compensation.
# --drill depth <num> Drilling depth.
# --measurement unit <mm|mil|um|inch> Measurement unit
#
hid_gcode1 | gcode_oneline.pcb | gcode | | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode2 | gcode_oneline.pcb | gcode | --basename out | | gcode:out.top.cnc gcode:out.bottom.cnc gcode:out.drill.cnc
hid_gcode3 | gcode_oneline.pcb | gcode | --dpi 1200 | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode4 | gcode_oneline.pcb | gcode | --mill-depth 5 | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode5 | gcode_oneline.pcb | gcode | --safe-Z 10 | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode6 | gcode_oneline.pcb | gcode | --tool-radius 15 | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode7 | gcode_oneline.pcb | gcode | --drill-depth 70 | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode8 | gcode_oneline.pcb | gcode | --measurement-unit mm | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode9 | gcode_oneline.pcb | gcode | --measurement-unit mil | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode10 | gcode_oneline.pcb | gcode | --measurement-unit um | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
hid_gcode11 | gcode_oneline.pcb | gcode | --measurement-unit inch | | gcode:gcode_oneline.gcode.top.cnc gcode:gcode_oneline.gcode.bottom.cnc gcode:gcode_oneline.gcode.drill.cnc
#
######################################################################
# ---------------------------------------------
# Gerber export HID
# ---------------------------------------------
######################################################################
#
# options:
# --gerberfile <string> Basename for output file
#
# Produces RS274-X (a.k.a. gerber) photo plot files and Excellon drill files
#
# we can't include gbx:gerber_oneline.fab.gbr yet because it has a name and a date stamp
hid_gerber1 | gerber_oneline.pcb | gerber | | | gbx:gerber_oneline.bottom.gbr gbx:gerber_oneline.top.gbr cnc:gerber_oneline.plated-drill.cnc
hid_gerber2 | gerber_oneline.pcb | gerber | --gerberfile out | | gbx:out.bottom.gbr gbx:out.top.gbr cnc:out.plated-drill.cnc
hid_gerber3 | gerber_arcs.pcb | gerber | --gerberfile arcs | | gbx:arcs.bottom.gbr gbx:arcs.top.gbr gbx:arcs.group1.gbr gbx:arcs.group4.gbr cnc:arcs.plated-drill.cnc
#
######################################################################
# ---------------------------------------------
# PNG export HID
# ---------------------------------------------
######################################################################
#
# options:
# --outfile <string> Graphics output file
# --dpi <num> Scale factor (pixels/inch). 0 to scale to fix specified size
# --x-max <num> Maximum width (pixels). 0 to not constrain.
# --y-max <num> Maximum height (pixels). 0 to not constrain.
# --xy-max <num> Maximum width and height (pixels). 0 to not constrain.
# --as-shown Export layers as shown on screen
# --monochrome Convert to monochrome
# --only-visible Limit the bounds of the PNG file to the visible items
# --use-alpha Make the bottomground and any holes transparent
# --format <GIF|JPEG|PNG> Graphics file format
# --photo-mode Photo-realistic mode
# --photo-flip-x Show reverse side of the board, left-right flip
# --photo-flip-y Show reverse side of the board, up-down flip
#
# Produces GIF/JPEG/PNG (image) files
#
hid_png1 | gerber_oneline.pcb | png | | | png:gerber_oneline.png
hid_png2 | gerber_oneline.pcb | png | --outfile myfile.png | | png:myfile.png
#hid_png3 | gerber_oneline.pcb | png | --dpi 300 | | png:gerber_oneline.png
#
|