Inital commit
Some checks failed
CI / release (push) Has been cancelled
CI / generate_outputs (push) Has been cancelled

This commit is contained in:
2026-02-17 08:39:27 -05:00
commit 1d094e6a04
81 changed files with 25739 additions and 0 deletions

1
kibot_yaml/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
kicost_config_local.yaml

View File

@@ -0,0 +1,17 @@
# KiBot Filter for excluding testpoints
kibot:
version: 1
filters:
- name: '@NAME@'
comment: '@COMMENT@'
type: generic
exclude_any:
- column: Reference
regex: "TP"
...
definitions:
COMMENT: Exclude only testpoints
NAME: exclude_testpoints

View File

@@ -0,0 +1,21 @@
# KiBot Filter for renaming Manufacturer Part Number field
kibot:
version: 1
filters:
- name: '@NAME@'
comment: '@COMMENT@'
type: field_rename
rename:
- field: '@MPN_FIELD@'
name: manf#
- field: '@MAN_FIELD@'
name: manf
...
definitions:
COMMENT: Rename fields
NAME: field_rename
MPN_FIELD: 'Manufacturer Part Number'
MAN_FIELD: 'Manufacturer'

View File

@@ -0,0 +1,25 @@
# KiBot Filter for testpoints
# These filters are used for multiple outputs to highlight testpoints
# or generate testpoint lists for top and bottom layers
kibot:
version: 1
filters:
- name: '@NAME@'
comment: '@COMMENT@'
type: generic
exclude_top: @EXCLUDE_TOP@
exclude_bottom: @EXCLUDE_BOTTOM@
include_only:
- column: Reference
regex: "TP"
exclude_refs: @EXCLUDE_REFS@
...
definitions:
COMMENT: Select only testpoints
NAME: only_testpoints
EXCLUDE_TOP: false
EXCLUDE_BOTTOM: false
EXCLUDE_REFS: '[MB*]'

View File

@@ -0,0 +1,43 @@
# KiBot Globals
# https://kibot.readthedocs.io/en/latest/configuration/global.html
kibot:
version: 1
global:
out_dir: '@OUTPUT_DIR@'
dnp_cross_top_layer: '@LAYER_DNP_TOP@'
dnp_cross_bottom_layer: '@LAYER_DNP_BOTTOM@'
disable_kicad_cross_on_fab: true
extra_pth_drill: 0 # for annular ring computation.
filters:
# 'KiCad config without environment.vars section'
- number: 9
# 'Unable to find KiCad 3D models'
- number: 10
# 'Malformed value'
- number: 20
# 'More than one SCH file found in ...'
- number: 44
# Invalid column name
- number: 62
# 3D models downloaded or cached
- number: 98
# 'Avoid adding extra information in the component value, use separated fields'
- number: 133
# 'This output depends on KiCad version, use blender_export instead'
- number: 143
# 'Not including component <ref> in filters because it has a malformed reference'
- number: 147
# 'No output to handle <output>'
- number: 168
# 'Please only use simple data types for definitions'
- number: 172
# Can't enable <distributor> without a key
- number: 1008
...
definitions:
OUTPUT_DIR: ./
LAYER_DNP_TOP: F.DNP
LAYER_DNP_BOTTOM: B.DNP

695
kibot_yaml/kibot_main.yaml Normal file
View File

@@ -0,0 +1,695 @@
# KiBot configuration file for KDT_Hierarchical Template
# KiCad 8.0
kibot:
version: 1
variants:
# Project variants
- name: 'DRAFT'
comment: "Very early stage of schematic, ignore details."
type: kibom
variant: DRAFT
exclude_filter: '_null'
- name: 'PRELIMINARY'
comment: "Close to final schematic."
type: kibom
variant: PRELIMINARY
exclude_filter: '_null'
- name: 'CHECKED'
comment: "There shouldn't be any mistakes. Contact the engineer if you find any."
type: kibom
variant: CHECKED
exclude_filter: '_null'
- name: 'RELEASED'
comment: "A board with this schematic has been sent to production."
type: kibom
variant: RELEASED
exclude_filter: '_null'
# Assembly variants (are executed with the same flags as RELEASED)
# - name: 'EXAMPLE'
# comment: 'Example'
# type: kibom
# file_id: _(EXAMPLE)
# variant: EXAMPLE
# exclude_filter: '_null'
# - name: 'NONE'
# comment: 'None'
# type: kibom
# file_id: _(NONE)
# variant: NONE
# exclude_filter: '_null'
groups:
- name: all_group
outputs:
- @NETLIST_OUTPUT@
- bom
- 3d
- fab
- assembly
- @PDF_SCHEMATIC_OUTPUT@
- @MD_README_OUTPUT@
# - @HTML_KICANVAS_OUTPUT@ # Very experimental, we exclude it for now
- @HTML_KIRI_OUTPUT@
- @HTML_NAV_RES_OUTPUT@
- name: all_group_k9
outputs:
- @NETLIST_OUTPUT@
- bom
- 3d
- fab_k9
- assembly
- @PDF_SCHEMATIC_OUTPUT@
- @MD_README_OUTPUT@
# - @HTML_KICANVAS_OUTPUT@ # Very experimental, we exclude it for now
- @HTML_KIRI_OUTPUT@
- @HTML_NAV_RES_OUTPUT@
- name: draft_group
outputs:
- @NETLIST_OUTPUT@
- @PDF_SCHEMATIC_OUTPUT@
- @CSV_BOM_OUTPUT@
- @HTML_BOM_OUTPUT@
- name: fab
outputs:
- tables
- @GERBER_OUTPUT@
- @EXCELLON_DRILL_OUTPUT@
# - @DXF_DRILL_MAP_OUTPUT@
- @PDF_DRILL_MAP_OUTPUT@
- @PDF_FABRICATION_OUTPUT@
- @ZIP_COMPRESS_FAB_OUTPUT@
- name: fab_k9
outputs:
- tables
- @GERBER_OUTPUT@
- @ODB_OUTPUT@
- @EXCELLON_DRILL_OUTPUT@
# - @DXF_DRILL_MAP_OUTPUT@
- @PDF_DRILL_MAP_OUTPUT@
- @PDF_FABRICATION_OUTPUT@
- @ZIP_COMPRESS_FAB_OUTPUT@
- name: assembly
outputs:
- 3d_render
- @CSV_POS_OUTPUT@
- @PDF_ASSEMBLY_OUTPUT@
- name: 3d_render
outputs:
- @PNG_3D_VIEWER_TOP@
- @PNG_3D_VIEWER_BOTTOM@
- @PNG_3D_VIEWER_ANGLED_TOP@
- @PNG_3D_VIEWER_ANGLED_BOTTOM@
- name: bom
outputs:
- @CSV_BOM_OUTPUT@
# - @XLSX_BOM_OUTPUT@
- @HTML_IBOM_OUTPUT@
- @HTML_BOM_OUTPUT@
- name: tables
outputs:
- @CSV_COMP_COUNT_OUPUT@
- @CSV_IMPEDANCE_TABLE_OUTPUT@
- @CSV_DRILL_TABLE_OUTPUT@
- testpoints
- notes
- name: testpoints
outputs:
- @CSV_TP_OUTPUT@
- @CSV_TP_TOP_OUTPUT@
- @CSV_TP_BOTTOM_OUTPUT@
- name: notes
outputs:
- @TXT_FAB_NOTES_OUTPUT@
- @TXT_ASSEMBLY_NOTES_OUTPUT@
- name: 3d
outputs:
- @STEP_OUTPUT@
# - @BLENDER_OUTPUT@ # looks kinda bad
import:
# Global parameters ==========================================================
- file: kibot_globals.yaml
definitions:
OUTPUT_DIR: @OUTPUT_DIR@
LAYER_DNP_TOP: @LAYER_DNP_TOP@
LAYER_DNP_BOTTOM: @LAYER_DNP_BOTTOM@
# Filters ====================================================================
- file: kibot_filt_field_rename.yaml
definitions:
NAME: @FILT_FIELD_RENAME@
COMMENT: Rename fields
MPN_FIELD: @MPN_FIELD@
MAN_FIELD: @MAN_FIELD@
- file: kibot_filt_testpoints.yaml
definitions:
NAME: @FILT_TP_ONLY@
COMMENT: Include only testpoints
- file: kibot_filt_exclude_testpoints.yaml
definitions:
NAME: @FILT_TP_EXCLUDE@
COMMENT: Exclude only testpoints
- file: kibot_filt_testpoints.yaml
definitions:
NAME: @FILT_TP_TOP_ONLY@
COMMENT: Select only top testpoints
EXCLUDE_BOTTOM: true
EXCLUDE_REFS: "@EXCLUDE_REFS@"
- file: kibot_filt_testpoints.yaml
definitions:
NAME: @FILT_TP_BOTTOM_ONLY@
COMMENT: Select only bottom testpoints
EXCLUDE_TOP: true
EXCLUDE_REFS: "@EXCLUDE_REFS@"
# Preflights =================================================================
# Set text variables
- file: kibot_pre_set_text_variables.yaml
definitions:
PROJECT_NAME: @PROJECT_NAME@
BOARD_NAME: @BOARD_NAME@
COMPANY: @COMPANY@
DESIGNER: @DESIGNER@
SCRIPTS_DIR: @SCRIPTS_DIR@
FABRICATION_DIR: @FABRICATION_DIR@
ASSEMBLY_DIR: @ASSEMBLY_DIR@
# Generate ERC Report
- file: kibot_pre_erc_report.yaml
definitions:
DIR: @REPORT_DIR@
# Generate DRC Report
- file: kibot_pre_drc_report.yaml
definitions:
CHECK_ZONE_FILLS: @CHECK_ZONE_FILLS@
DIR: @REPORT_DIR@
# Draw stackup table in PCB. Needs gerber output
- file: kibot_pre_draw_stackup.yaml
definitions:
GERBER_OUTPUT: @GERBER_OUTPUT@
NOTE: @STACKUP_TABLE_NOTE@
# Include tables in PCB for testpoint lists
# - file: kibot_pre_include_table.yaml
# definitions:
# NAME_TP_TOP: @CSV_TP_TOP_OUTPUT@
# NAME_TP_BOTTOM: @CSV_TP_BOTTOM_OUTPUT@
# NAME_COMP_COUNT: @CSV_COMP_COUNT_OUPUT@
# NAME_IMPEDANCE_TABLE: @CSV_IMPEDANCE_TABLE_OUTPUT@
# Generated outputs ============================================================
# Schematic variant with split fields ----------------------------------------
# - file: kibot_out_sch_variant.yaml
# definitions:
# NAME: @SCH_VARIANT_OUTPUT@
# COMMENT: Split component Value field of components
# DIR: '@SCHEMATIC_DIR@/value_split'
# Netlist --------------------------------------------------------------------
- file: kibot_out_netlist.yaml
definitions:
NAME: @NETLIST_OUTPUT@
COMMENT: Schematic netlist in KiCad format
# Generic manufacturing outputs ==============================================
# Gerbers --------------------------------------------------------------------
- file: kibot_out_gerber.yaml
definitions:
NAME: @GERBER_OUTPUT@
COMMENT: Gerbers in GBR format
DIR: @GERBERS_DIR@
PLOT_REFS: @PLOT_REFS@
# ODB++ ----------------------------------------------------------------------
- file: kibot_out_odb.yaml
definitions:
NAME: @ODB_OUTPUT@
COMMENT: ODB++ in ZIP format
DIR: @FABRICATION_DIR@
# Drill files
- file: kibot_out_excellon_drill.yaml
definitions:
NAME: @EXCELLON_DRILL_OUTPUT@
COMMENT: Drill in Excellon format
DIR: @GERBERS_DIR@
# Drill Map (PDF)
- file: kibot_out_excellon_drill.yaml
definitions:
NAME: @PDF_DRILL_MAP_OUTPUT@
COMMENT: Drill Map in PDF format
DIR: @GERBERS_DIR@
GENERATE_DRILL: false
PTH_NPTH: @GROUP_PTH_NPTH_DRL@
MAP_FORMAT: pdf
# Drill Map (DXF)
# - file: kibot_out_excellon_drill.yaml
# definitions:
# NAME: @DXF_DRILL_MAP_OUTPUT@
# COMMENT: Drill Map in DXF format
# DIR: @GERBERS_DIR@
# GENERATE_DRILL: false
# PTH_NPTH: @GROUP_PTH_NPTH_DRL@
# MAP_FORMAT: dxf
# Drill Table (CSV)
- file: kibot_out_csv_drill_table.yaml
definitions:
NAME: @CSV_DRILL_TABLE_OUTPUT@
COMMENT: Drill Table in CSV format
DIR: @FAB_DRILL_TABLES_DIR@
PTH_NPTH: '@GROUP_PTH_NPTH@'
GROUP_ROUND_SLOTS: @GROUP_ROUND_SLOTS@
# Position file --------------------------------------------------------------
- file: kibot_out_csv_pos.yaml
definitions:
NAME: @CSV_POS_OUTPUT@
COMMENT: Position file in CSV format
DIR: @ASSEMBLY_DIR@
# Manufacturer-specific manufacturing outputs ================================
# Testpoint lists ------------------------------------------------------------
- file: kibot_out_csv_testpoints.yaml
definitions:
NAME: @CSV_TP_OUTPUT@
COMMENT: Testpoint report in CSV format
DIR: @TESTPOINTS_DIR@
EXCLUDE_FILTER: @FILT_TP_ONLY@
- file: kibot_out_csv_testpoints_simple.yaml
definitions:
NAME: @CSV_TP_TOP_OUTPUT@
COMMENT: Top testpoint report in CSV format
DIR: @TESTPOINTS_DIR@
SUFFIX: -top
EXCLUDE_FILTER: @FILT_TP_TOP_ONLY@
- file: kibot_out_csv_testpoints_simple.yaml
definitions:
NAME: @CSV_TP_BOTTOM_OUTPUT@
COMMENT: Bottom testpoint report in CSV format
DIR: @TESTPOINTS_DIR@
SUFFIX: -bottom
EXCLUDE_FILTER: @FILT_TP_BOTTOM_ONLY@
# CSV Bill of Materials (BoM) ------------------------------------------------
- file: kibot_out_csv_bom.yaml
definitions:
NAME: @CSV_BOM_OUTPUT@
COMMENT: Bill of Materials in CSV format
DIR: @ASSEMBLY_DIR@
MPN_FIELD: @MPN_FIELD@
MAN_FIELD: @MAN_FIELD@
- file: kibot_out_html_bom.yaml
definitions:
NAME: @HTML_BOM_OUTPUT@
COMMENT: Bill of Materials in HTML format
DIR: @ASSEMBLY_DIR@
MPN_FIELD: @MPN_FIELD@
MAN_FIELD: @MAN_FIELD@
# XLSX Bill of Materials (BoM)
- file: kibot_out_xlsx_bom.yaml
definitions:
NAME: @XLSX_BOM_OUTPUT@
COMMENT: Bill of Materials in XLSX format
DIR: @ASSEMBLY_DIR@
FILT_PRE_TRANSFORM: @FILT_FIELD_RENAME@
# Interactive HTML BOM. Needs netlist.
- file: kibot_out_html_ibom.yaml
definitions:
NAME: @HTML_IBOM_OUTPUT@
COMMENT: Interactive BOM in HTML format
DIR: @ASSEMBLY_DIR@
EXCLUDE_FILTER: @FILT_TP_EXCLUDE@
TITLE: @BOARD_NAME@ Assembly
MPN_FIELD: @MPN_FIELD@
# CSV components count report ------------------------------------------------
- file: kibot_out_csv_report.yaml
definitions:
NAME: @CSV_COMP_COUNT_OUPUT@
COMMENT: Component report (count) in CSV format
DIR: @ASSEMBLY_DIR@
OUTPUT_ID: components_count
TEMPLATE: total_components
# CSV Impedance/Transmission line table
- file: kibot_out_csv_report.yaml
definitions:
NAME: @CSV_IMPEDANCE_TABLE_OUTPUT@
COMMENT: Impedance table in CSV format
DIR: @FABRICATION_DIR@
OUTPUT_ID: impedance_table
TEMPLATE: @REPORT_TEMPLATE_DIR@/impedance_table.txt
# TXT fabrication notes ------------------------------------------------------
- file: kibot_out_txt_report.yaml
definitions:
NAME: @TXT_FAB_NOTES_OUTPUT@
COMMENT: Fabrication notes in TXT format
DIR: @FABRICATION_DIR@
OUTPUT_ID: fabrication_notes
TEMPLATE: @REPORT_TEMPLATE_DIR@/fabrication_notes.txt
# TXT assembly notes
- file: kibot_out_txt_report.yaml
definitions:
NAME: @TXT_ASSEMBLY_NOTES_OUTPUT@
COMMENT: Assembly notes in TXT format
DIR: @ASSEMBLY_DIR@
OUTPUT_ID: assembly_notes
TEMPLATE: @REPORT_TEMPLATE_DIR@/assembly_notes.txt
# PNG 3D Viewer renders ------------------------------------------------------
- file: kibot_out_png_3d_viewer.yaml
definitions:
NAME: @PNG_3D_VIEWER_TOP@
COMMENT: Top 3D viewer PCB render in PNG format
DIR: @IMAGES_DIR@
SUFFIX: top
VIEW: top
KEY_COLOR: '@KEY_COLOR@'
- file: kibot_out_png_3d_viewer.yaml
definitions:
NAME: @PNG_3D_VIEWER_BOTTOM@
COMMENT: Bottom 3D viewer PCB render in PNG format
DIR: @IMAGES_DIR@
SUFFIX: bottom
VIEW: bottom
KEY_COLOR: '@KEY_COLOR@'
- file: kibot_out_png_3d_viewer.yaml
definitions:
NAME: @PNG_3D_VIEWER_ANGLED_TOP@
COMMENT: Top (angled) 3D viewer PCB render in PNG format
DIR: @IMAGES_DIR@
SUFFIX: angled_top
VIEW: top
ROTATE_X: @3D_VIEWER_ROT_X@
ROTATE_Y: @3D_VIEWER_ROT_Y@
ROTATE_Z: @3D_VIEWER_ROT_Z@
ZOOM: @3D_VIEWER_ZOOM@
KEY_COLOR: '@KEY_COLOR@'
- file: kibot_out_png_3d_viewer.yaml
definitions:
NAME: @PNG_3D_VIEWER_ANGLED_BOTTOM@
COMMENT: Bottom (angled) 3D viewer PCB render in PNG format
DIR: @IMAGES_DIR@
SUFFIX: angled_bottom
VIEW: bottom
ROTATE_X: @3D_VIEWER_ROT_X@
ROTATE_Y: @3D_VIEWER_ROT_Y@
ROTATE_Z: -@3D_VIEWER_ROT_Z@
ZOOM: @3D_VIEWER_ZOOM@
KEY_COLOR: '@KEY_COLOR@'
# STEP file ------------------------------------------------------------------
- file: kibot_out_step.yaml
definitions:
NAME: @STEP_OUTPUT@
COMMENT: PCB 3D model in STEP format
DIR: @3D_DIR@
# - file: kibot_out_blender.yaml
# definitions:
# NAME: @BLENDER_OUTPUT@
# COMMENT: PCB 3D model in PCB3D Blender format
# DIR: @IMAGES_DIR@
# Schematic in PDF format ----------------------------------------------------
- file: kibot_out_pdf_schematic.yaml
definitions:
NAME: @PDF_SCHEMATIC_OUTPUT@
COMMENT: Schematic in PDF format
COLOR_THEME: @COLOR_THEME@
DIR: @SCHEMATIC_DIR@
DEFAULT_FONT: 'Times New Roman'
# Fabrication Document in PDF format
- file: kibot_out_pdf_fabrication.yaml
definitions:
NAME: @PDF_FABRICATION_OUTPUT@
COMMENT: Fabrication document in PDF format
DIR: @FABRICATION_DIR@
COLOR_THEME: @COLOR_THEME@
SHEET_WKS: @SHEET_WKS@
SCALING: @FAB_SCALING@
PTH_NPTH: '@GROUP_PTH_NPTH@'
GROUP_ROUND_SLOTS: @GROUP_ROUND_SLOTS@
FAB_EXCLUDE_FILTER: @FILT_TP_ONLY@
LAYER_DRILL_MAP: @LAYER_DRILL_MAP@
LAYER_TP_LIST_TOP: @LAYER_TP_LIST_TOP@
LAYER_TP_LIST_BOTTOM: @LAYER_TP_LIST_BOTTOM@
NAME_TP_TOP: @CSV_TP_TOP_OUTPUT@
NAME_TP_BOTTOM: @CSV_TP_BOTTOM_OUTPUT@
NAME_IMPEDANCE_TABLE: @CSV_IMPEDANCE_TABLE_OUTPUT@
NAME_DRILL_TABLE: @CSV_DRILL_TABLE_OUTPUT@
# Assembly Document in PDF format
- file: kibot_out_pdf_assembly.yaml
definitions:
NAME: @PDF_ASSEMBLY_OUTPUT@
COMMENT: Assembly document in PDF format
DIR: @ASSEMBLY_DIR@
COLOR_THEME: @COLOR_THEME@
SHEET_WKS: @SHEET_WKS@
SCALING: @ASSEMBLY_SCALING@
FAB_EXCLUDE_FILTER: @FILT_TP_EXCLUDE@
LAYER_TITLE_PAGE: @LAYER_TITLE_PAGE@
LAYER_ASSEMBLY_TEXT_TOP: @LAYER_ASSEMBLY_TEXT_TOP@
LAYER_ASSEMBLY_TEXT_BOTTOM: @LAYER_ASSEMBLY_TEXT_BOTTOM@
LAYER_DNP_CROSS_TOP: @LAYER_DNP_CROSS_TOP@
LAYER_DNP_CROSS_BOTTOM: @LAYER_DNP_CROSS_BOTTOM@
NAME_COMP_COUNT: @CSV_COMP_COUNT_OUPUT@
# Compress fabrication files into ZIP archive --------------------------------
- file: kibot_out_compress_fab.yaml
definitions:
NAME: @ZIP_COMPRESS_FAB_OUTPUT@
COMMENT: Generates a ZIP file with gerbers, drill and fabrication document
DIR: @FABRICATION_DIR@
GERBER_OUTPUT: @GERBER_OUTPUT@
DRILL_MAP_OUTPUT: @PDF_DRILL_MAP_OUTPUT@
DRILL_OUTPUT: @EXCELLON_DRILL_OUTPUT@
FABRICATION_OUTPUT: @PDF_FABRICATION_OUTPUT@
# Generate webpage for exploring PCB/SCH files
- file: kibot_out_html_kicanvas.yaml
definitions:
NAME: @HTML_KICANVAS_OUTPUT@
COMMENT: KiCanvas webpage
DIR: KiCanvas
# Generate webpage with diffs between commits
- file: kibot_out_html_kiri.yaml
definitions:
NAME: @HTML_KIRI_OUTPUT@
COMMENT: KiRI webpage
DIR: KiRI
# README.md file generation
- file: kibot_out_md_report.yaml
definitions:
NAME: @MD_README_OUTPUT@
COMMENT: README file in Markdown format
DIR: @OUTPUT_DIR@
CATEGORY: '.'
OUTPUT_NAME: README
TEMPLATE: @REPORT_TEMPLATE_DIR@/readme.txt
- file: kibot_out_navigate_results.yaml
definitions:
NAME: @HTML_NAV_RES_OUTPUT@
COMMENT: Results webpage in HTML format
DIR: HTML
TITLE: @BOARD_NAME@
LOGO: @LOGO@
LOGO_URL: @GIT_URL@
# ==============================================================================
...
definitions:
# Metadata ===================================================================
PROJECT_NAME: Nixie Tube Clock
BOARD_NAME: Nixie Clock Main Board
COMPANY: Company Name
DESIGNER: Aidan Brzezinski
LOGO: 'Logos/dummy_logo.png'
GIT_URL: 'https://github.com/nguyen-v/KDT_Hierarchical_KiBot'
# Preflight ==================================================================
CHECK_ZONE_FILLS: false
STACKUP_TABLE_NOTE: external layer thicknesses are specified after plating
# BoM ========================================================================
MPN_FIELD: 'Manufacturer Part Number'
MAN_FIELD: 'Manufacturer'
# Drill table and drill map parameters =======================================
GROUP_ROUND_SLOTS: true # whether or not to group round holes and slots
GROUP_PTH_NPTH: 'no' # for drill tables (CSV, PCB Print)
GROUP_PTH_NPTH_DRL: false # for .drl files
# Gerber parameters ==========================================================
PLOT_REFS: true # reference designators
# Schematic parameters =======================================================
COLOR_THEME: Altium_Theme
SHEET_WKS: ${KIPRJMOD}/Templates/KDT_Template_PCB_GIT_A4.kicad_wks
FAB_SCALING: 1
ASSEMBLY_SCALING: 1
# References to exclude from testpoint highlighting ==========================
EXCLUDE_REFS: '[MB*]' # for components on the PCB but not on the schematic
# 3D Viewer rotations (in steps) =============================================
3D_VIEWER_ROT_X: 2
3D_VIEWER_ROT_Y: -1
3D_VIEWER_ROT_Z: 1
3D_VIEWER_ZOOM: -1
KEY_COLOR: '#00FF00' # Background color to remove. Use a color different from your PCB
# Output directories =========================================================
# Root
OUTPUT_DIR: ./
# Relative to root
REPORT_DIR: Reports
SCHEMATIC_DIR: Schematic
MANUFACTURING_DIR: Manufacturing
ASSEMBLY_DIR: '@MANUFACTURING_DIR@/Assembly'
FABRICATION_DIR: '@MANUFACTURING_DIR@/Fabrication'
GERBERS_DIR: '@FABRICATION_DIR@/Gerbers'
FAB_DRILL_TABLES_DIR: '@FABRICATION_DIR@/Drill Tables'
TESTING_DIR: Testing
TESTPOINTS_DIR: '@TESTING_DIR@/Testpoints'
IMAGES_DIR: Images
3D_DIR: 3D
RESOURCES_DIR: kibot_resources
REPORT_TEMPLATE_DIR: '@RESOURCES_DIR@/templates'
SCRIPTS_DIR: '@RESOURCES_DIR@/scripts'
# Layer names. Should match user-defined names in the PCB. ==================
LAYER_TITLE_PAGE: TitlePage
LAYER_DNP_TOP: F.DNP
LAYER_DNP_BOTTOM: B.DNP
LAYER_DRILL_MAP: DrillMap
LAYER_TP_LIST_TOP: F.TestPointList
LAYER_TP_LIST_BOTTOM: B.TestPointList
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
LAYER_DNP_CROSS_TOP: F.DNP
LAYER_DNP_CROSS_BOTTOM: B.DNP
# Filters names ==============================================================
FILT_FIELD_RENAME: field_rename
FILT_TP_ONLY: only_testpoints
FILT_TP_EXCLUDE: exclude_testpoints
FILT_TP_TOP_ONLY: only_testpoints_top
FILT_TP_BOTTOM_ONLY: only_testpoints_bottom
# # Output names ============================================================
SCH_VARIANT_OUTPUT: value_split
NETLIST_OUTPUT: netlist
GERBER_OUTPUT: gbr_gerbers
ODB_OUTPUT: zip_odb
EXCELLON_DRILL_OUTPUT: drl_excellon
PDF_DRILL_MAP_OUTPUT: pdf_drill_map
DXF_DRILL_MAP_OUTPUT: dxf_drill_map
CSV_DRILL_TABLE_OUTPUT: csv_drill_table
CSV_POS_OUTPUT: csv_position
CSV_TP_OUTPUT: csv_testpoints
CSV_TP_TOP_OUTPUT: csv_testpoints_top
CSV_TP_BOTTOM_OUTPUT: csv_testpoints_bottom
CSV_BOM_OUTPUT: csv_bom
XLSX_BOM_OUTPUT: xlsx_bom
HTML_IBOM_OUTPUT: html_bom_interactive
HTML_BOM_OUTPUT: html_bom
CSV_COMP_COUNT_OUPUT: csv_comp_count
CSV_IMPEDANCE_TABLE_OUTPUT: csv_impedance_table
TXT_FAB_NOTES_OUTPUT: txt_fabrication_notes
TXT_ASSEMBLY_NOTES_OUTPUT: txt_assembly_notes
PNG_3D_VIEWER_TOP: png_3d_viewer_top
PNG_3D_VIEWER_BOTTOM: png_3d_viewer_bottom
PNG_3D_VIEWER_ANGLED_TOP: png_3d_viewer_angled_top
PNG_3D_VIEWER_ANGLED_BOTTOM: png_3d_viewer_angled_bottom
STEP_OUTPUT: step
BLENDER_OUTPUT: blender
PDF_SCHEMATIC_OUTPUT: pdf_schematic
PDF_FABRICATION_OUTPUT: pdf_fabrication
PDF_ASSEMBLY_OUTPUT: pdf_assembly
ZIP_COMPRESS_FAB_OUTPUT: zip_compress_fab
HTML_KICANVAS_OUTPUT: html_kicanvas
HTML_KIRI_OUTPUT: html_kiri
MD_README_OUTPUT: md_readme
HTML_NAV_RES_OUTPUT: html_navigate_results

View File

@@ -0,0 +1,105 @@
# KiBot output for generating PCB 3D model PCB3D Blender format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/PCB2Blender_ToolsOptions.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: blender_export
category: '@DIR@'
dir: '@DIR@'
options:
light:
- name: "light1"
energy: 2
pos_x: -size*3.33
pos_y: size*3.33
pos_z: size*5
type: "AREA"
- name: "light2"
energy: 1
pos_x: 0
pos_y: size*3.33
pos_z: size*7
type: "AREA"
- name: "light3"
energy: 1
pos_x: 0
pos_y: 0
pos_z: size*12
type: "AREA"
- name: "light4"
energy: 1
pos_x: -size*3.33
pos_y: size*3.33
pos_z: size*10.0
type: "AREA"
- name: "light5"
energy: 2
pos_x: 0.0
pos_y: size/2
pos_z: size*20.0
type: "SUN"
- name: "light6"
energy: 1
pos_x: -size*3.33
pos_y: size*3.33
pos_z: size*10.0
type: "SPOT"
- name: "light7"
energy: 1
pos_x: -size*3.33
pos_y: size*3.33
pos_z: 0.0
type: "AREA"
- name: "light8"
energy: 0.2
pos_x: size
pos_y: -size
pos_z: size
type: "AREA"
- name: "light9"
energy: 0.2
pos_x: -size
pos_y: size/2
pos_z: size
type: "AREA"
- name: "light10"
energy: 0.2
pos_x: -size
pos_y: size
pos_z: size
type: "AREA"
pcb3d:
download: false
download_lcsc: false
render_options:
auto_crop: true
transparent_background: true
samples: 75
resolution_x: 1500
resolution_y: 1500
auto_camera_z_axis_factor: 1
point_of_view:
rotate_x: 15
rotate_y: 25
rotate_z: 0
view: top
outputs:
- type: render
definitions:
NAME: blender
COMMENT: PCB 3D model in PCB3D Blender format
DIR: 3D

View File

@@ -0,0 +1,34 @@
# KiBot output for compressing Fabrication files to a ZIP archive
# https://kibot.readthedocs.io/en/latest/configuration/outputs/compress.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: compress
category: '@DIR@'
dir: '@DIR@'
options:
output: '%f-GERBERS%I%v.%x'
move_files: false
files:
- from_output: @GERBER_OUTPUT@
dest: '/'
- from_output: @DRILL_MAP_OUTPUT@
dest: '/'
- from_output: @DRILL_OUTPUT@
dest: '/'
- from_output: @FABRICATION_OUTPUT@
dest: '/'
...
definitions:
NAME: zip_compress_fab
COMMENT: Generates a ZIP file with gerbers, drill and fabrication document
DIR: Manufacturing/Fabrication
GERBER_OUTPUT: gbr_gerbers
DRILL_MAP_OUTPUT: pdf_drill_map
DRILL_OUTPUT: drl_excellon
FABRICATION_OUTPUT: pdf_fabrication

View File

@@ -0,0 +1,46 @@
# KiBot output for generating Bill of Materials in CSV format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: bom
category: '@DIR@'
dir: '@DIR@'
options:
format: CSV
csv:
hide_pcb_info: true
hide_stats_info: true
group_fields: ['@MPN_FIELD@', 'Value']
columns:
- "Row"
- "Quantity Per PCB"
- "References"
- "Value"
- "Datasheet"
- "Footprint"
- "Description"
- "@MAN_FIELD@"
- "@MPN_FIELD@"
- "Supplier Part Number"
# - "arrow#"
# - "digikey#"
# - "farnell#"
# - "mouser#"
# - "newark#"
# - "rs#"
# - "tme#"
...
definitions:
NAME: csv_bom
COMMENT: Bill of Materials in CSV format
DIR: Manufacturing/Assembly
MPN_FIELD: 'Manufacturer Part Number'
MAN_FIELD: 'Manufacturer'

View File

@@ -0,0 +1,25 @@
# KiBot output for generating Drill Tables
# https://kibot.readthedocs.io/en/latest/configuration/outputs/excellon.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: excellon
category: '@DIR@'
dir: '@DIR@'
options:
generate_drill_files: false
table:
unify_pth_and_npth: '@PTH_NPTH@'
group_slots_and_round_holes: @GROUP_ROUND_SLOTS@
...
definitions:
NAME: csv_drill_table
COMMENT: Drill Table in CSV format
DIR: Manufacturing/Fabrication/Tables
PTH_NPTH: 'yes'
GROUP_ROUND_SLOTS: true

View File

@@ -0,0 +1,23 @@
# KiBot output for generating Position file in CSV format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/position.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: position
category: '@DIR@'
dir: '@DIR@'
options:
format: 'CSV'
only_smd: false
include_virtual: false
output: '%f-CPL%I%v.%x'
separate_files_for_front_and_back: false
definitions:
NAME: csv_position
COMMENT: Position file in CSV format
DIR: Manufacturing/Assembly

View File

@@ -0,0 +1,25 @@
# KiBot output for CSV Report
# https://kibot.readthedocs.io/en/latest/configuration/outputs/report.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: report
category: '@DIR@'
dir: '@DIR@'
output_id: @OUTPUT_ID@
options:
output: '%f-%I%v.csv'
template: @TEMPLATE@
exclude_filter: '_mechanical'
csv_remove_leading_spaces: true
...
definitions:
NAME: csv_report
COMMENT: Report in CSV format
DIR: Manufacturing
OUTPUT_ID: ''
TEMPLATE: total_components

View File

@@ -0,0 +1,51 @@
# KiBot output for generating CSV Tespoints
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: bom
category: '@DIR@'
dir: '@DIR@'
options:
output: '%f-testpoints@SUFFIX@%I%v.%x'
csv:
hide_pcb_info: True
hide_stats_info: True
pre_transform: ['_kicost_rename']
exclude_filter: '@EXCLUDE_FILTER@'
dnf_filter: '_null'
exclude_marked_in_sch: false
group_fields: []
sort_style: ref
use_aux_axis_as_origin: true
ignore_dnf: false
format: CSV
footprint_type_values: 'SMT,THRU,'
columns:
- field: References
name: Testpoint Ref.
- field: Net Name
name: Net
- field: Net Class
- field: Footprint X
name: X
- field: Footprint Y
name: Y
- field: Footprint Side
name: Side
- field: Footprint Type
name: Pad Type
- field: Value
- field: Footprint
...
definitions:
NAME: csv_testpoints
COMMENT: Testpoint report in CSV format
DIR: Testing/Testpoints
SUFFIX: ""
EXCLUDE_FILTER: only_testpoints

View File

@@ -0,0 +1,45 @@
# KiBot output for generating CSV Tespoints
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: bom
category: '@DIR@'
dir: '@DIR@'
options:
output: '%f-testpoints@SUFFIX@%I%v.%x'
csv:
hide_pcb_info: True
hide_stats_info: True
pre_transform: ['_kicost_rename']
exclude_filter: '@EXCLUDE_FILTER@'
dnf_filter: '_null'
exclude_marked_in_sch: false
group_fields: []
sort_style: ref
use_aux_axis_as_origin: true
ignore_dnf: false
format: CSV
footprint_type_values: 'SMT,THRU,'
right_digits: 2
columns:
- field: References
name: Ref.
- field: Net Label
name: Net
- field: Footprint X
name: X [mm]
- field: Footprint Y
name: Y [mm]
...
definitions:
NAME: csv_testpoints
COMMENT: Testpoint report in CSV format
DIR: Testing/Testpoints
SUFFIX: ""
EXCLUDE_FILTER: only_testpoints

View File

@@ -0,0 +1,25 @@
# KiBot output for generating drill Gerber files
# https://kibot.readthedocs.io/en/latest/configuration/outputs/excellon.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: excellon
category: '@DIR@'
dir: '@DIR@'
options:
generate_drill_files: @GENERATE_DRILL@
pth_and_npth_single_file: @PTH_NPTH@
map: '@MAP_FORMAT@'
...
definitions:
NAME: drl_excellon
COMMENT: Drill in Excellon format
DIR: Manufacturing/Fabrication/Gerbers
GENERATE_DRILL: true
PTH_NPTH: false
MAP_FORMAT: None

View File

@@ -0,0 +1,25 @@
# KiBot output for generating Gerber files
# https://kibot.readthedocs.io/en/latest/configuration/outputs/gerber.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: gerber
category: '@DIR@'
dir: '@DIR@'
layers: ['copper', 'Edge.Cuts', 'F.Silkscreen', 'F.Mask', 'F.Paste', 'B.Silkscreen', 'B.Mask', 'B.Paste']
options:
subtract_mask_from_silk: true
plot_footprint_refs: @PLOT_REFS@
plot_footprint_values: false
create_gerber_job_file: false
...
definitions:
NAME: gbr_gerbers
COMMENT: Gerbers in GBR format
DIR: Manufacturing/Fabrication/Gerbers
PLOT_REFS: true

View File

@@ -0,0 +1,49 @@
# KiBot output for generating Interactive HTML BoM
# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: bom
category: '@DIR@'
dir: '@DIR@'
options:
format: HTML
html:
title: 'Bill of Materials'
datasheet_as_link: "Datasheet"
lcsc_link: true
logo: false
style: modern-blue
group_fields: ['@MPN_FIELD@', 'Value']
columns:
- "Row"
- "Quantity Per PCB"
- "References"
- "Value"
- "Datasheet"
- "Footprint"
- "Description"
- "@MAN_FIELD@"
- "@MPN_FIELD@"
- "Supplier Part Number"
# - "arrow#"
# - "digikey#"
# - "farnell#"
# - "mouser#"
# - "newark#"
# - "rs#"
# - "tme#"
...
definitions:
NAME: html_bom
COMMENT: BOM in HTML format
DIR: Manufacturing/Assembly
MPN_FIELD: 'Manufacturer Part Number'
MAN_FIELD: 'Manufacturer'

View File

@@ -0,0 +1,32 @@
# KiBot output for generating Interactive HTML BoM
# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: ibom
dir: '@DIR@'
category: '@DIR@'
options:
# extra_data_file: '%F.net'
dark_mode: true
show_fields: 'Value,Footprint,@MPN_FIELD@'
group_fields: 'Value,@MPN_FIELD@'
show_fabrication: true
highlight_pin1: "selected"
exclude_filter: '@EXCLUDE_FILTER@'
hide_excluded: true
forced_name: '@TITLE@'
mark_when_checked: 'Placed'
...
definitions:
NAME: html_bom_interactive
COMMENT: Interactive BOM in HTML format
DIR: Manufacturing/Assembly
EXCLUDE_FILTER: exclude_testpoints
TITLE: ""
MPN_FIELD: 'Manufacturer Part Number'

View File

@@ -0,0 +1,21 @@
# KiBot output for exploring PCB/SCH files
# https://kibot.readthedocs.io/en/latest/configuration/outputs/kicanvas.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: kicanvas
category: '@DIR@'
dir: '@DIR@'
options:
dnf_filter: _kibom_dnf_Config
overlay: true
source: ["schematic", "pcb", "project"]
definitions:
NAME: html_kicanvas
COMMENT: KiCanvas webpage
DIR: KiCanvas

View File

@@ -0,0 +1,23 @@
# KiBot output for diff web page between commits
# https://kibot.readthedocs.io/en/latest/configuration/outputs/kiri.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: kiri
category: '@DIR@'
dir: '@DIR@'
layers: all
options:
keep_generated: true
max_commits: 3
revision: 'HEAD'
zones: 'global'
definitions:
NAME: html_kiri
COMMENT: KiRi webpage
DIR: KiRI

View File

@@ -0,0 +1,24 @@
# KiBot output for MD Report (e.g. README.md)
# https://kibot.readthedocs.io/en/latest/configuration/outputs/report.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: report
category: '@CATEGORY@'
dir: '@DIR@'
options:
output: '@OUTPUT_NAME@.md'
template: @TEMPLATE@
...
definitions:
NAME: md_readme
COMMENT: Report
DIR: .
CATEGORY: /
OUTPUT_NAME: README
TEMPLATE: kibot_ressources/template/readme.txt

View File

@@ -0,0 +1,32 @@
# KiBot output for generating an HTML page for navigating the results
# https://kibot.readthedocs.io/en/latest/configuration/outputs/navigate_results_rb.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: navigate_results_rb
# category: '@DIR@'
dir: '@DIR@'
options:
link_from_root: 'index.html'
logo: '@LOGO@'
logo_force_height: 40
logo_url: '@LOGO_URL@'
nav_bar: true
render_markdown: true
display_category_images: false
display_kibot_version: false
title: '@TITLE@'
title_url: '@LOGO_URL@'
...
definitions:
NAME: html_navigate_results
COMMENT: Results webpage in HTML format
DIR: HTML
TITLE: ''
LOGO: ''
LOGO_URL: ''

View File

@@ -0,0 +1,15 @@
# KiBot output for generating netlist in KiCad format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/netlist.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: netlist
...
definitions:
NAME: netlist
COMMENT: Schematic netlist in KiCad format

View File

@@ -0,0 +1,20 @@
# KiBot output for generating ODB++ files
# https://kibot.readthedocs.io/en/latest/configuration/outputs/odb.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: odb
category: '@DIR@'
dir: '@DIR@'
options:
dnf_filter: _kibom_dnf_Config
...
definitions:
NAME: zip_odb
COMMENT: ODB++ in ZIP format
DIR: Manufacturing/Fabrication

View File

@@ -0,0 +1,117 @@
# KiBot output for generating Assembly Document in PDF format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcb_print.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: pcb_print
category: '@DIR@'
dir: '@DIR@'
options:
colored_vias: false
colored_pads: false
color_theme: '@COLOR_THEME@'
output: '%f-assembly%I%v.%x'
format: 'PDF'
title: '@DOC_TITLE@ Document'
realistic_solder_mask: false
dpi: 1200
dnf_filter: _kibom_dnf_Config
# dnf_filter: '_null'
sheet_reference_layout: '@SHEET_WKS@'
include_table:
outputs:
- name: '@NAME_COMP_COUNT@'
text_alignment: 'left'
invert_columns_order: false
border_width: 0.4
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0
top_rule_width: 0
bottom_rule_width: 0
row_spacing: 3
column_spacing: 2
pages:
- scaling: @SCALING@
layer_var: ''
title: '@DOC_TITLE@'
sheet: Top/Bottom View
sheet_reference_color: '#000000'
layers:
- layer: '@LAYER_TITLE_PAGE@'
color: '#000000'
- scaling: @SCALING@
layer_var: "Top Assembly (Scale @SCALING@:1)"
title: '@DOC_TITLE@'
sheet: Top Assembly (Scale @SCALING@:1)
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
layers:
- layer: Edge.Cuts
color: '#000000'
- layer: F.Cu
color: '#EEDAB5'
- layer: F.Mask
color: '#B9B9B9'
- layer: F.Paste
color: '#E1A98E'
- layer: F.Silkscreen
color: '#DB9DE1'
- layer: F.Fab
exclude_filter: '@FAB_EXCLUDE_FILTER@'
color: '#744679'
- layer: '@LAYER_ASSEMBLY_TEXT_TOP@'
color: '#000000'
- layer: '@LAYER_DNP_CROSS_TOP@'
color: '#D63034'
- scaling: @SCALING@
layer_var: "Bottom Assembly (Scale @SCALING@:1)"
mirror: true
mirror_pcb_text: false
title: '@DOC_TITLE@'
sheet: Bottom Assembly (Scale @SCALING@:1)
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
layers:
- layer: Edge.Cuts
color: '#000000'
- layer: B.Cu
color: '#D5DBF4'
- layer: B.Mask
color: '#B9B9B9'
- layer: B.Paste
color: '#BCB9DD'
- layer: B.Silkscreen
color: '#DB9DE1'
- layer: B.Fab
exclude_filter: '@FAB_EXCLUDE_FILTER@'
color: '#400080'
- layer: '@LAYER_ASSEMBLY_TEXT_BOTTOM@'
color: '#000000'
- layer: '@LAYER_DNP_CROSS_BOTTOM@'
color: '#D63034'
...
definitions:
NAME: pdf_assembly
COMMENT: Assembly document in PDF format
DIR: Manufacturing/Assembly
DOC_TITLE: Assembly
COLOR_THEME: Altium_Theme
SHEET_WKS: ${KIPRJMOD}/Templates/KDT_Template_PCB_GIT_A4.kicad_wks
SCALING: 1.0
FAB_EXCLUDE_FILTER: exclude_testpoints
LAYER_TITLE_PAGE: TitlePage
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
LAYER_DNP_CROSS_TOP: F.DNP
LAYER_DNP_CROSS_BOTTOM: B.DNP
NAME_COMP_COUNT: csv_comp_count

View File

@@ -0,0 +1,229 @@
# KiBot output for generating Fabrication Document in PDF format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcb_print.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: pcb_print
category: '@DIR@'
dir: '@DIR@'
options:
colored_pads: false
colored_vias: false
color_theme: '@COLOR_THEME@'
output: '%f-fabrication%I%v.%x'
format: 'PDF'
title: '@DOC_TITLE@ Document'
realistic_solder_mask: false
dpi: 1200
dnf_filter: _kibom_dnf_Config
frame_plot_mechanism: 'internal'
sheet_reference_layout: '@SHEET_WKS@'
drill:
unify_pth_and_npth: '@PTH_NPTH@'
group_slots_and_round_holes: @GROUP_ROUND_SLOTS@
include_table:
outputs:
- name: '@NAME_TP_TOP@'
text_alignment: 'left'
invert_columns_order: false
border_width: 0.4
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0.2
top_rule_width: 0.2
bottom_rule_width: 0.2
column_spacing: 2
force_font_width: 1.27 # mm
- name: '@NAME_TP_BOTTOM@'
text_alignment: 'right'
invert_columns_order: true
border_width: 0.4
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0.2
top_rule_width: 0.2
bottom_rule_width: 0.2
column_spacing: 2
force_font_width: 1.27 # mm
- name: '@NAME_IMPEDANCE_TABLE@'
text_alignment: 'left'
invert_columns_order: false
border_width: 0.4
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0.2
top_rule_width: 0.2
bottom_rule_width: 0.2
row_spacing: 3
column_spacing: 2
row_spacing: 3
- name: '@NAME_DRILL_TABLE@'
text_alignment: 'left'
invert_columns_order: false
border_width: 0.4
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0.2
top_rule_width: 0.2
bottom_rule_width: 0.2
row_spacing: 3
column_spacing: 2
force_font_width: 1 # mm
pages:
- scaling: @SCALING@
title: '@DOC_TITLE@'
sheet: 'Top Fabrication (Scale @SCALING@:1)'
layer_var: 'Top Fabrication (Scale @SCALING@:1)'
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
layers:
- layer: Edge.Cuts
color: '#000000'
- layer: F.Cu
color: '#F2F2F2'
- layer: F.Mask
color: '#E2E2E2'
- layer: F.Paste
color: '#E2E2E2'
- layer: F.Silkscreen
color: '#DBDBDB'
- layer: F.Fab
plot_footprint_refs: false
plot_footprint_values: false
color: '#818181'
- layer: F.Dimensions
color: '#000000'
- scaling: @SCALING@
mirror: true
mirror_pcb_text: false
title: '@DOC_TITLE@'
sheet: 'Bottom Fabrication (Scale @SCALING@:1)'
layer_var: 'Bottom Fabrication (Scale @SCALING@:1)'
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
layers:
- layer: Edge.Cuts
color: '#000000'
- layer: B.Cu
color: '#F2F2F2'
- layer: B.Mask
color: '#E2E2E2'
- layer: B.Paste
color: '#E2E2E2'
- layer: B.Silkscreen
color: '#DBDBDB'
- layer: B.Fab
plot_footprint_refs: false
plot_footprint_values: false
color: '#818181'
- layer: B.Dimensions
color: '#000000'
- scaling: @SCALING@
title: '@DOC_TITLE@'
sheet: 'Drill Drawing (%lp)'
layer_var: 'Drill Drawing %lp (Scale @SCALING@:1)'
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
repeat_for_layer: '@LAYER_DRILL_MAP@'
repeat_layers: 'drill_pairs'
layers:
- layer: '@LAYER_DRILL_MAP@'
color: '#000000'
- layer: 'Edge.Cuts'
color: '#000000'
- scaling: @SCALING@
title: '@DOC_TITLE@'
sheet: 'Top Test Points (Scale @SCALING@:1)'
layer_var: 'Top Test Points (Scale @SCALING@:1)'
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
layers:
- layer: Edge.Cuts
color: '#000000'
- layer: F.Cu
color: '#E5E5E5'
- layer: F.Mask
color: '#CECECE'
- layer: F.Paste
color: '#CECECE'
- layer: F.Silkscreen
color: '#C7C7C7'
- layer: F.Fab
exclude_filter: '@FAB_EXCLUDE_FILTER@'
plot_footprint_values: false
sketch_pads_on_fab_layers: false
color: '#E10000'
- layer: '@LAYER_TP_LIST_TOP@'
color: '#000000'
- scaling: @SCALING@
mirror : true
mirror_pcb_text: true
title: '@DOC_TITLE@'
sheet: 'Bottom Test Points (Scale @SCALING@:1)'
layer_var: 'Bottom Test Points (Scale @SCALING@:1)'
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
layers:
- layer: Edge.Cuts
color: '#000000'
- layer: B.Cu
color: '#E5E5E5'
- layer: B.Mask
color: '#CECECE'
- layer: B.Paste
color: '#CECECE'
- layer: B.Silkscreen
color: '#C7C7C7'
- layer: B.Fab
exclude_filter: '@FAB_EXCLUDE_FILTER@'
plot_footprint_values: false
sketch_pads_on_fab_layers: false
color: '#0B00CC'
- layer: '@LAYER_TP_LIST_BOTTOM@'
color: '#000000'
- scaling: @SCALING@
sheet: '%ln (Scale @SCALING@:1)'
layer_var: '%ln (Scale @SCALING@:1)'
title: '@DOC_TITLE@'
sheet_reference_color: '#000000'
colored_holes: true
holes_color: "#FFFFFF"
repeat_for_layer: 'F.Cu'
repeat_layers: 'copper'
layers:
- layer: 'F.Cu'
...
definitions:
NAME: pdf_fabrication
COMMENT: Fabrication document in PDF format
DIR: Manufacturing/Fabrication
DOC_TITLE: Fabrication
COLOR_THEME: Altium_Theme
SHEET_WKS: ${KIPRJMOD}/Templates/KDT_Template_PCB_GIT_A4.kicad_wks
SCALING: 1.0
FAB_EXCLUDE_FILTER: only_testpoints
LAYER_DRILL_MAP: DrillMap
LAYER_TP_LIST_TOP: F.TestPointList
LAYER_TP_LIST_BOTTOM: B.TestPointList
PTH_NPTH: 'yes'
GROUP_ROUND_SLOTS: true
NAME_TP_TOP: csv_testpoints_top
NAME_TP_BOTTOM: csv_testpoints_bottom
NAME_IMPEDANCE_TABLE: csv_impedance_table
NAME_DRILL_TABLE: csv_drill_table

View File

@@ -0,0 +1,23 @@
# KiBot output for generating schematics in PDF format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pdf_sch_print.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: pdf_sch_print
dir: '@DIR@'
category: '@DIR@'
options:
background_color: false
color_theme: '@COLOR_THEME@'
default_font: '@DEFAULT_FONT@'
definitions:
NAME: pdf_schematic
COMMENT: Schematic in PDF format
COLOR_THEME: Altium_Theme
DEFAULT_FONT: Times New Roman
DIR: Schematic

View File

@@ -0,0 +1,45 @@
# KiBot output for 3D Viewer renders in PNG format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/render_3d.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: render_3d
category: '@DIR@'
dir: '@DIR@'
options:
output: '%f-@SUFFIX@%I%v.%x'
auto_crop: true
enable_crop_workaround: true
rotate_x: @ROTATE_X@
rotate_y: @ROTATE_Y@
rotate_z: @ROTATE_Z@
zoom: @ZOOM@
height: @HEIGHT@
width: @WIDTH@
view: '@VIEW@'
ray_tracing: @RAYTRACING@
force_stackup_colors: true
orthographic: true
transparent_background: true
transparent_background_color: '@KEY_COLOR@'
transparent_background_fuzz: 40
...
definitions:
NAME: png_3d_viewer
COMMENT: 3D viewer PCB render in PNG format
DIR: Images
SUFFIX: ""
VIEW: top
RAYTRACING: true
ROTATE_X: 0
ROTATE_Y: 0
ROTATE_Z: 0
ZOOM: 0
HEIGHT: 2000
WIDTH: 2000
KEY_COLOR: '#00FF00'

View File

@@ -0,0 +1,20 @@
# KiBot output for generating Alternate Schematic with split value fields
# https://kibot.readthedocs.io/en/latest/configuration/outputs/sch_variant.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: sch_variant
dir: '@DIR@'
options:
pre_transform: _value_split_replace
copy_project: true
...
definitions:
NAME: value_split
COMMENT: Split component Value field of components
DIR: Schematic

View File

@@ -0,0 +1,19 @@
# KiBot output for generating PCB 3D model in STEP format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/step.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: step
category: '@DIR@'
dir: '@DIR@'
options:
output: '%f%I%v.%x'
definitions:
NAME: step
COMMENT: PCB 3D model in STEP format
DIR: 3D

View File

@@ -0,0 +1,26 @@
# KiBot output for TXT Report (e.g. Fabrication/Assembly notes)
# https://kibot.readthedocs.io/en/latest/configuration/outputs/report.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: report
category: '@DIR@'
dir: '@DIR@'
output_id: @OUTPUT_ID@
options:
output: '%f-%I%v.txt'
template: @TEMPLATE@
exclude_filter: '_mechanical'
mm_digits: 3
display_trailing_zeros: True
...
definitions:
NAME: txt_fabrication_notes
COMMENT: Report
DIR: Manufacturing
OUTPUT_ID: _notes
TEMPLATE: kibot_ressources/template/fabrication_notes.txt

View File

@@ -0,0 +1,58 @@
# KiBot output for generating Bill of Materials in XLSX format
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
kibot:
version: 1
outputs:
- name: @NAME@
comment: '@COMMENT@'
type: bom
category: '@DIR@'
dir: '@DIR@'
options:
format: XLSX
pre_transform:
- _value_split
- @FILT_PRE_TRANSFORM@
count_smd_tht: true
distributors:
- Mouser
- Digi-Key
- TME
# - Arrow
# - Farnell
xlsx:
title: 'Bill of Materials'
datasheet_as_link: 'Datasheet'
logo: false
style: modern-blue
kicost: true
kicost_config: '@KICOST_CONFIG@'
specs: true
columns:
- "Row"
- "Quantity Per PCB"
- "References"
- "Value"
- "Datasheet"
- "Footprint"
- "Description"
- "manf"
- "manf#"
- "Supplier Part Number"
# - "arrow#"
# - "digikey#"
# - "farnell#"
# - "mouser#"
# - "newark#"
# - "rs#"
# - "tme#"
...
definitions:
NAME: xlsx_costs_bom
COMMENT: Costs Bill of Materials in XLSX format
DIR: Manufacturing/Assembly
KICOST_CONFIG: ''
FILT_PRE_TRANSFORM: field_rename

View File

@@ -0,0 +1,26 @@
# KiBot preflight for Draw Fancy Stackup feature
# https://kibot.readthedocs.io/en/latest/configuration/preflights/draw_fancy_stackup.html
kibot:
version: 1
preflight:
update_xml: true
draw_fancy_stackup:
gerber: '@GERBER_OUTPUT@'
gerber_extension_only: True
draw_stackup: True
draw_vias: True
columns:
- 'material'
- 'layer'
- 'thickness'
- 'dielectric'
- 'layer_type'
- 'gerber'
note: '@NOTE@'
...
definitions:
GERBER_OUTPUT: gbr_gerbers
NOTE: external layer thicknesses are specified after plating

View File

@@ -0,0 +1,20 @@
# KiBot preflight for generating DRC reports
# https://kibot.readthedocs.io/en/latest/configuration/preflights/drc.html
kibot:
version: 1
preflight:
check_zone_fills: @CHECK_ZONE_FILLS@
drc:
category: '@DIR@'
dir: '@DIR@'
dont_stop: true
format: 'HTML, RPT'
output: 'report_%f-%i%I%v.%x'
...
definitions:
CHECK_ZONE_FILLS: true
CATEGORY: Schematic
DIR: Reports

View File

@@ -0,0 +1,17 @@
# KiBot preflight for generating ERC reports
# https://kibot.readthedocs.io/en/latest/configuration/preflights/erc.html
kibot:
version: 1
preflight:
erc:
category: '@DIR@'
dir: '@DIR@'
format: 'HTML, RPT'
output: 'report_%f-%i%I%v.%x'
...
definitions:
CATEGORY: Schematic
DIR: Reports

View File

@@ -0,0 +1,59 @@
# KiBot preflight for Include Table feature
# https://kibot.readthedocs.io/en/latest/configuration/preflights/include_table.html
kibot:
version: 1
preflight:
include_table:
outputs:
- name: '@NAME_TP_TOP@'
text_alignment: 'left'
invert_columns_order: false
border_width: 0.2
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0
top_rule_width: 0
bottom_rule_width: 0
column_spacing: 1
# force_font_width: 1.27 # mm
- name: '@NAME_TP_BOTTOM@'
text_alignment: 'right'
invert_columns_order: true
border_width: 0.2
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0
top_rule_width: 0
bottom_rule_width: 0
column_spacing: 1
# force_font_width: 1.27 # mm
- name: '@NAME_COMP_COUNT@'
text_alignment: 'left'
invert_columns_order: false
border_width: 0.2
header_rule_width: 0.2
horizontal_rule_width: 0
vertical_rule_width: 0
top_rule_width: 0
bottom_rule_width: 0
row_spacing: 3
column_spacing: 1
- name: '@NAME_IMPEDANCE_TABLE@'
text_alignment: 'left'
invert_columns_order: false
border_width: 0.2
header_rule_width: 0.2
vertical_rule_width: 0
top_rule_width: 0
bottom_rule_width: 0
row_spacing: 3
column_spacing: 1
...
definitions:
NAME_TP_TOP: csv_testpoints_top
NAME_TP_BOTTOM: csv_testpoints_bottom
NAME_COMP_COUNT: csv_comp_count
NAME_IMPEDANCE_TABLE: csv_impedance_table

View File

@@ -0,0 +1,180 @@
# KiBot preflight for setting Text Variables
# https://kibot.readthedocs.io/en/latest/configuration/preflights/set_text_variables.html
kibot:
version: 1
preflight:
update_xml: true
set_text_variables:
# Git related information
- variable: 'REVISION'
# command: 'git describe --tags --abbrev=0 || echo ""'
text: '@REVISION@'
- variable: 'RELEASE_DATE'
command: 'git log -1 --format="%ad" --date="format:%d-%b-%Y"'
- variable: 'RELEASE_DATE_NUM'
command: 'git log -1 --format="%ad" --date=short'
- variable: 'GIT_HASH_SCH'
command: 'git log -1 --format="%h" $KIBOT_SCH_NAME'
- variable: 'GIT_HASH_PCB'
command: 'git log -1 --format="%h" $KIBOT_PCB_NAME'
- variable: 'GIT_URL'
text: '@GIT_URL@'
# Metadata
- variable: 'PROJECT_NAME'
text: '@PROJECT_NAME@'
- variable: 'BOARD_NAME'
text: '@BOARD_NAME@'
- variable: 'COMPANY'
text: '@COMPANY@'
- variable: 'DESIGNER'
text: '@DESIGNER@'
- variable: 'VARIANT'
text: '%V'
# Changelog
# - variable: '@RELEASE_TITLE_VAR@1.0.0'
# command: '@GET_TITLE_CMD@ 1.0.0'
# - variable: '@RELEASE_BODY_VAR@1.0.0'
# command: '@GET_BODY_CMD@ 1.0.0'
# - variable: '@RELEASE_TITLE_VAR@1.0.1'
# command: '@GET_TITLE_CMD@ 1.0.1'
# - variable: '@RELEASE_BODY_VAR@1.0.1'
# command: '@GET_BODY_CMD@ 1.0.1'
# - variable: '@RELEASE_TITLE_VAR@1.0.2'
# command: '@GET_TITLE_CMD@ 1.0.2'
# - variable: '@RELEASE_BODY_VAR@1.0.2'
# command: '@GET_BODY_CMD@ 1.0.2'
# - variable: '@RELEASE_TITLE_VAR@1.1.0'
# command: '@GET_TITLE_CMD@ 1.1.0'
# - variable: '@RELEASE_BODY_VAR@1.1.0'
# command: '@GET_BODY_CMD@ 1.1.0'
# - variable: '@RELEASE_TITLE_VAR@1.1.1'
# command: '@GET_TITLE_CMD@ 1.1.1'
# - variable: '@RELEASE_BODY_VAR@1.1.1'
# command: '@GET_BODY_CMD@ 1.1.1'
- variable: '@RELEASE_TITLE_VAR@UNRELEASED'
command: '@GET_TITLE_CMD@ Unreleased'
- variable: '@RELEASE_BODY_VAR@UNRELEASED'
command: '@GET_BODY_CMD@ Unreleased'
# Fabrication notes
- variable: 'FABRICATION_NOTES'
expand_in_command: true
command: '[ -f "@FABRICATION_DIR@/%f-fabrication_notes%v.txt" ] && cat "@FABRICATION_DIR@/%f-fabrication_notes%v.txt" || echo ""'
# Fabrication notes
- variable: 'ASSEMBLY_NOTES'
expand_in_command: true
command: '[ -f "@ASSEMBLY_DIR@/%f-assembly_notes%v.txt" ] && cat "@ASSEMBLY_DIR@/%f-assembly_notes%v.txt" || echo ""'
# Page titles for automatic ToC
- variable: '@SHEET_NAME_VAR@1'
text: 'Cover Page'
- variable: '@SHEET_NAME_VAR@2'
command: '@GET_SHEET_CMD@ 2'
- variable: '@SHEET_NAME_VAR@3'
command: '@GET_SHEET_CMD@ 3'
- variable: '@SHEET_NAME_VAR@4'
command: '@GET_SHEET_CMD@ 4'
- variable: '@SHEET_NAME_VAR@5'
command: '@GET_SHEET_CMD@ 5'
- variable: '@SHEET_NAME_VAR@6'
command: '@GET_SHEET_CMD@ 6'
- variable: '@SHEET_NAME_VAR@7'
command: '@GET_SHEET_CMD@ 7'
- variable: '@SHEET_NAME_VAR@8'
command: '@GET_SHEET_CMD@ 8'
- variable: '@SHEET_NAME_VAR@9'
command: '@GET_SHEET_CMD@ 9'
- variable: '@SHEET_NAME_VAR@10'
command: '@GET_SHEET_CMD@ 10'
- variable: '@SHEET_NAME_VAR@11'
command: '@GET_SHEET_CMD@ 11'
- variable: '@SHEET_NAME_VAR@12'
command: '@GET_SHEET_CMD@ 12'
- variable: '@SHEET_NAME_VAR@13'
command: '@GET_SHEET_CMD@ 13'
- variable: '@SHEET_NAME_VAR@14'
command: '@GET_SHEET_CMD@ 14'
- variable: '@SHEET_NAME_VAR@15'
command: '@GET_SHEET_CMD@ 15'
- variable: '@SHEET_NAME_VAR@16'
command: '@GET_SHEET_CMD@ 16'
- variable: '@SHEET_NAME_VAR@17'
command: '@GET_SHEET_CMD@ 17'
- variable: '@SHEET_NAME_VAR@18'
command: '@GET_SHEET_CMD@ 18'
- variable: '@SHEET_NAME_VAR@19'
command: '@GET_SHEET_CMD@ 19'
- variable: '@SHEET_NAME_VAR@20'
command: '@GET_SHEET_CMD@ 20'
- variable: '@SHEET_NAME_VAR@21'
command: '@GET_SHEET_CMD@ 21'
- variable: '@SHEET_NAME_VAR@22'
command: '@GET_SHEET_CMD@ 22'
- variable: '@SHEET_NAME_VAR@23'
command: '@GET_SHEET_CMD@ 23'
- variable: '@SHEET_NAME_VAR@24'
command: '@GET_SHEET_CMD@ 24'
- variable: '@SHEET_NAME_VAR@25'
command: '@GET_SHEET_CMD@ 25'
- variable: '@SHEET_NAME_VAR@26'
command: '@GET_SHEET_CMD@ 26'
- variable: '@SHEET_NAME_VAR@27'
command: '@GET_SHEET_CMD@ 27'
- variable: '@SHEET_NAME_VAR@28'
command: '@GET_SHEET_CMD@ 28'
- variable: '@SHEET_NAME_VAR@29'
command: '@GET_SHEET_CMD@ 29'
- variable: '@SHEET_NAME_VAR@30'
command: '@GET_SHEET_CMD@ 30'
- variable: '@SHEET_NAME_VAR@31'
command: '@GET_SHEET_CMD@ 31'
- variable: '@SHEET_NAME_VAR@32'
command: '@GET_SHEET_CMD@ 32'
- variable: '@SHEET_NAME_VAR@33'
command: '@GET_SHEET_CMD@ 33'
- variable: '@SHEET_NAME_VAR@34'
command: '@GET_SHEET_CMD@ 34'
- variable: '@SHEET_NAME_VAR@35'
command: '@GET_SHEET_CMD@ 35'
- variable: '@SHEET_NAME_VAR@36'
command: '@GET_SHEET_CMD@ 36'
- variable: '@SHEET_NAME_VAR@37'
command: '@GET_SHEET_CMD@ 37'
- variable: '@SHEET_NAME_VAR@38'
command: '@GET_SHEET_CMD@ 38'
- variable: '@SHEET_NAME_VAR@39'
command: '@GET_SHEET_CMD@ 39'
- variable: '@SHEET_NAME_VAR@40'
command: '@GET_SHEET_CMD@ 40'
...
definitions:
PROJECT_NAME: ""
BOARD_NAME: ""
COMPANY: ""
DESIGNER: ""
REVISION: ""
RELEASE_DATE: ""
RELEASE_DATE_NUM: ""
GIT_URL: ""
SHEET_NAME_VAR: SHEET_NAME_
RELEASE_TITLE_VAR: RELEASE_TITLE_
RELEASE_BODY_VAR: RELEASE_BODY_
SCRIPTS_DIR: kibot_resources/scripts
GET_SHEET_CMD: python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p
GET_TITLE_CMD: python3 @SCRIPTS_DIR@/get_changelog.py -f CHANGELOG.md --title-only --version
GET_BODY_CMD: python3 @SCRIPTS_DIR@/get_changelog.py -f CHANGELOG.md --extra-spaces --separators 35 --version
FABRICATION_DIR: Manufacturing/Fabrication
ASSEMBLY_DIR: Manufacturing/Assembly

View File

@@ -0,0 +1,77 @@
# KiCost configuration file
# Create a copy of this file locally, called kibost_config_local.yaml
# kibost_config_local.yaml should NOT be shared as it contains API keys
# By default, kicost_config_local.yaml is in the .gitignore
# To run KiCost, you can run the following:
# ./kibot_launch.sh -v <VARIANT> --costs
kicost:
version: 1
# Prices are valid for a day
cache_ttl: 1
# # We will store the cache here:
cache_path: ~/kicost_cache
# Add any API option here
# Avoid secrets
APIs:
Digi-Key:
# Digi-Key Client ID for a registered APP
client_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# Digi-Key Client Secret for a registered APP
client_secret: xxxxxxxxxxxxxxxx
# Use the sandbox server, doesn't count the usage, but returns old data
# sandbox: false
# Only enabled if the client_id and client_secret are defined
enable: true
# Directory for the APIs caches
cache_path: ~/.cache/kicost/Digi-Key
Mouser:
# Mouser Part API key
key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# Only enabled if the key is defined
enable: true
# Directory for the APIs caches
cache_path: ~/.cache/kicost/Mouser
# Element14:
# Element14 includes: Farnell, Newark and CPC
# Element14 Product Search API key
# key: XXXXXXXXXXXXXXXXXXXXXXXX
# Only enabled if the key is defined
# enable: false
# Country used for Farnell queries.
# Supported countries: BG,CZ,DK,AT,CH,DE,IE,IL,UK,ES,EE,FI,FR,HU,IT,LT,
# LV,BE,NL,NO,PL,PT,RO,RU,SK,SI,SE,TR,CN,AU,NZ,HK,SG,MY,PH,TH,IN,KR,VN
# farnell_country: UK
# Country used for Newark queries.
# Supported countries: US,CA,MX
# newark_country: US
# Country used for CPC queries.
# Supported countries: UK,IE
# cpc_country: UK
# Directory for the APIs caches
# cache_path: ~/.cache/kicost/Element14
# Nexar:
# Nexar client ID
# client_id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
# Nexar client secret
# client_secret: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
# Only enabled if the client_id and client_secret are defined
# enable: false
# Country where we are buying
# country: US
# Directory for the APIs caches
# cache_path: ./nexar
TME:
# TME token (anonymous or private)
token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# TME application secret
app_secret: xxxxxxxxxxxxxxxxxxxx
# Only enabled if the token and app_secret are defined
enable: true
# Country where we are buying
# country: US
# Language for the texts
# language: EN
# Directory for the APIs caches
cache_path: ~/.cache/kicost/TME