summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build.sh')
-rw-r--r--build.sh63
1 files changed, 63 insertions, 0 deletions
diff --git a/build.sh b/build.sh
new file mode 100644
index 0000000..3745a7c
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+
+set -e
+
+# ========= CONFIG =========
+PORT="/dev/ttyACM0"
+
+FQBN="esp32:esp32:esp32s3:\
+UploadSpeed=921600,\
+USBMode=hwcdc,\
+CDCOnBoot=default,\
+MSCOnBoot=default,\
+DFUOnBoot=default,\
+UploadMode=default,\
+CPUFreq=240,\
+FlashMode=qio,\
+FlashSize=16M,\
+PartitionScheme=fatflash,\
+DebugLevel=none,\
+PSRAM=opi,\
+LoopCore=1,\
+EventsCore=1,\
+EraseFlash=none,\
+JTAGAdapter=default,\
+ZigbeeMode=default"
+
+# ========= FLAGS =========
+UPLOAD=false
+SKETCH_PATH="./firmware"
+
+while [[ $# -gt 0 ]]; do
+ case "$1" in
+ -u|--upload)
+ UPLOAD=true
+ shift
+ ;;
+ *)
+ SKETCH_PATH="$1"
+ shift
+ ;;
+ esac
+done
+
+# ========= BUILD =========
+echo "Compiling sketch..."
+
+arduino-cli compile \
+ --fqbn "$FQBN" \
+ "$SKETCH_PATH"
+
+echo "Compile successful."
+
+# ========= UPLOAD =========
+if [ "$UPLOAD" = true ]; then
+ echo "Uploading to $PORT..."
+
+ arduino-cli upload \
+ -p "$PORT" \
+ --fqbn "$FQBN" \
+ "$SKETCH_PATH"
+
+ echo "Upload complete."
+fi