git.s-ol.nu hw/0x10.mod / main config.kibot.yaml
main

Tree @main (Download .tar.gz)

config.kibot.yaml @mainraw · history · blame

kibot:
  version: 1

preflight:
  check_zone_fills: true
  run_drc: false
  run_erc: false

  set_text_variables:
    - name: 'VCS_DATE'
      command: 'git log -1 --format="%as"'

    - name: 'VCS_REV'
      command: 'git rev-parse --short HEAD'

    - name: 'VCS_TAG'
      command: 'git describe --tags --exact-match HEAD || echo "r?"'

global:
  dir: 'dist/%d_%f_%r'
  output: '%i.%x'
  solder_mask_color: 'black'
  silk_screen_color: 'white'

filters:
  - name: 'exclude_virtual'
    type: 'generic'
    exclude_any:
      - column: Value
        regex: 'Jumper'
      - column: Value
        regex: '^Edge.*'

outputs:
  - type: 'ibom'
    name: 'ibom'
    options:
      layer_view: 'B'
      dnf_filter: exclude_virtual

  - type: 'bom'
    name: 'bom'
    options:
      exclude_filter: exclude_virtual

  - type: 'position'
    name: 'pnp'
    options:
      output: 'placement.%x'
      separate_files_for_front_and_back: false

  - type: 'pcbdraw'
    name: 'pcb_front'
    options:
      output: 'board_front.%x'
  - type: 'pcbdraw'
    name: 'pcb_back'
    options:
      output: 'board_back.%x'
      bottom: true

  - type: 'svg_sch_print'
    name: 'schematic'

  - name: jlc_gerbers
    comment: Gerbers compatible with JLCPCB
    type: gerber
    dir: 'dist/%d_%f_%r/jlc'
    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: '.gp%n'
    layers:
      - F.Cu
      - B.Cu
      - F.SilkS
      - B.SilkS
      - F.Mask
      - B.Mask
      - Edge.Cuts

  - name: jlc_drills
    comment: Drill files compatible with JLCPCB
    type: excellon
    dir: 'dist/%d_%f_%r/jlc'
    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: jlc
    comment: ZIP file for JLCPCB
    type: compress
    dir: 'dist'
    options:
      output: '%d_%f_%r_jlc.zip'
      files:
        - from_output: jlc_gerbers
          dest: /
        - from_output: jlc_drills
          dest: /