From abd703037b6579b3856ea61e7d417002eeba9fde Mon Sep 17 00:00:00 2001 From: Marco Massarelli Date: Thu, 11 May 2023 16:44:32 -0400 Subject: [PATCH] Update build.sh to product plates --- build.sh | 60 +++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/build.sh b/build.sh index 5ca55c5..c3c2927 100755 --- a/build.sh +++ b/build.sh @@ -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 \ No newline at end of file