X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-bringup%2Fturnon_teledongle;h=0cdbde7a5973e37830e775ed677da6a0a66b503b;hp=1786f25134b737bcadb7f664d49e7a57648b6ea8;hb=26f2727eac0cca8930dde9d757bc094f73801859;hpb=a1478f65538fdaac7b58ffbd958a035b74956099 diff --git a/ao-bringup/turnon_teledongle b/ao-bringup/turnon_teledongle index 1786f251..0cdbde7a 100755 --- a/ao-bringup/turnon_teledongle +++ b/ao-bringup/turnon_teledongle @@ -1,28 +1,102 @@ #!/bin/sh -echo "TeleDongle v0.2 Turn-On and Calibration Program" -echo "Copyright 2010 by Bdale Garbee. Released under GPL v2" +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-flash-lpc! Aborting." + exit 1 +fi + +if [ -x /usr/bin/ao-usbload ]; then + USBLOAD=/usr/bin/ao-usbload +else + echo "Can't find ao-usbload! Aborting." + exit 1 +fi + +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 -../ao-tools/ao-rawload/ao-rawload -r ao_led_blink.ihx -echo "LEDs should be blinking" +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 + sleep 5 -../ao-tools/ao-rawload/ao-rawload -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 "ceil(434.55 / $FREQ * 1186611)"` +$USBLOAD --cal=$CAL_VALUE --tty=$dev $ALTOS || exit 1 -echo "Programming flash with cal value " $CAL_VALUE -ao-load --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 "Unplug and replug USB, cu to the board, confirm freq and record power" +exit $?