330 lines
7.1 KiB
YAML
330 lines
7.1 KiB
YAML
# Example KiPlot config file
|
|
kibot:
|
|
version: 1
|
|
|
|
import:
|
|
- file: 'user.kibot.yaml'
|
|
|
|
preflight:
|
|
# erc: true
|
|
# update_xml: true
|
|
# drc: true
|
|
set_text_variables:
|
|
- name: 'rev'
|
|
command: 'if [ $(git describe --tags | wc -w) -gt 0 ]; then git describe --tags | sed -e "s/\([r,R][0-9]\+\)*$//g"; else echo $CI_COMMIT_SHORT_SHA; fi'
|
|
- name: 'rev_pcb'
|
|
command: if [ $(git describe --tags | wc -w) -gt 0 ]; then git describe --tags | awk -F- 'BEGIN {ORS=""} {split($1,a,"."); print a[1]"."a[2]; if ($2) print "-"$2}' ; else echo $CI_COMMIT_SHORT_SHA; fi
|
|
- name: 'date'
|
|
expand_kibot_patterns: true
|
|
text: '%D'
|
|
- name: 'name'
|
|
expand_kibot_patterns: true
|
|
command: 'echo $KIBOT_PCB_NAME | rev | cut -d"/" -f1 | rev | cut -d"-" -f1'
|
|
- name: 'title'
|
|
expand_kibot_patterns: true
|
|
command: 'echo $KIBOT_PCB_NAME | rev | cut -d"/" -f1 | rev | cut -d"." -f1 '
|
|
- name: 'DWN'
|
|
command: 'echo $DWN'
|
|
- name: 'CHK'
|
|
command: 'echo $CHK'
|
|
- name: 'APP'
|
|
command: 'echo $APP'
|
|
check_zone_fills: true
|
|
|
|
global:
|
|
environment:
|
|
user_templates: "${CI_PROJECT_DIR}/.gitlab/templates"
|
|
restore_project: true
|
|
|
|
outputs:
|
|
- name: 'print_sch'
|
|
comment: "Print schematic (PDF)"
|
|
type: pdf_sch_print
|
|
dir: .
|
|
options:
|
|
output: "%f%v_%r_%i.%x"
|
|
|
|
- name: 'print_pcb'
|
|
comment: "Print Top and Bottom Copper+Silk"
|
|
type: pcb_print
|
|
dir: .
|
|
options:
|
|
output: "%f%v_%r_PCB.%x"
|
|
pages:
|
|
- layers:
|
|
- layer: F.Cu
|
|
- layer: F.SilkS
|
|
- layer: Edge.Cuts
|
|
- layers:
|
|
- layer: B.Cu
|
|
- layer: B.SilkS
|
|
- layer: Edge.Cuts
|
|
|
|
- name: '_bom'
|
|
type: bom
|
|
dir: /tmp
|
|
options:
|
|
columns:
|
|
- field: Value
|
|
name: value
|
|
- field: Quantity Per PCB
|
|
name: qty
|
|
- field: Footprint
|
|
name: footprint
|
|
- field: Datasheet
|
|
name: datasheet
|
|
- mpn
|
|
- manf
|
|
- rev
|
|
- conn_manf
|
|
- conn_mpn
|
|
- field: References
|
|
name: refs
|
|
exclude_filter: ""
|
|
output: "%f%v_%r_%i.%x"
|
|
expand_text_vars: true
|
|
|
|
- name: 'bom_csv'
|
|
type: bom
|
|
dir: .
|
|
options:
|
|
columns:
|
|
- field: Value
|
|
name: value
|
|
- field: Quantity Per PCB
|
|
name: qty
|
|
- field: Footprint
|
|
name: footprint
|
|
- field: Datasheet
|
|
name: datasheet
|
|
- mpn
|
|
- manf
|
|
- rev
|
|
- conn_manf
|
|
- conn_mpn
|
|
- field: References
|
|
name: refs
|
|
exclude_filter: ""
|
|
output: "%f%v_%r_%i.%x"
|
|
expand_text_vars: true
|
|
csv:
|
|
separator: ';'
|
|
hide_pcb_info: true
|
|
hide_stats_info: true
|
|
format: "CSV"
|
|
|
|
- name: 'bom_xlsx'
|
|
type: bom
|
|
dir: .
|
|
options:
|
|
columns:
|
|
- field: Value
|
|
name: value
|
|
- field: Quantity Per PCB
|
|
name: qty
|
|
- field: Footprint
|
|
name: footprint
|
|
- field: Datasheet
|
|
name: datasheet
|
|
- mpn
|
|
- manf
|
|
- rev
|
|
- conn_manf
|
|
- conn_mpn
|
|
- field: References
|
|
name: refs
|
|
exclude_filter: ""
|
|
output: "%f%v_%r_%i.%x"
|
|
expand_text_vars: true
|
|
xlsx:
|
|
hide_pcb_info: true
|
|
hide_stats_info: true
|
|
format: "XLSX"
|
|
|
|
# - name: 'drill'
|
|
# comment: "excellon drill files"
|
|
# type: excellon
|
|
# dir: Gerbers
|
|
# # options:
|
|
|
|
- name: 'step'
|
|
comment: "Step file of pcb"
|
|
type: step
|
|
dir: .
|
|
options:
|
|
output: '%f%v_%r.%x'
|
|
download: false
|
|
subst_models: true
|
|
|
|
- name: 'pcb_render'
|
|
comment: "ISO render of the blank PCB"
|
|
type: render_3d
|
|
dir: .
|
|
options:
|
|
view: 'top'
|
|
rotate_z: 4
|
|
rotate_x: 3
|
|
zoom: -1
|
|
download: false
|
|
download_lcsc: false
|
|
orthographic: true
|
|
output: 'PCB_%f%v_%r.%x'
|
|
show_components: 'none'
|
|
|
|
- name: 'pcba_render'
|
|
comment: "ISO render of the assembled PCB"
|
|
type: render_3d
|
|
dir: .
|
|
options:
|
|
view: 'top'
|
|
rotate_z: 4
|
|
rotate_x: 3
|
|
download: false
|
|
zoom: -1
|
|
download_lcsc: false
|
|
orthographic: true
|
|
output: 'PCBA_%f%v_%r.%x'
|
|
show_components: 'all'
|
|
|
|
- name: 'neo_position'
|
|
comment: "Pick and place"
|
|
type: position
|
|
options:
|
|
output: '%f%v_%r_cpl.%x'
|
|
format: CSV
|
|
units: millimeters
|
|
separate_files_for_front_and_back: false
|
|
only_smd: true
|
|
|
|
- name: 'stencil'
|
|
comment: '3D printable stencil for when you forgot to order it'
|
|
type: stencil_3d
|
|
dir: '3D_Stencil'
|
|
options:
|
|
output: '%f%v_%r_%i.%x'
|
|
|
|
- name: 'diff_pcb'
|
|
comment: "Diff for visual comparison"
|
|
type: diff
|
|
dir: .
|
|
options:
|
|
only_different: true
|
|
old: KIBOT_TAG-0
|
|
|
|
- name: 'diff_sch'
|
|
comment: "Diff for visual comparison"
|
|
type: diff
|
|
dir: .
|
|
options:
|
|
only_different: true
|
|
pcb: false
|
|
old: KIBOT_TAG-0
|
|
|
|
- name: 'interactive_bom'
|
|
comment: "Interactive html BOM"
|
|
type: ibom
|
|
dir: .
|
|
options:
|
|
output: '%f%v_%r_%i.%x'
|
|
dark_mode: true
|
|
|
|
- name: 'JLCPCB_gerbers'
|
|
comment: Gerbers compatible with JLCPCB
|
|
type: gerber
|
|
dir: JLCPCB
|
|
options: &gerber_options
|
|
exclude_edge_layer: true
|
|
exclude_pads_from_silkscreen: true
|
|
plot_sheet_reference: false
|
|
plot_footprint_refs: true
|
|
plot_footprint_values: false
|
|
force_plot_invisible_refs_vals: false
|
|
tent_vias: true
|
|
use_protel_extensions: true
|
|
create_gerber_job_file: false
|
|
disable_aperture_macros: true
|
|
gerber_precision: 4.6
|
|
use_gerber_x2_attributes: false
|
|
use_gerber_net_attributes: false
|
|
line_width: 0.1
|
|
subtract_mask_from_silk: true
|
|
inner_extension_pattern: '.g%n'
|
|
layers:
|
|
# Note: a more generic approach is to use 'copper' but then the filenames
|
|
# are slightly different.
|
|
- F.Cu
|
|
- B.Cu
|
|
- In1.Cu
|
|
- In2.Cu
|
|
- In3.Cu
|
|
- In4.Cu
|
|
- In5.Cu
|
|
- In6.Cu
|
|
- F.SilkS
|
|
- B.SilkS
|
|
- F.Mask
|
|
- B.Mask
|
|
- Edge.Cuts
|
|
- user
|
|
|
|
- name: 'JLCPCB_drill'
|
|
comment: Drill files compatible with JLCPCB
|
|
type: excellon
|
|
dir: JLCPCB
|
|
options:
|
|
pth_and_npth_single_file: false
|
|
pth_id: '-PTH'
|
|
npth_id: '-NPTH'
|
|
metric_units: true
|
|
map: gerber
|
|
route_mode_for_oval_holes: false
|
|
output: "%f%v_%r_%i.%x"
|
|
|
|
- name: 'JLCPCB_compress'
|
|
comment: ZIP file for JLCPCB
|
|
type: compress
|
|
options:
|
|
files:
|
|
- from_output: JLCPCB_gerbers
|
|
dest: /
|
|
- from_output: JLCPCB_drill
|
|
dest: /
|
|
output: '%f%v_%r_JLC.%x'
|
|
groups:
|
|
- name: mech
|
|
outputs:
|
|
- step
|
|
|
|
- name: pos
|
|
outputs:
|
|
- neo_position
|
|
|
|
- name: pcb_dev
|
|
outputs:
|
|
- print_pcb
|
|
|
|
- name: pcb_main
|
|
outputs:
|
|
- JLCPCB_compress
|
|
- print_pcb
|
|
- stencil
|
|
- interactive_bom
|
|
|
|
- name: panel
|
|
outputs:
|
|
- JLCPCB_compress
|
|
- print_pcb
|
|
- step
|
|
- interactive_bom
|
|
|
|
- name: sch
|
|
outputs:
|
|
- bom_csv
|
|
- bom_xlsx
|
|
- print_sch
|
|
...
|
|
definitions:
|
|
_KIBOT_POS_ENABLED: false
|
|
_KIBOT_BOM_ENABLED: false
|
|
_KIBOT_MANF_DIR_COMP: "."
|