make: update bom generation
This commit is contained in:
parent
53ecb46e4f
commit
4982a98b28
4
Makefile
4
Makefile
|
@ -5,6 +5,8 @@ SUBSHEET ?= rsim_serial rsim_power rsim_sim rsim_esp32s2 rsim_esp32s3
|
||||||
KICAD = kicad-cli
|
KICAD = kicad-cli
|
||||||
# path to qeda
|
# path to qeda
|
||||||
QEDA := qeda
|
QEDA := qeda
|
||||||
|
# path to KiBOM
|
||||||
|
KIBOM := ./KiBOM_CLI.py
|
||||||
# path to InteractiveHtmlBom
|
# path to InteractiveHtmlBom
|
||||||
IBOMGEN := ~/.local/share/kicad/7.0/3rdparty/plugins/org_openscopeproject_InteractiveHtmlBom/generate_interactive_bom.py
|
IBOMGEN := ~/.local/share/kicad/7.0/3rdparty/plugins/org_openscopeproject_InteractiveHtmlBom/generate_interactive_bom.py
|
||||||
|
|
||||||
|
@ -70,7 +72,7 @@ lib:
|
||||||
|
|
||||||
# export Bill of Material (as CSV)
|
# export Bill of Material (as CSV)
|
||||||
%.bom.csv: %.bom.xml
|
%.bom.csv: %.bom.xml
|
||||||
kibom $< $@
|
python $(KIBOM) $< $@
|
||||||
|
|
||||||
# generate panel
|
# generate panel
|
||||||
PANEL_DIR := panel
|
PANEL_DIR := panel
|
||||||
|
|
73
bom.ini
73
bom.ini
|
@ -1,10 +1,37 @@
|
||||||
[BOM_OPTIONS]
|
[BOM_OPTIONS]
|
||||||
ignore_dnf = 0
|
; General BoM options here
|
||||||
number_rows = 0
|
; If 'ignore_dnf' option is set to 1, rows that are not to be fitted on the PCB will not be written to the BoM file
|
||||||
|
ignore_dnf = 1
|
||||||
|
; If 'html_generate_dnf' option is set to 1, also generate a list of components not fitted on the PCB (HTML only)
|
||||||
|
html_generate_dnf = 1
|
||||||
|
; If 'use_alt' option is set to 1, grouped references will be printed in the alternate compressed style eg: R1-R7,R18
|
||||||
|
use_alt = 0
|
||||||
|
; If 'alt_wrap' option is set to and integer N, the references field will wrap after N entries are printed
|
||||||
|
alt_wrap = 0
|
||||||
|
; If 'number_rows' option is set to 1, each row in the BoM will be prepended with an incrementing row number
|
||||||
|
number_rows = 1
|
||||||
|
; If 'group_connectors' option is set to 1, connectors with the same footprints will be grouped together, independent of the name of the connector
|
||||||
group_connectors = 1
|
group_connectors = 1
|
||||||
test_regex = 0
|
; If 'test_regex' option is set to 1, each component group will be tested against a number of regular-expressions (specified, per column, below). If any matches are found, the row is ignored in the output file
|
||||||
|
test_regex = 1
|
||||||
|
; If 'merge_blank_fields' option is set to 1, component groups with blank fields will be merged into the most compatible group, where possible
|
||||||
merge_blank_fields = 1
|
merge_blank_fields = 1
|
||||||
|
; Specify output file name format, %O is the defined output name, %v is the version, %V is the variant name which will be ammended according to 'variant_file_name_format'.
|
||||||
output_file_name = %O%V
|
output_file_name = %O%V
|
||||||
|
; Specify the variant file name format, this is a unique field as the variant is not always used/specified. When it is unused you will want to strip all of this.
|
||||||
|
variant_file_name_format = _(%V)
|
||||||
|
; Field name used to determine if a particular part is to be fitted
|
||||||
|
fit_field = Config
|
||||||
|
; Make a backup of the bom before generating the new one, using the following template
|
||||||
|
make_backup = %O.tmp
|
||||||
|
; Default number of boards to produce if none given on CLI with -n
|
||||||
|
number_boards = 1
|
||||||
|
; Default PCB variant if none given on CLI with -r
|
||||||
|
board_variant = ['default']
|
||||||
|
; Whether to hide headers from output file
|
||||||
|
hide_headers = False
|
||||||
|
; Whether to hide PCB info from output file
|
||||||
|
hide_pcb_info = False
|
||||||
|
|
||||||
[IGNORE_COLUMNS]
|
[IGNORE_COLUMNS]
|
||||||
; Any column heading that appears here will be excluded from the Generated BoM
|
; Any column heading that appears here will be excluded from the Generated BoM
|
||||||
|
@ -15,6 +42,9 @@ Footprint
|
||||||
Footprint Lib
|
Footprint Lib
|
||||||
Build Quantity
|
Build Quantity
|
||||||
sheetpath
|
sheetpath
|
||||||
|
qeda_part
|
||||||
|
qeda_variant
|
||||||
|
name
|
||||||
|
|
||||||
[COLUMN_ORDER]
|
[COLUMN_ORDER]
|
||||||
; Columns will apear in the order they are listed here
|
; Columns will apear in the order they are listed here
|
||||||
|
@ -28,15 +58,48 @@ Part Lib
|
||||||
Footprint
|
Footprint
|
||||||
Footprint Lib
|
Footprint Lib
|
||||||
Build Quantity
|
Build Quantity
|
||||||
|
DigiKey
|
||||||
LCSC
|
LCSC
|
||||||
|
JLCPCB
|
||||||
|
JLCPCB_CORRECTION
|
||||||
Datasheet
|
Datasheet
|
||||||
|
|
||||||
[GROUP_FIELDS]
|
[GROUP_FIELDS]
|
||||||
; List of fields used for sorting individual components into groups
|
; List of fields used for sorting individual components into groups
|
||||||
; Components which match (comparing *all* fields) will be grouped together
|
; Components which match (comparing *all* fields) will be grouped together
|
||||||
; Field names are case-insensitive
|
; Field names are case-insensitive
|
||||||
Part
|
|
||||||
Part Lib
|
|
||||||
Value
|
Value
|
||||||
Footprint
|
Footprint
|
||||||
Footprint Lib
|
Footprint Lib
|
||||||
|
|
||||||
|
[COMPONENT_ALIASES]
|
||||||
|
; A series of values which are considered to be equivalent for the part name
|
||||||
|
; Each line represents a list of equivalent component name values separated by white space
|
||||||
|
; e.g. 'c c_small cap' will ensure the equivalent capacitor symbols can be grouped together
|
||||||
|
; Aliases are case-insensitive
|
||||||
|
c c_small cap capacitor
|
||||||
|
r r_small res resistor
|
||||||
|
sw switch
|
||||||
|
l l_small inductor
|
||||||
|
zener zenersmall
|
||||||
|
d diode d_small
|
||||||
|
|
||||||
|
[REGEX_INCLUDE]
|
||||||
|
; A series of regular expressions used to include parts in the BoM
|
||||||
|
; If there are any regex defined here, only components that match against ANY of them will be included in the BOM
|
||||||
|
; Column names are case-insensitive
|
||||||
|
; Format is: "[ColumName] [Regex]" (white-space separated)
|
||||||
|
|
||||||
|
[REGEX_EXCLUDE]
|
||||||
|
; A series of regular expressions used to exclude parts from the BoM
|
||||||
|
; If a component matches ANY of these, it will be excluded from the BoM
|
||||||
|
; Column names are case-insensitive
|
||||||
|
; Format is: "[ColumName] [Regex]" (white-space separated)
|
||||||
|
References ^TP[0-9]*
|
||||||
|
References ^FID
|
||||||
|
Part mount.*hole
|
||||||
|
Part solder.*bridge
|
||||||
|
Part test.*point
|
||||||
|
Footprint test.*point
|
||||||
|
Footprint mount.*hole
|
||||||
|
Footprint fiducial
|
||||||
|
|
Loading…
Reference in New Issue