X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-bringup%2Fturnon_telebt;h=3e9fddaa4da8203bf26350cf266b9730ccb02a14;hp=3b8bd3e449fbd654b4e944dcc3c17754b6b74a7d;hb=34b5144dbfd565ee2b9fb1e0dff388a49253f93b;hpb=c360e5c04e30421e9ea2f7006b7d35aef35f1edd diff --git a/ao-bringup/turnon_telebt b/ao-bringup/turnon_telebt index 3b8bd3e4..3e9fddaa 100755 --- a/ao-bringup/turnon_telebt +++ b/ao-bringup/turnon_telebt @@ -1,48 +1,100 @@ #!/bin/sh -if [ -x ../ao-tools/ao-load/ao-load ]; then - AOLOAD=../ao-tools/ao-load/ao-load -elif [ -x /usr/bin/ao-load ]; then - AOLOAD=/usr/bin/ao-load +if [ -x /usr/bin/dfu-util ]; then + DFU_UTIL=/usr/bin/dfu-util else - echo "Can't find ao-load! Aborting." - exit 1 + echo "Can't find dfu-util! Aborting." + exit 1 fi -if [ -x ../ao-tools/ao-rawload/ao-rawload ]; then - RAWLOAD=../ao-tools/ao-rawload/ao-rawload -elif [ -x /usr/bin/ao-rawload ]; then - RAWLOAD=/usr/bin/ao-rawload +if [ -x /usr/bin/ao-usbload ]; then + USBLOAD=/usr/bin/ao-usbload else - echo "Can't find ao-rawload! Aborting." + echo "Can't find ao-usbload! Aborting." exit 1 fi -echo "TeleBT v0.1 Turn-On and Calibration Program" -echo "Copyright 2011 by Bdale Garbee. Released under GPL v2" +VERSION=4.0 +REPO=~/altusmetrumllc/Binaries +PRODUCT=TeleBT + +echo "$PRODUCT v$VERSION Turn-On and Calibration Program" +echo "Copyright 2017 by Bdale Garbee. Released under GPL v3+" echo echo "Expectations:" -echo "\tTeleBT v0.1 powered from USB" -echo "\t\twith TeleDonle (on /dev/ttyACM0) cabled to debug header" -echo "\t\twith coax from SMA to frequency counter" +echo "\t$PRODUCT v$VERSION attached by USB" +echo "\t\twith coax from UHF to frequency counter" echo -echo -n "TeleBT serial number: " -read SERIAL -echo $RAWLOAD +case $# in + 1) + SERIAL="$1" + echo "$PRODUCT-$VERSION serial number: $SERIAL" + ;; + 0) + echo -n "$PRODUCT-$VERSION serial number: " + read SERIAL + ;; + *) + echo "Usage: $0 " 1>&2 + exit 1; + ;; +esac + +FLASH_FILE=$REPO/loaders/telebt-v$VERSION-altos-flash-*.bin +ALTOS_FILE=$REPO/telebt-v$VERSION-*.elf + +$DFU_UTIL -a 0 -s 0x08000000:leave -D $FLASH_FILE + +sleep 2 + +$USBLOAD --serial=$SERIAL $ALTOS_FILE || exit 1 + +sleep 3 + +dev=`ao-list | awk '/'"$PRODUCT"'-v'"$VERSION"'/ { print $3; exit(0); }'` + +case "$dev" in +/dev/tty*) + echo "$PRODUCT found on $dev" + ;; +*) + echo 'No '"$PRODUCT"'-v'"$VERSION"' found' + exit 1 + ;; +esac + +CALFILE=cal-$SERIAL.txt + +echo 'E 0' > $dev + +../ao-tools/ao-cal-freq/ao-cal-freq --nosave --output=$CALFILE --tty=$dev -$RAWLOAD -D 100 -r ao_led_blink.ihx -echo "LEDs should be blinking" -sleep 5 +# echo 'E 1' > $dev -$RAWLOAD -D 100 -r ao_radio_xmit.ihx -echo -n "Generating RF carrier. Please enter measured frequency: " -read FREQ +CAL_VALUE=`cat $CALFILE` +echo $SERIAL","$CAL_VALUE >> cal_values +echo "Reflashing with calibration: $CAL_VALUE" +$USBLOAD --cal=$CAL_VALUE --tty=$dev $ALTOS_FILE || exit 1 + +echo -n "checking BlueTooth functionality... " +btdev=`hcitool scan | awk -F \- '/TeleBT/ { print $2 }'` +if [ "$btdev" = "$SERIAL" ]; then + echo "working!" +else + echo "device not found" + exit 1 +fi -CAL_VALUE=`nickle -e "floor(434.55 / $FREQ * 1186611 + 0.5)"` +echo -n "checking BTLE functionality... " +btdev=`sudo timeout -s SIGINT 5s hcitool lescan | awk -F \- '/TeleBT/ { print $2 }' | head -n 1` +if [ "$btdev" = "$SERIAL" ]; then + echo "working!" +else + echo "device not found" + exit 1 +fi -echo "Programming flash with cal value " $CAL_VALUE -$AOLOAD -D 100 --cal $CAL_VALUE /usr/share/altos/telebt-v0.1*.ihx $SERIAL +echo "$PRODUCT-v$VERSION $SERIAL is ready to ship" -echo "Serial number "$SERIAL" programmed with RF cal value "$CAL_VALUE -echo "Unplug and replug USB, cu to the board, confirm freq and record power" +exit $?