X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-bringup%2Fturnon_teledongle;h=0cdbde7a5973e37830e775ed677da6a0a66b503b;hp=ddee5ee81e6fc89091c838554c6b6b5371b421b6;hb=26f2727eac0cca8930dde9d757bc094f73801859;hpb=403b95ee27782309b564855b85285c9f5f5c7068 diff --git a/ao-bringup/turnon_teledongle b/ao-bringup/turnon_teledongle index ddee5ee8..0cdbde7a 100755 --- a/ao-bringup/turnon_teledongle +++ b/ao-bringup/turnon_teledongle @@ -1,49 +1,102 @@ #!/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 ../ao-tools/ao-flash/ao-flash-lpc ]; then + FLASH_LPC=../ao-tools/ao-flash/ao-flash-lpc +elif [ -x /usr/bin/ao-flash-lpc ]; then + FLASH_LPC=/usr/bin/ao-flash-lpc else - echo "Can't find ao-load! Aborting." + echo "Can't find ao-flash-lpc! 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 "TeleDongle v0.2 Turn-On and Calibration Program" -echo "Copyright 2010 by Bdale Garbee. Released under GPL v2" +PRODUCT=teledongle +PRODUCT_NAME=TeleDongle +VERSION=3.0 + +echo "$PRODUCT_NAME v$VERSION Turn-On and Calibration Program" +echo "Copyright © 2015 by Bdale Garbee. Released under GPL v2" echo echo "Expectations:" -echo "\tTeleDongle v0.2 powered from USB" -echo "\t\twith TIdongle (on /dev/ttyACM0) cabled to debug header" -echo "\t\twith coax from SMA to frequency counter" +echo "\t$PRODUCT_NAME v$VERSION powered from USB" +echo "\t\twith ST-Link-V2 cabled to debug header" +echo "\t\twith coax from UHF to frequency counter" echo -echo -n "TeleDongle 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 + +BINARIES=$HOME/altusmetrumllc/Binaries + +LOADER="$BINARIES/loaders/$PRODUCT-v$VERSION-"*.elf +ALTOS="$BINARIES/$PRODUCT-v$VERSION"*.elf + +$FLASH_LPC $LOADER || exit 1 + +sleep 2 + +$USBLOAD --serial=$SERIAL $ALTOS || exit 1 -$RAWLOAD -D 100 -r ao_led_blink.ihx -echo "LEDs should be blinking" sleep 5 -$RAWLOAD -D 100 -r ao_radio_xmit.ihx -echo -n "Generating RF carrier. Please enter measured frequency: " -read FREQ +dev=`ao-list | awk '/TeleDongle-v'"$VERSION"'/ { print $3; exit(0); }'` + +case "$dev" in +/dev/tty*) + echo "TeleDongle found on $dev" + ;; +*) + echo 'No TeleDongle-v'"$VERSION"' found' + exit 1 + ;; +esac + +echo 'E 0' > $dev + +SERIAL=$SERIAL ./cal-freq $dev + +case $? in + 0) + ;; + *) + echo "Frequency calibration failed" + exit 1 + ;; +esac + +CAL_VALUE=`grep "^$SERIAL," cal_values | tail -1 | sed 's/^[^,]*,//'` + +case "$CAL_VALUE" in + [1-9]*) + ;; + *) + echo "Invalid calibration value: $CAL_VALUE" + exit 1 + ;; +esac + +echo "Reflashing with calibration: $CAL_VALUE" -CAL_VALUE=`nickle -e "floor(434.55 / $FREQ * 1186611 + 0.5)"` +$USBLOAD --cal=$CAL_VALUE --tty=$dev $ALTOS || exit 1 -echo "Programming flash with cal value " $CAL_VALUE -$AOLOAD -D 100 --cal $CAL_VALUE /usr/share/altos/teledongle-v0.2*.ihx $SERIAL +echo "$PRODUCT_NAME-v$VERSION $SERIAL is ready to ship" -echo "Serial number "$SERIAL" programmed with RF cal value "$CAL_VALUE -echo $SERIAL","$CAL_VALUE >> cal_values -echo "Unplug and replug USB, cu to the board, confirm freq and record power" +exit $?