#!/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/ao-flash-stm ]; then
+ FLASH_STM=/usr/bin/ao-flash-stm
else
- echo "Can't find ao-load! Aborting."
+ echo "Can't find ao-flash-stm! 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 "TeleMetrum v1.0 Turn-On and Calibration Program"
-echo "Copyright 2010 by Bdale Garbee. Released under GPL v2"
+VERSION=3.0
+PRODUCT=TeleMetrum
+
+echo "$PRODUCT v$VERSION Turn-On and Calibration Program"
+echo "Copyright 2014 by Bdale Garbee. Released under GPL v2"
echo
echo "Expectations:"
-echo "\tTeleMetrum v1.0 powered from USB"
-echo "\t\twith TeleDongle (on /dev/ttyACM0) cabled to debug header"
+echo "\t$PRODUCT 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 "TeleMetrum serial number: "
-read SERIAL
+echo -n "$PRODUCT-$VERSION serial number: "
+
+case $# in
+ 1)
+ SERIAL="$1"
+ echo "$PRODUCT-$VERSION serial number: $SERIAL"
+ ;;
+ 0)
+ echo -n "$PRODUCT-$VERSION serial number: "
+ read SERIAL
+ ;;
+ *)
+ echo "Usage: $0 <serial-number>" 1>&2
+ exit 1;
+ ;;
+esac
+
+echo $FLASH_STM
+
+$FLASH_STM ~/altusmetrumllc/Binaries/loaders/telemetrum-v$VERSION-*.elf || exit 1
+
+sleep 3
-echo $RAWLOAD
+$USBLOAD --serial=$SERIAL ~/altusmetrumllc/Binaries/telemetrum-v$VERSION-*.elf || exit 1
-$RAWLOAD -r ao_led_blink.ihx
-echo "the red LED should be blinking"
sleep 5
-$RAWLOAD -r ao_radio_xmit.ihx
-echo -n "Generating RF carrier. Please enter measured frequency: "
-read FREQ
+dev=`ao-list | awk '/TeleMetrum-v'"$VERSION"'/ { print $3; exit(0); }'`
+
+case "$dev" in
+/dev/tty*)
+ echo "TeleMetrum found on $dev"
+ ;;
+*)
+ echo 'No TeleMetrum-v'"$VERSION"' found'
+ exit 1
+ ;;
+esac
+
+echo 'E 0' > $dev
+
+SERIAL=$SERIAL ./cal-freq $dev
+
+failed=1
+while [ $failed = 1 ]; do
+ ../ao-tools/ao-cal-accel/ao-cal-accel $dev
+ failed=$?
+done
-CAL_VALUE=`nickle -e "floor(434.55 / $FREQ * 1186611 + 0.5)"`
+echo 'E 1' > $dev
-echo "Programming flash with cal value " $CAL_VALUE
-$AOLOAD --cal $CAL_VALUE /usr/share/altos/telemetrum-v1.0.ihx $SERIAL
+./test-telemetrum
-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 $?