64 lines
1.0 KiB
Bash
64 lines
1.0 KiB
Bash
#!/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
|