summaryrefslogtreecommitdiff
path: root/build.sh
blob: 3745a7c8ce200d6818f5a4a1bb2645b18142fc1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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