Update build.sh to product plates

This commit is contained in:
Marco Massarelli 2023-05-11 16:44:32 -04:00
parent f1e5023e60
commit abd703037b
1 changed files with 42 additions and 18 deletions

View File

@ -10,31 +10,55 @@ rm -rf ergogen/output
# Generate unrouted PCBs with Ergogen (definition in package.json)
npm run gen
# Define the boards to autoroute and export
boards=corney_island
# Define the boards to autoroute and export, and the plates
boards="corney_island"
plates="backplate frontplate controller_overlay"
# Define the fabrication profile and additional flags
fab=jlcpcb
flags=--no-assembly
for board in ${boards};
# Define the pcbdraw style
pcbdraw_style=set-black-hasl
for plate in ${plates}
do
echo Processing $board
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /bin/sh -c "mkdir -p $HOME/.config/kicad; cp /root/.config/kicad/* $HOME/.config/kicad"
echo Export DSN
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/export_dsn.py ergogen/output/pcbs/${boards}.kicad_pcb ergogen/output/pcbs/${boards}.dsn
echo Autoroute PCB
${container_cmd} run ${container_args} soundmonster/freerouting_cli:v0.1.0 java -jar /opt/freerouting_cli.jar -de ergogen/output/pcbs/${board}.dsn -do ergogen/output/pcbs/${board}.ses
echo "Import SES"
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/import_ses.py ergogen/output/pcbs/${boards}.kicad_pcb ergogen/output/pcbs/${boards}.ses --output-file ergogen/output/pcbs/${boards}_routed.kicad_pcb
echo "DRC check"
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/run_drc.py $GITHUB_WORKSPACE/ergogen/output/pcbs/${board}_routed.kicad_pcb $GITHUB_WORKSPACE/ergogen/output/pcbs/${board}_drc/
echo "\n\n>>>>>> Processing $plate <<<<<<\n\n"
echo "Export Gerbers"
mkdir -p ergogen/output/gerbers/${board}
${container_cmd} run ${container_args} yaqwsx/kikit:v0.7 kikit fab ${fab} ${flags} ergogen/output/pcbs/${board}_routed.kicad_pcb ergogen/output/gerbers/${board}
mv ergogen/output/gerbers/${board}/gerbers.zip ergogen/output/gerbers/${board}.zip
mkdir -p ergogen/output/gerbers/${plate}
${container_cmd} run ${container_args} yaqwsx/kikit:v1.1.2 kikit fab ${fab} ${flags} --no-drc ergogen/output/pcbs/${plate}.kicad_pcb ergogen/output/gerbers/${plate}
mv ergogen/output/gerbers/${plate}/gerbers.zip ergogen/output/gerbers/${plate}.zip
echo "Generate PCB images"
mkdir -p ergogen/output/images
${container_cmd} run ${container_args} yaqwsx/kikit:v0.7 pcbdraw --style builtin:set-black-hasl.json ergogen/output/pcbs/${board}_routed.kicad_pcb ergogen/output/images/${board}_front.png
${container_cmd} run ${container_args} yaqwsx/kikit:v0.7 pcbdraw -b --style builtin:set-black-hasl.json ergogen/output/pcbs/${board}_routed.kicad_pcb ergogen/output/images/${board}_back.png
${container_cmd} run ${container_args} yaqwsx/kikit:v1.1.2 pcbdraw plot --style ${pcbdraw_style} ergogen/output/pcbs/${plate}.kicad_pcb ergogen/output/images/${plate}.svg
done
for board in ${boards}
do
echo "\n\n>>>>>> Processing $board <<<<<<\n\n"
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /bin/sh -c "mkdir -p $HOME/.config/kicad; cp /root/.config/kicad/* $HOME/.config/kicad"
if [ -e ergogen/output/pcbs/${board}.kicad_pcb ]; then
echo Export DSN
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/export_dsn.py ergogen/output/pcbs/${board}.kicad_pcb ergogen/output/pcbs/${board}.dsn
fi
if [ -e ergogen/output/pcbs/${board}.dsn ]; then
echo Autoroute PCB
${container_cmd} run ${container_args} soundmonster/freerouting_cli:v0.1.0 java -jar /opt/freerouting_cli.jar -de ergogen/output/pcbs/${board}.dsn -do ergogen/output/pcbs/${board}.ses
fi
if [ -e ergogen/output/pcbs/${board}.ses ]; then
echo "Import SES"
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/import_ses.py ergogen/output/pcbs/${board}.kicad_pcb ergogen/output/pcbs/${board}.ses --output-file ergogen/output/pcbs/${board}_routed.kicad_pcb
fi
if [ -e ergogen/output/pcbs/${board}_routed.kicad_pcb ]; then
echo "DRC check"
${container_cmd} run ${container_args} soundmonster/kicad-automation-scripts:latest /usr/lib/python2.7/dist-packages/kicad-automation/pcbnew_automation/run_drc.py $GITHUB_WORKSPACE/ergogen/output/pcbs/${board}_routed.kicad_pcb $GITHUB_WORKSPACE/ergogen/output/pcbs/${board}_drc/
echo "Export Gerbers"
mkdir -p ergogen/output/gerbers/${board}
${container_cmd} run ${container_args} yaqwsx/kikit:v0.7 kikit fab ${fab} ${flags} ergogen/output/pcbs/${board}_routed.kicad_pcb ergogen/output/gerbers/${board}
mv ergogen/output/gerbers/${board}/gerbers.zip ergogen/output/gerbers/${board}.zip
echo "Generate PCB images"
mkdir -p ergogen/output/images
${container_cmd} run ${container_args} yaqwsx/kikit:v0.7 pcbdraw --style builtin:${pcbdraw_style}.json ergogen/output/pcbs/${board}_routed.kicad_pcb ergogen/output/images/${board}_front.png
${container_cmd} run ${container_args} yaqwsx/kikit:v0.7 pcbdraw -b --style builtin:${pcbdraw_style}.json ergogen/output/pcbs/${board}_routed.kicad_pcb ergogen/output/images/${board}_back.png
fi
done