#!/bin/bash

set -euo pipefail

GERBERS_DIR="gerbers"

usage() {
    echo "Usage: $0 <kicad_pcb_file>"
    exit 1
}

PCB_FILE="$1"

mkdir -p "$GERBERS_DIR"

# export drill, front and back layers as gerber files
kicad-cli pcb export drill -o "$GERBERS_DIR" "$PCB_FILE"
kicad-cli pcb export gerbers -o "$GERBERS_DIR" -l Front "$PCB_FILE"
kicad-cli pcb export gerbers -o "$GERBERS_DIR" -l Back "$PCB_FILE"
kicad-cli pcb export gerbers -o "$GERBERS_DIR" -l Edge.Cuts "$PCB_FILE"

# Export outlines of the penelized boards only; Use the layer 'User.Eco1'.
python3 export_panel_outlines_gerber.py \
    --layers User.Eco1 \
    --output "$GERBERS_DIR" \
    "$PCB_FILE"

# set input filenames and all milling parameters in `millproject` config file
docker run --rm -i -t \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/data" \
    ptodorov/pcb2gcode