InstrumentVisor/Hardware/config.kibot.yaml

231 lines
5.3 KiB
YAML

kibot:
version: 1
# Look into pcb_replace, looks sick! Also sch_replace
preflight:
run_erc: true
update_xml: true
run_drc: false
check_zone_fills: false
ignore_unconnected: false
# Replace variables
set_text_variables:
- name: "REVISION"
command: "git rev-parse --short HEAD"
- name: "FULL_REVISION"
command: "git describe --always --tags"
- name: "ISSUE"
command: "date '+%Y-%m-%d'"
# - name: "KENWOODFOX_3DMODELS" # My custom libs!
# command: "echo 'Hardware/InstrumentVisor/Libraries/kenwoodfox-kicad-libraries/3d'"
filters:
- name: only_jlc_parts
comment: "Only parts with JLC code"
type: generic
include_only:
- column: "LCSC#"
regex: '^C\d+'
variants:
- name: rotated
comment: "Just a place holder for the rotation filter"
type: kibom
variant: rotated
pre_transform: _rot_footprint
outputs:
- name: "Images"
comment: "Schematics and media for use in docs"
type: svg_sch_print
- name: "3D Models"
comment: "3D Models"
type: step
- name: "3D Renders"
comment: "3D Renders for docs!"
type: render_3d
options:
ray_tracing: true
rotate_x: -1
rotate_y: 2
zoom: 3
wait_render: 20
width: 800
# ======
# PCBWay
# ======
- name: PCBWay_gerbers
comment: Gerbers compatible with PCBWay
type: gerber
dir: PCBWay
options:
exclude_edge_layer: true
exclude_pads_from_silkscreen: true
plot_sheet_reference: false
plot_footprint_refs: true
plot_footprint_values: true
force_plot_invisible_refs_vals: false
tent_vias: true
use_protel_extensions: true
create_gerber_job_file: false
output: "%f.%x"
gerber_precision: 4.6
use_gerber_x2_attributes: false
use_gerber_net_attributes: false
disable_aperture_macros: true
line_width: 0.1
subtract_mask_from_silk: false
inner_extension_pattern: ".gl%N"
layers:
- copper
- F.SilkS
- B.SilkS
- F.Mask
- B.Mask
- F.Paste
- B.Paste
- Edge.Cuts
- name: PCBWay_drill
comment: Drill files compatible with PCBWay
type: excellon
dir: PCBWay
options:
metric_units: false
minimal_header: true
zeros_format: SUPPRESS_LEADING
# left_digits: 3
# right_digits: 3
# See https://github.com/INTI-CMNB/kicad-ci-test-spora/issues/1
# and https://docs.oshpark.com/design-tools/gerbv/fix-drill-format/
left_digits: 2
right_digits: 4
pth_and_npth_single_file: false
pth_id: ""
npth_id: "-NPTH"
output: "%f%i.drl"
- name: PCBWay
comment: ZIP file for PCBWay
type: compress
dir: PCBWay
options:
format: ZIP
files:
- from_output: PCBWay_gerbers
dest: /
- from_output: PCBWay_drill
dest: /
# ======
# JLCPCB
# ======
- name: JLCPCB_gerbers
comment: Gerbers compatible with JLCPCB
type: gerber
dir: JLCPCB
options:
exclude_edge_layer: true
exclude_pads_from_silkscreen: true
plot_sheet_reference: false
plot_footprint_refs: true
plot_footprint_values: true
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: ".gp%n"
layers:
- copper
- F.SilkS
- B.SilkS
- F.Mask
- B.Mask
- F.Paste
- B.Paste
- Edge.Cuts
- 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%i.%x"
- name: "JLCPCB_position"
comment: "Pick and place file, JLCPCB style"
type: position
options:
variant: rotated
output: "%f_cpl_jlc.%x"
format: CSV
units: millimeters
separate_files_for_front_and_back: false
only_smd: true
columns:
- id: Ref
name: Designator
- Val
- Package
- id: PosX
name: "Mid X"
- id: PosY
name: "Mid Y"
- id: Rot
name: Rotation
- id: Side
name: Layer
- name: "JLCPCB_bom"
comment: "BoM for JLCPCB"
type: bom
options:
output: "%f_%i_jlc.%x"
exclude_filter: "only_jlc_parts"
ref_separator: ","
columns:
- field: Value
name: Comment
- field: References
name: Designator
- Footprint
- field: "LCSC#"
name: "LCSC Part #"
csv:
hide_pcb_info: true
hide_stats_info: true
quote_all: true
- name: JLCPCB
comment: ZIP file for JLCPCB
type: compress
dir: JLCPCB
options:
files:
- from_output: JLCPCB_gerbers
dest: /
- from_output: JLCPCB_drill
dest: /
- from_output: JLCPCB_position
dest: /
- from_output: JLCPCB_bom
dest: /