-
Notifications
You must be signed in to change notification settings - Fork 45
Expand file tree
/
Copy pathbuild_all.sh
More file actions
executable file
·60 lines (46 loc) · 1.71 KB
/
build_all.sh
File metadata and controls
executable file
·60 lines (46 loc) · 1.71 KB
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
#!/bin/bash
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
FW_DIR="$SCRIPT_DIR/firmware"
BUILD_DIR="$SCRIPT_DIR/build"
# Extract version from usb_config.h
FW_VERSION=$(grep '#define VERSION' "$SCRIPT_DIR/src/usb_config.h" | sed 's/.*"\(.*\)"/\1/' | sed 's/USBvalve - //')
echo "Firmware version: $FW_VERSION"
mkdir -p "$FW_DIR"
build() {
local name="$1"
shift
echo "=========================================="
echo "Building: $name"
echo "CMake args: $@"
echo "=========================================="
rm -rf "$BUILD_DIR"
mkdir "$BUILD_DIR"
cd "$BUILD_DIR"
cmake "$@" ..
make -j$(nproc)
cp src/USBvalve.uf2 "$FW_DIR/${name}.uf2"
echo "-> $FW_DIR/${name}.uf2"
echo ""
}
build "USBvalve-${FW_VERSION}-pico1-oled32" \
-DPICO_BOARD=pico -DOLED_HEIGHT=32
build "USBvalve-${FW_VERSION}-pico1-oled64" \
-DPICO_BOARD=pico -DOLED_HEIGHT=64
build "USBvalve-${FW_VERSION}-pico1-oled32-bootsel" \
-DPICO_BOARD=pico -DOLED_HEIGHT=32 -DUSE_BOOTSEL=1
build "USBvalve-${FW_VERSION}-pico1-oled64-bootsel" \
-DPICO_BOARD=pico -DOLED_HEIGHT=64 -DUSE_BOOTSEL=1
build "USBvalve-${FW_VERSION}-pico2-oled32" \
-DPICO_BOARD=pico2 -DOLED_HEIGHT=32
build "USBvalve-${FW_VERSION}-pico2-oled64" \
-DPICO_BOARD=pico2 -DOLED_HEIGHT=64
build "USBvalve-${FW_VERSION}-pico2-oled32-bootsel" \
-DPICO_BOARD=pico2 -DOLED_HEIGHT=32 -DUSE_BOOTSEL=1
build "USBvalve-${FW_VERSION}-pico2-oled64-bootsel" \
-DPICO_BOARD=pico2 -DOLED_HEIGHT=64 -DUSE_BOOTSEL=1
build "USBvalve-${FW_VERSION}-pico1-piwatch-bootsel" \
-DPICO_BOARD=pico -DPIWATCH=1 -DUSE_BOOTSEL=1
echo "=========================================="
echo "All builds complete. Firmware files:"
ls -la "$FW_DIR"/*.uf2