forked from Open-Smartwatch/open-smartwatch-light
-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.kiplot.yaml
441 lines (427 loc) · 20.3 KB
/
config.kiplot.yaml
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
kiplot:
version: 1
preflight:
run_erc: true
run_drc: true
update_xml: true
check_zone_fills: true
ignore_unconnected: false
filters:
- filter_msg: 'Conflict problem between pins. Severity: error'
error_number: 5
regexp: 'in 1'
outputs:
#DOCS
# For more information: https://github.com/INTI-CMNB/KiBoM
- name: 'print schema'
comment: "Print schematic (PDF)"
type: pdf_sch_print
dir: docs
# options:
# dnf_filter: [string|list(string)=''] Name of the filter to mark components as not fitted. A short-cut to use for simple cases where a variant is an overkill.
# output: [string='%f-%i%v.%x'] filename for the output PDF (%i=schematic %x=pdf). Affected by global options.
# variant: [string=''] Board variant to apply. Not fitted components are crossed.
- name: 'print schema'
comment: "Print schematic (SVG)"
type: svg_sch_print
dir: docs/img
# options:
# dnf_filter: [string|list(string)=''] Name of the filter to mark components as not fitted. A short-cut to use for simple cases where a variant is an overkill.
# output: [string='%f-%i%v.%x'] filename for the output SVG (%i=schematic %x=svg). Affected by global options.
# variant: [string=''] Board variant to apply. Not fitted components are crossed.
# GERBERS
- name: "https://en.wikipedia.org/wiki/Gerber_format"
comment: 'gerbers'
type: 'gerber'
dir: 'gerbers'
options:
# [boolean=true] creates a file with information about all the generated gerbers.
# You can use it in gerbview to load all gerbers at once
create_gerber_job_file: false
# [string|list(string)=''] Name of the filter to mark components as not fitted.
# A short-cut to use for simple cases where a variant is an overkill
dnf_filter: ''
# [boolean=true] do not include the PCB edge layer
exclude_edge_layer: true
# [boolean=false] do not plot the component pads in the silk screen
exclude_pads_from_silkscreen: false
# [boolean=false] include references and values even when they are marked as invisible
force_plot_invisible_refs_vals: false
# [string='%f-%i%v.%x'] name for the gerber job file (%i='job', %x='gbrjob'). Affected by global options
gerber_job_file: '%f-%i%v.%x'
# [number=4.6] this the gerber coordinate format, can be 4.5 or 4.6
gerber_precision: 4.6
# [number=0.1] [0.02,2] line_width for objects without width [mm]
line_width: 0.1
# [string='%f-%i%v.%x'] output file name, the default KiCad name if empty. Affected by global options
output: '%f-%i%v.%x'
# [boolean=true] include the footprint references
plot_footprint_refs: true
# [boolean=true] include the footprint values
plot_footprint_values: true
# [boolean=false] currently without effect
plot_sheet_reference: false
# [boolean=false] substract the solder mask from the silk screen
subtract_mask_from_silk: false
# [boolean=true] cover the vias
tent_vias: true
# [boolean=false] use the auxiliar axis as origin for coordinates
use_aux_axis_as_origin: true
# [boolean=true] include netlist metadata
use_gerber_net_attributes: true
# [boolean=true] use the extended X2 format
use_gerber_x2_attributes: true
# [boolean=false] use legacy Protel file extensions
use_protel_extensions: false
# [string=''] Board variant to apply
variant: ''
layers: all
# Gerber drill format:
# You can create a map file for documentation purposes.
# This output is what you get from the 'File/Fabrication output/Drill Files' menu in pcbnew.
- name: 'https://en.wikipedia.org/wiki/Gerber_format'
comment: 'drill'
type: gerb_drill
dir: gerbers
options:
# [dict|string] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map.
# Not generated unless a format is specified
map:
# [string='%f-%i%v.%x'] name for the map file, KiCad defaults if empty (%i='PTH_drill_map'). Affected by global options
output: ''
# [string='pdf'] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map
type: 'gerber'
# [string='%f-%i%v.%x'] name for the drill file, KiCad defaults if empty (%i='PTH_drill'). Affected by global options
output: '%f-%i%v.%x'
# [dict|string] name of the drill report. Not generated unless a name is specified
report:
# [string=''] name of the drill report. Not generated unless a name is specified.
# (%i='drill_report' %x='txt')
filename: '%i.%x'
# [boolean=false] use the auxiliar axis as origin for coordinates
use_aux_axis_as_origin: false
# Excellon drill format:
# You can create a map file for documentation purposes.
# This output is what you get from the 'File/Fabrication output/Drill Files' menu in pcbnew.
- name: 'https://en.wikipedia.org/wiki/Gerber_format'
comment: 'drill excellon'
type: "excellon"
dir: "gerbers"
options:
# [dict|string] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map.
# Not generated unless a format is specified
map:
# [string='%f-%i%v.%x'] name for the map file, KiCad defaults if empty (%i='PTH_drill_map'). Affected by global options
output: '%f-%i%v.%x'
# [string='pdf'] [hpgl,ps,gerber,dxf,svg,pdf] format for a graphical drill map
type: 'gerber'
# [boolean=true] use metric units instead of inches
metric_units: true
# [boolean=false] use a minimal header in the file
minimal_header: false
# [boolean=false] invert the Y axis
mirror_y_axis: false
# [string='%f-%i%v.%x'] name for the drill file, KiCad defaults if empty (%i='PTH_drill'). Affected by global options
output: '%f-%i%v.%x'
# [boolean=true] generate one file for both, plated holes and non-plated holes, instead of two separated files
pth_and_npth_single_file: false
# [dict|string] name of the drill report. Not generated unless a name is specified
report:
# [string=''] name of the drill report. Not generated unless a name is specified.
# (%i='drill_report' %x='txt')
filename: '%i.%x'
# [boolean=false] use the auxiliar axis as origin for coordinates
use_aux_axis_as_origin: false
# For more information: https://github.com/INTI-CMNB/KiBoM
- name: 'https://lcsc.com/'
comment: 'bom.csv - lcsc'
type: 'kibom'
dir: 'gerbers'
options:
# [string|dict] BoM configuration file, relative to PCB.
# You can also define the configuration here, will be stored in `config.kibom.ini`
conf:
# [list(dict)|list(string)] List of columns to display.
# Can be just the name of the field
columns:
# [string=''] Name of the field to use for this column
# field: ''
# [list(string)|string=''] List of fields to join to this column
# join: ''
# [string=''] Name to display in the header. The field is used when empty
# name: ''
- field: Description
name: Reference
- Value
- field: Footprint
name: Package
- field: Quantity Per PCB
name: Quantity
# - field: mpn
# name: Manufacture Part Number
# [list(list(string))] A series of values which are considered to be equivalent for the part name.
# Each entry is a list of equivalen names. Example: ['c', 'c_small', 'cap' ]
# will ensure the equivalent capacitor symbols can be grouped together.
# If empty the following aliases are used:
# - ['r', 'r_small', 'res', 'resistor']
# - ['l', 'l_small', 'inductor']
# - ['c', 'c_small', 'cap', 'capacitor']
# - ['sw', 'switch']
# - ['zener', 'zenersmall']
# - ['d', 'diode', 'd_small']
component_aliases: [['r', 'r_small', 'res', 'resistor'], ['l', 'l_small', 'inductor'], ['c', 'c_small', 'cap', 'capacitor'], ['sw', 'switch'], ['zener', 'zenersmall'], ['d', 'diode', 'd_small']]
# [string=''] Column with links to the datasheet (HTML only)
datasheet_as_link: ''
# [string|list(string)=''] Column/s containing Digi-Key part numbers, will be linked to web page (HTML only)
digikey_link: ''
# [list(dict)] A series of regular expressions used to exclude parts.
# If a component matches ANY of these, it will be excluded.
# Column names are case-insensitive.
# If empty the following list is used:
# - column: References
# regex: '^TP[0-9]*'
# - column: References
# regex: '^FID'
# - column: Part
# regex: 'mount.*hole'
# - column: Part
# regex: 'solder.*bridge'
# - column: Part
# regex: 'test.*point'
# - column: Footprint
# regex 'test.*point'
# - column: Footprint
# regex: 'mount.*hole'
# - column: Footprint
# regex: 'fiducial'
# list(dict)] A series of regular expressions used to exclude parts. If a component matches ANY of these, it will be excluded.
exclude_any:
- column: Part
regex: TestPoint
- column: Part
regex: LOGO
- column: Part
regex: Jumper
# [string='Config'] Field name used to determine if a particular part is to be fitted (also DNC and variants)
fit_field: 'Variant'
# [boolean=true] Connectors with the same footprints will be grouped together, independent of the name of the connector
group_connectors: true
# [list(string)] List of fields used for sorting individual components into groups.
# Components which match (comparing *all* fields) will be grouped together.
# Field names are case-insensitive.
# If empty: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib'] is used
# group_fields: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib']
group_fields: ['']
# [boolean=false] Hide column headers
hide_headers: false
# [boolean=false] Hide project information
hide_pcb_info: true
# [boolean=true] Generate a separated section for DNF (Do Not Fit) components (HTML only)
html_generate_dnf: true
# [boolean=true] Exclude DNF (Do Not Fit) components
ignore_dnf: true
# [list(dict)] A series of regular expressions used to select included parts.
# If there are any regex defined here, only components that match against ANY of them will be included.
# Column names are case-insensitive.
# If empty all the components are included
# include_only:
# [string=''] Name of the column to apply the regular expression
# column: ''
# `field` is an alias for `column`
# [string=''] Regular expression to match
# regex: ''
# `regexp` is an alias for `regex`
# [boolean=true] Component groups with blank fields will be merged into the most compatible group, where possible
merge_blank_fields: false
# [boolean=true] First column is the row number
number_rows: false
# [boolean=true] Each component group will be tested against a number of regular-expressions (see ``).
test_regex: true
# [boolean=false] Print grouped references in the alternate compressed style eg: R1-R7,R18
use_alt: false
# [string='HTML'] [HTML,CSV,XML,XLSX] format for the BoM
format: 'CSV'
# [number=1] Number of boards to build (components multiplier)
number: 1
# [string='%f-%i%v.%x'] filename for the output (%i=bom). Affected by global options
output: '%f-%i%v.%x'
# [string=','] CSV Separator
separator: ','
# [string=''] Board variant(s), used to determine which components
# are output to the BoM. To specify multiple variants,
# with a BOM file exported for each variant, separate
# variants with the ';' (semicolon) character.
# This isn't related to the KiBot concept of variants
variant: ''
- name: 'position'
comment: '*_pos.csv'
type: 'position'
dir: 'gerbers'
options:
# [string|list(string)=''] Name of the filter to mark components as not fitted.
# A short-cut to use for simple cases where a variant is an overkill
dnf_filter: ''
# [string='ASCII'] [ASCII,CSV] format for the position file
format: 'CSV'
# [boolean=true] only include the surface mount components
only_smd: true
# [string='%f-%i%v.%x'] output file name (%i='top_pos'|'bottom_pos'|'both_pos', %x='pos'|'csv'). Affected by global options
output: '%f-%i%v.%x'
# [boolean=true] generate two separated files, one for the top and another for the bottom
separate_files_for_front_and_back: false
# [string='millimeters'] [millimeters,inches] units used for the positions
units: 'millimeters'
# [string=''] Board variant to apply
variant: ''
# IBOM
- name: 'https://github.com/openscopeproject/InteractiveHtmlBom'
comment: 'ibom.html'
type: 'ibom'
dir: 'docs/bom'
options:
# [string=''] List of comma separated blacklisted components or prefixes with *. E.g. 'X1,MH*'.
# IBoM option, avoid using in conjunction with KiBot variants/filters
blacklist: ''
# [boolean=false] Blacklist components with empty value.
# IBoM option, avoid using in conjunction with KiBot variants/filters
blacklist_empty_val: false
# [number=0] Board rotation in degrees (-180 to 180). Will be rounded to multiple of 5
board_rotation: 0
# [string='left-right'] [bom-only,left-right,top-bottom] Default BOM view
bom_view: 'left-right'
# [string='Sourced,Placed'] Comma separated list of checkbox columns
checkboxes: 'Sourced,Placed'
# [boolean=false] Default to dark mode
dark_mode: false
# [string|list(string)=''] Name of the filter to mark components as not fitted.
# A short-cut to use for simple cases where a variant is an overkill.
# Avoid using it in conjunction with with IBoM native filtering options
dnf_filter: ''
# [string=''] Name of the extra field that indicates do not populate status.
# Components with this field not empty will be blacklisted.
# IBoM option, avoid using in conjunction with KiBot variants/filters
dnp_field: ''
# [string=''] Comma separated list of extra fields to pull from netlist or xml file
extra_fields: 'MPN'
# [boolean=false] Hide footprint pads by default
hide_pads: false
# [boolean=false] Hide silkscreen by default
hide_silkscreen: false
# [boolean=false] Highlight pin1 by default
highlight_pin1: true
# [boolean=false] Include netlist information in output.
include_nets: true
# [boolean=false] Include track/zone information in output. F.Cu and B.Cu layers only
include_tracks: true
# [string='FB'] [F,FB,B] Default layer view
layer_view: 'FB'
# [string='ibom'] Output file name format supports substitutions:
# %f : original pcb file name without extension.
# %p : pcb/project title from pcb metadata.
# %c : company from pcb metadata.
# %r : revision from pcb metadata.
# %d : pcb date from metadata if available, file modification date otherwise.
# %D : bom generation date.
# %T : bom generation time.
# Extension .html will be added automatically.
# Note that this name is used only when output is ''
name_format: 'ibom'
# [string=''] Path to netlist or xml file
netlist_file: ''
# [boolean=false] Do not blacklist virtual components.
# IBoM option, avoid using in conjunction with KiBot variants/filters
no_blacklist_virtual: false
# [boolean=false] Do not redraw pcb on drag by default
no_redraw_on_drag: false
# [boolean=false] Normalize extra field name case. E.g. 'MPN' and 'mpn' will be considered the same field
normalize_field_case: true
# [string='%f-%i%v.%x'] Filename for the output, use '' to use the IBoM filename (%i=ibom, %x=html). Affected by global options
output: '%f-%i%v.%x'
# [boolean=false] Show fabrication layer by default
show_fabrication: false
# [string='C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH'] Default sort order for components. Must contain '~' once
sort_order: 'C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH'
# [string=''] Board variant to apply.
# Avoid using it in conjunction with with IBoM native filtering options
variant: ''
# [string=''] Name of the extra field that stores board variant for component.
# IBoM option, avoid using in conjunction with KiBot variants/filters
variant_field: ''
# [string=''] List of board variants to exclude from the BOM.
# IBoM option, avoid using in conjunction with KiBot variants/filters
variants_blacklist: ''
# [string=''] List of board variants to include in the BOM.
# IBoM option, avoid using in conjunction with KiBot variants/filters
variants_whitelist: ''
# PLOTS
# PcbDraw - Beautiful 2D PCB render:
# Uses configurable colors.
# Can also render the components if the 2D models are available
- name: 'plot images of pcb TOP'
comment: 'Exports the PCB as a 2D model (SVG, PNG or JPG).'
type: 'pcbdraw'
dir: 'docs/img'
options:
# [boolean=false] render the bottom side of the board (default is top side)
bottom: false
# [number=300] [10,1200] dots per inch (resolution) of the generated image
dpi: 300
# [string='svg'] [svg,png,jpg] output format. Only used if no `output` is specified
format: 'svg'
# [list(string)] list of components to highlight
# highlight:
# [list(string)] list of libraries
libs: ['/usr/share/pcbdraw/footprints/KiCAD-base']
# [boolean=false] mirror the board
mirror: false
# [boolean=false] do not make holes transparent
no_drillholes: false
# [string='%f-%i.%x'] name for the generated file . Affected by global options
output: '%f-%i.%x'
# [boolean=false] show placeholder for missing components
placeholder: false
# [dict|None] replacements for PCB references using components (lib:component)
remap:
# [string|list(string)] [none,all] list of components to draw, can be also a string for none or all.
# The default is none
show_components: none
# [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options
style: '/usr/share/pcbdraw/styles/jlcpcb-green-hasl.json'
# [boolean=false] render V-CUTS on the Cmts.User layer
vcuts: true
# [string='visible'] [visible,all,none] using visible only the warnings about components in the visible side are generated
warnings: 'none'
- name: 'plot images of pcb BOTTOM'
comment: 'Exports the PCB as a 2D model (SVG, PNG or JPG).'
type: 'pcbdraw'
dir: 'docs/img'
options:
# [boolean=false] render the bottom side of the board (default is top side)
bottom: true
# [number=300] [10,1200] dots per inch (resolution) of the generated image
dpi: 300
# [string='svg'] [svg,png,jpg] output format. Only used if no `output` is specified
format: 'svg'
# [list(string)] list of components to highlight
# highlight:
# [list(string)] list of libraries
libs: ['/usr/share/pcbdraw/footprints/KiCAD-base']
# [boolean=false] mirror the board
mirror: false
# [boolean=false] do not make holes transparent
no_drillholes: false
# [string='%f-%i.%x'] name for the generated file . Affected by global options
output: '%f-%i.%x'
# [boolean=false] show placeholder for missing components
placeholder: false
# [dict|None] replacements for PCB references using components (lib:component)
remap:
# [string|list(string)] [none,all] list of components to draw, can be also a string for none or all.
# The default is none
show_components: none
# [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options
style: '/usr/share/pcbdraw/styles/jlcpcb-green-hasl.json'
# [boolean=false] render V-CUTS on the Cmts.User layer
vcuts: true
# [string='visible'] [visible,all,none] using visible only the warnings about components in the visible side are generated
warnings: 'none'