42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Find the COM port dynamically
|
|
COM_PORT=$(ls /dev/cu.usbmodem* 2>/dev/null | head -n 1)
|
|
|
|
# Check if a COM port was found
|
|
if [ -z "$COM_PORT" ]; then
|
|
echo "Error: No /dev/cu.usbmodem device found."
|
|
exit 1
|
|
else
|
|
echo "Using COM Port: $COM_PORT"
|
|
# Your script logic goes here, using $COM_PORT
|
|
# For example:
|
|
# minicom -D $COM_PORT
|
|
# screen $COM_PORT 9600
|
|
# echo -e "bootloader" > $COM_PORT
|
|
|
|
# sleep 1s
|
|
|
|
while getopts 'abc:h' opt; do
|
|
case "$opt" in
|
|
?|h)
|
|
echo "Usage: $(basename $0) crate_name"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
shift "$(($OPTIND -1))"
|
|
CRATE=$1
|
|
|
|
cargo build -p $CRATE --release
|
|
arm-none-eabi-objcopy -O ihex target/thumbv7em-none-eabihf/release/$CRATE target/$CRATE.hex
|
|
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0x0123 --application target/$CRATE.hex target/$CRATE.zip
|
|
# Use our custom reboot system to boot the controller into serial-only DFU mode.
|
|
# echo -e "bootloader" > $COM_PORT
|
|
# Wait for the reboot.
|
|
# sleep 1s
|
|
adafruit-nrfutil --verbose dfu serial -pkg target/$CRATE.zip -p $COM_PORT -b 115200 --singlebank
|
|
fi
|
|
|