blob: 1c5f99ea941b5f3f6a8812331e2864ba37d5a844 (
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#!/bin/sh
MOUNT=/mnt/sd
REPO=$(realpath ..)
CPY=
CONFIG=
TTY=
UF2_DISK=
CPY_DISK=
set -e
while test $# -gt 0
do
case "$1" in
--cpy)
CPY=1
;;
--config=*)
CONFIG="${1#*=}"
;;
--uf2-disk=*)
UF2_DISK="${1#*=}"
;;
--cpy-disk=*)
CPY_DISK="${1#*=}"
;;
--help)
echo "USAGE:"
echo " --cpy (also) flash circuitpython"
echo " --uf2-disk=/dev/sda1 path to UF2 bootloader disk for flashing CPy"
echo " --cpy-disk=/dev/sda1 path to CircuitPython code disk for flashing firmware"
echo " --config=config.testing.py copy a different config"
echo " --tty open tty in tio"
exit
;;
esac
shift
done
wait_disk() {
echo "Waiting for disk(s) $@..." >&2
while true; do
for disk in "$@"; do
if [ -e "$disk" ]; then
echo "found $disk" >&2
echo "$disk"
return
fi
done
sleep 1
done
}
if [ -n "$CPY" ]; then
[ -z "$UF2_DISK"] && UF2_DISK=$(wait_disk /dev/disk/by-label/RPI-RP2)
sudo mount "$UF2_DISK" $MOUNT -o sync,rw,uid=$(id -u),gid=$(id -g)
echo -n "flashing CircuitPython..."
cp adafruit-circuitpython-solderparty_rp2040_stamp-en_US-*.uf2 $MOUNT/
echo " done"
echo
fi
[ -z "$CPY_DISK" ] && CPY_DISK=$(wait_disk /dev/disk/by-label/{CIRCUITPY,HEX33BOARD})
sudo mount "$CPY_DISK" $MOUNT -o sync,rw,uid=$(id -u),gid=$(id -g)
echo -n "copying Code..."
rsync -r $REPO/* $MOUNT/
echo " done"
echo
if [ -n "$CONFIG" ]; then
echo "copying config $CONFIG..."
cp $CONFIG $MOUNT/config.py
echo " done"
echo
fi
echo -n "installing libs..."
circup --path $MOUNT install -r $MOUNT/requirements.txt
echo " done"
echo
if [ -n "$TTY" ]; then
echo "opening" /dev/ttyACM*
exec tio /dev/ttyACM*
fi
|