X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-bringup%2Fturnon_telebt;h=3e9fddaa4da8203bf26350cf266b9730ccb02a14;hp=509814d367bac83dadc8ff7d239d15189c202be9;hb=6f729ff46b2f4531db68f0af85e7e9fe0f6d1969;hpb=ea1d24151cf76ae8f2368673317b66958e2508c4 diff --git a/ao-bringup/turnon_telebt b/ao-bringup/turnon_telebt index 509814d3..3e9fddaa 100755 --- a/ao-bringup/turnon_telebt +++ b/ao-bringup/turnon_telebt @@ -1,10 +1,10 @@ #!/bin/sh -if [ -x /usr/bin/ao-flash-stm ]; then - FLASH_STM=/usr/bin/ao-flash-stm +if [ -x /usr/bin/dfu-util ]; then + DFU_UTIL=/usr/bin/dfu-util else - echo "Can't find ao-flash-stm! Aborting." - exit 1 + echo "Can't find dfu-util! Aborting." + exit 1 fi if [ -x /usr/bin/ao-usbload ]; then @@ -14,47 +14,68 @@ else exit 1 fi -VERSION=3.0 +VERSION=4.0 REPO=~/altusmetrumllc/Binaries +PRODUCT=TeleBT -echo "TeleBT v$VERSION Turn-On and Calibration Program" -echo "Copyright 2015 by Bdale Garbee. Released under GPL v2" +echo "$PRODUCT v$VERSION Turn-On and Calibration Program" +echo "Copyright 2017 by Bdale Garbee. Released under GPL v3+" echo echo "Expectations:" -echo "\tTeleBT v$VERSION powered from USB" -echo "\t\twith ST-Link-V2 cabled to debug header" +echo "\t$PRODUCT v$VERSION attached by USB" echo "\t\twith coax from UHF to frequency counter" echo -echo -n "TeleBT-$VERSION serial number: " -read SERIAL -echo $FLASH_STM +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 -$FLASH_STM $REPO/loaders/telebt-v$VERSION*.elf || exit 1 +$DFU_UTIL -a 0 -s 0x08000000:leave -D $FLASH_FILE -sleep 5 +sleep 2 -$USBLOAD --serial=$SERIAL $REPO/telebt-v$VERSION*.elf || exit 1 +$USBLOAD --serial=$SERIAL $ALTOS_FILE || exit 1 -sleep 5 +sleep 3 -dev=`ao-list | awk '/TeleBT-v'"$VERSION"'/ { print $3; exit(0); }'` +dev=`ao-list | awk '/'"$PRODUCT"'-v'"$VERSION"'/ { print $3; exit(0); }'` case "$dev" in /dev/tty*) - echo "TeleBT found on $dev" + echo "$PRODUCT found on $dev" ;; *) - echo 'No TeleBT-v'"$VERSION"' found' + echo 'No '"$PRODUCT"'-v'"$VERSION"' found' exit 1 ;; esac +CALFILE=cal-$SERIAL.txt + echo 'E 0' > $dev -SERIAL=$SERIAL ./cal-freq $dev +../ao-tools/ao-cal-freq/ao-cal-freq --nosave --output=$CALFILE --tty=$dev + +# echo 'E 1' > $dev -echo 'E 1' > $dev +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 }'` @@ -65,6 +86,15 @@ else exit 1 fi -echo "TeleBT-v$VERSION $SERIAL is ready to ship" +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 "$PRODUCT-v$VERSION $SERIAL is ready to ship" exit $?