create gerber files in CI pipeline
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			This commit is contained in:
		
							parent
							
								
									8c775e9705
								
							
						
					
					
						commit
						8eb51b5aa9
					
				
					 7 changed files with 157 additions and 25 deletions
				
			
		
							
								
								
									
										2
									
								
								pcb/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								pcb/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -33,4 +33,4 @@ fp-info-cache | |||
| 
 | ||||
| *-bak | ||||
| gen/ | ||||
| gen.zip | ||||
| pcb.zip | ||||
|  |  | |||
							
								
								
									
										56
									
								
								pcb/Makefile
									
										
									
									
									
								
							
							
						
						
									
										56
									
								
								pcb/Makefile
									
										
									
									
									
								
							|  | @ -1,4 +1,54 @@ | |||
| all: | ||||
| .NOTPARALLEL:  gen/fab/fiatlux-F_Cu.gbr gen/fab/fiatlux-B_Cu.gbr gen/fab/fiatlux-F_Mask.gbr gen/fab/fiatlux-B_Mask.gbr  gen/fab/fiatlux-F_Paste.gbr gen/fab/fiatlux-B_Paste.gbr gen/fab/fiatlux-F_SilkS.gbr gen/fab/fiatlux-B_SilkS.gbr | ||||
| 
 | ||||
| all: test fab doc pcb.zip | ||||
| 
 | ||||
| pcb.zip: fab doc | ||||
| 	@mkdir -p gen | ||||
| 	@touch gen/foo | ||||
| 	@cd gen; zip ../gen.zip * | ||||
| 	@cd gen; zip -r ../pcb.zip fab.zip fiatlux.csv fiatlux-top-pos.csv fiatlux-front.svg fiatlux-back.svg fiatlux.pdf | ||||
| 	@cd gen; zip -r ../debug.zip . | ||||
| 
 | ||||
| test: gen/fiatlux-drc.txt gen/fiatlux-erc.txt | ||||
| 
 | ||||
| doc: gen/fiatlux.pdf gen/fiatlux-front.svg gen/fiatlux-back.svg | ||||
| 
 | ||||
| fab: test gen/fab.zip gen/fiatlux.csv gen/fiatlux-top-pos.csv | ||||
| 
 | ||||
| gen/fab.zip: gen/fab/fiatlux-F_Cu.gbr gen/fab/fiatlux-B_Cu.gbr gen/fab/fiatlux-F_Mask.gbr gen/fab/fiatlux-B_Mask.gbr | ||||
| gen/fab.zip: gen/fab/fiatlux-F_Paste.gbr gen/fab/fiatlux-B_Paste.gbr gen/fab/fiatlux-F_SilkS.gbr gen/fab/fiatlux-B_SilkS.gbr | ||||
| 	@mkdir -p gen/fab | ||||
| 	@cd gen/fab; zip -r ../fab.zip *.gbr | ||||
| 
 | ||||
| gen/fiatlux-erc.txt:  fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb | ||||
| 	@mkdir -p gen | ||||
| 	kibot -d gen -c fiatlux.kiplot.yaml -s update_xml,run_drc -i | ||||
| 
 | ||||
| gen/fiatlux-drc.txt:  fiatlux.kiplot.yaml fiatlux.pro fiatlux.sch | ||||
| 	@mkdir -p gen | ||||
| 	kibot -d gen -c fiatlux.kiplot.yaml -s update_xml,run_erc -i | ||||
| 
 | ||||
| gen/fab/%.gbr: fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb | ||||
| 	@mkdir -p gen | ||||
| 	kibot -d gen -c fiatlux.kiplot.yaml -s all print_front gerbers | ||||
| 
 | ||||
| gen/fiatlux-top-pos.csv: fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb | ||||
| 	@mkdir -p gen | ||||
| 	kibot -d gen -c fiatlux.kiplot.yaml -s all print_front position | ||||
| 
 | ||||
| gen/fiatlux.csv: fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb | ||||
| 	@mkdir -p gen | ||||
| 	kibot -d gen -c fiatlux.kiplot.yaml -s all print_front bom | ||||
| 
 | ||||
| gen/fiatlux.pdf: fiatlux.kiplot.yaml fiatlux.pro fiatlux.sch | ||||
| 	@mkdir -p gen | ||||
| 	kibot -d gen -c fiatlux.kiplot.yaml -s run_drc,run_erc print_sch | ||||
| 
 | ||||
| gen/fiatlux-front.svg: fiatlux.kicad_pcb | ||||
| 	@mkdir -p gen | ||||
| 	pcbdraw --libs default $< $@ | ||||
| 
 | ||||
| gen/fiatlux-back.svg: fiatlux.kicad_pcb | ||||
| 	@mkdir -p gen | ||||
| 	pcbdraw --libs default --back $< $@ | ||||
| 
 | ||||
| clean: | ||||
| 	@rm -rf gen | ||||
|  | @ -13,20 +13,39 @@ preflight: | |||
| #   kiauto_wait_start: 60 | ||||
| #   kiauto_time_out_scale: 2 | ||||
| 
 | ||||
| filters: | ||||
|   - name: fix_rotation | ||||
|     comment: 'Adjust rotation for JLC' | ||||
|     type: rot_footprint | ||||
| 
 | ||||
|   - 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: fix_rotation | ||||
| 
 | ||||
| outputs: | ||||
|   - name: 'print_sch' | ||||
|     comment: "Print schematic (PDF)" | ||||
|     type: pdf_sch_print | ||||
|     dir: . | ||||
|     options: | ||||
|       output: Schematic.pdf | ||||
|       output: fiatlux.pdf | ||||
| 
 | ||||
|   - name: 'print_front' | ||||
|     comment: "Print F.Cu+Dwgs.User" | ||||
|     type: pdf_pcb_print | ||||
|     dir: . | ||||
|     options: | ||||
|       output_name: PCB_Top.pdf | ||||
|       output_name: fiatlux-top.pdf | ||||
|     layers: | ||||
|       - layer: B.Cu | ||||
|       - layer: F.SilkS | ||||
|  | @ -34,7 +53,7 @@ outputs: | |||
|   - name: 'gerbers' | ||||
|     comment: "Gerbers for the board house" | ||||
|     type: gerber | ||||
|     dir: Gerbers | ||||
|     dir: fab | ||||
|     options: | ||||
|       # generic layer options | ||||
|       exclude_edge_layer: true | ||||
|  | @ -56,11 +75,65 @@ outputs: | |||
|       use_gerber_net_attributes: true | ||||
| 
 | ||||
|     layers: | ||||
|       - layer: F.Cu | ||||
|         suffix: F_Cu | ||||
|       - layer: B.Cu | ||||
|         suffix: B_Cu | ||||
|       - layer: F.SilkS | ||||
|         suffix: F_SilkS | ||||
|       - layer: B.SilkS | ||||
|         suffix: B_SilkS | ||||
|       - layer: F.Paste | ||||
|         suffix: F_Paste | ||||
|       - layer: B.Paste | ||||
|         suffix: B_Paste | ||||
|       - layer: F.Mask | ||||
|         suffix: F_Mask | ||||
|       - layer: B.Mask | ||||
|         suffix: B_Mask | ||||
|       - layer: Edge.Cuts | ||||
|         suffix: Edge_Cuts | ||||
| 
 | ||||
|   - name: 'position' | ||||
|     comment: "Pick and place file, JLC style" | ||||
|     type: position | ||||
|     options: | ||||
|       variant: rotated | ||||
|       output: '%f-top-pos.%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: 'bom' | ||||
|     comment: "BoM for JLC" | ||||
|     type: bom | ||||
|     options: | ||||
|       output: '%f.%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 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue