mirror of
https://github.com/LIV2/GottaGoFaZt3r.git
synced 2025-12-06 00:32:44 +00:00
Add Kibot automation
This commit is contained in:
parent
4cc533e5ae
commit
e73d2a81aa
4
Kicad/.gitignore
vendored
4
Kicad/.gitignore
vendored
@ -4,6 +4,7 @@
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*-bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
@ -15,6 +16,9 @@ _autosave-*
|
||||
*-save.pro
|
||||
*-save.kicad_pcb
|
||||
fp-info-cache
|
||||
*-erc.txt
|
||||
*-drc.txt
|
||||
kibot_errors.filter
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
30
Kicad/Makefile
Normal file
30
Kicad/Makefile
Normal file
@ -0,0 +1,30 @@
|
||||
PROJECT=GottaGoFaSDZ3
|
||||
KIBOT_CONF=./kibot/release.kibot.yaml
|
||||
GERBER_OUTPUT=../Gerbers
|
||||
|
||||
DRILLS=$(GERBER_OUTPUT)/$(PROJECT)-NPTH.drl $(GERBER_OUTPUT)/$(PROJECT)-PTH.drl
|
||||
|
||||
GERBERS=$(GERBER_OUTPUT)/$(PROJECT)-B_Cu.gbr $(GERBER_OUTPUT)/$(PROJECT)-B_Mask.gbr $(GERBER_OUTPUT)/$(PROJECT)-B_Silkscreen.gbr $(GERBER_OUTPUT)/$(PROJECT)-Edge_Cuts.gbr $(GERBER_OUTPUT)/$(PROJECT)-F_Cu.gbr $(GERBER_OUTPUT)/$(PROJECT)-F_Mask.gbr $(GERBER_OUTPUT)/$(PROJECT)-F_Silkscreen.gbr $(GERBER_OUTPUT)/$(PROJECT)-F_Paste.gbr $(GERBER_OUTPUT)/$(PROJECT)-B_Paste.gbr $(DRILLS)
|
||||
|
||||
JLCPCB=$(GERBER_OUTPUT)/$(PROJECT)_bom_jlc.csv $(GERBER_OUTPUT)/$(PROJECT)_cpl_jlc.csv
|
||||
.PHONY: release
|
||||
|
||||
|
||||
all: $(GERBERS) $(JLCPCB) ../Docs/Schematic.pdf ../ibom/$(PROJECT)-ibom.html
|
||||
|
||||
schematic: ../Docs/Schematic.pdf
|
||||
gerbers: $(GERBERS)
|
||||
jlcpcb: $(JLCPCB)
|
||||
ibom: ../ibom/$(PROJECT)-ibom.html
|
||||
|
||||
$(GERBERS) ../Docs/PCB.png: $(PROJECT).kicad_pcb
|
||||
kibot -c $(KIBOT_CONF) Gerbers Drills Image
|
||||
|
||||
$(JLCPCB): $(PROJECT).kicad_pcb $(PROJECT).kicad_sch
|
||||
kibot -c $(KIBOT_CONF) JLCPCB_position JLCPCB_bom
|
||||
|
||||
../Docs/Schematic.pdf: $(PROJECT).kicad_sch
|
||||
kibot -s all -c $(KIBOT_CONF) Schematic
|
||||
|
||||
../ibom/$(PROJECT)-ibom.html: $(PROJECT).kicad_pcb
|
||||
kibot -s all -c $(KIBOT_CONF) IBOM
|
||||
176
Kicad/kibot/release.kibot.yaml
Normal file
176
Kicad/kibot/release.kibot.yaml
Normal file
@ -0,0 +1,176 @@
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
filters:
|
||||
- name: 'exclude_tht'
|
||||
type: 'generic'
|
||||
comment: 'Exclude thru-hole parts'
|
||||
exclude_tht: true
|
||||
- name: 'fix_rotation'
|
||||
comment: 'Adjust rotation for JLC'
|
||||
type: rot_footprint
|
||||
rotations:
|
||||
- ["^TSOP-II", 270.0]
|
||||
- ["^SOT-89", 180.0]
|
||||
|
||||
|
||||
variants:
|
||||
- name: rotated
|
||||
comment: 'Just a place holder for the rotation filter'
|
||||
type: kibom
|
||||
variant: rotated
|
||||
pre_transform: 'fix_rotation'
|
||||
|
||||
preflight:
|
||||
check_zone_fills: true
|
||||
fill_zones: false
|
||||
run_drc: true
|
||||
run_erc: true
|
||||
update_xml: true
|
||||
ignore_unconnected: true
|
||||
filters:
|
||||
- error: 'pin_not_connected'
|
||||
filter: 'Pin not connected'
|
||||
- error: 'silk_overlap'
|
||||
filter: 'Silkscreen overlap'
|
||||
- error: 'pin_not_driven'
|
||||
filter: 'Input pin not driven by output'
|
||||
regex: 'Input pin not driven by any Output pins'
|
||||
|
||||
outputs:
|
||||
- name: Gerbers
|
||||
comment: "Generate gerber files"
|
||||
type: gerber
|
||||
dir: '../Gerbers'
|
||||
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: false
|
||||
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: '.gbr'
|
||||
use_aux_axis_as_origin: true
|
||||
|
||||
layers:
|
||||
- F.Cu
|
||||
- B.Cu
|
||||
- In1.Cu
|
||||
- In2.Cu
|
||||
- F.SilkS
|
||||
- B.SilkS
|
||||
- F.Paste
|
||||
- B.Paste
|
||||
- F.Mask
|
||||
- B.Mask
|
||||
- Edge.Cuts
|
||||
|
||||
- name: Drills
|
||||
comment: Drill files
|
||||
type: excellon
|
||||
dir: '../Gerbers'
|
||||
options:
|
||||
pth_id: '-PTH'
|
||||
npth_id: '-NPTH'
|
||||
metric_units: true
|
||||
route_mode_for_oval_holes: false
|
||||
pth_and_npth_single_file: false
|
||||
use_aux_axis_as_origin: true
|
||||
output: "%f%i.%x"
|
||||
|
||||
- name: Schematic
|
||||
comment: "Output PDF Schematic"
|
||||
type: pdf_sch_print
|
||||
options:
|
||||
frame: true
|
||||
output: "../Docs/Schematic.pdf"
|
||||
|
||||
- name: IBOM
|
||||
type: ibom
|
||||
comment: "Generate HTML Interactive BOM"
|
||||
dir: ../ibom
|
||||
options:
|
||||
output: 'ibom.html'
|
||||
include_tracks: true
|
||||
layer_view: FB
|
||||
blacklist: 'CN1,J1'
|
||||
highlight_pin1: true
|
||||
include_nets: true
|
||||
dark_mode: true
|
||||
|
||||
- name: 3dImage
|
||||
type: render_3d
|
||||
comment: "3D Render"
|
||||
run_by_default: true
|
||||
options:
|
||||
ray_tracing: false
|
||||
output: ../Docs/PCB.png
|
||||
zoom: 8
|
||||
view: top
|
||||
no_tht: true
|
||||
orthographic: true
|
||||
download: false
|
||||
width: 1300
|
||||
height: 530
|
||||
|
||||
- name: Image
|
||||
type: pcbdraw
|
||||
comment: "Draw PCB"
|
||||
options:
|
||||
output: ../Docs/PCB.png
|
||||
format: png
|
||||
show_components: none
|
||||
|
||||
- name: 'JLCPCB_position'
|
||||
comment: "Pick and place file, JLCPCB style"
|
||||
type: position
|
||||
options:
|
||||
variant: rotated
|
||||
output: '../Gerbers/%f_cpl_jlc.%x'
|
||||
format: CSV
|
||||
units: millimeters
|
||||
separate_files_for_front_and_back: false
|
||||
use_aux_axis_as_origin: true
|
||||
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: '../Gerbers/%f_%i_jlc.%x'
|
||||
exclude_filter: 'exclude_tht'
|
||||
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
|
||||
Loading…
x
Reference in New Issue
Block a user