altos/test: Adjust CRC error rate after FEC fix
[fw/altos] / ao-bringup / turnon_telebt
1 #!/bin/sh
2
3 if [ -x /usr/bin/dfu-util ]; then
4     DFU_UTIL=/usr/bin/dfu-util
5 else
6     echo "Can't find dfu-util! Aborting."
7     exit 1
8 fi
9
10 if [ -x /usr/bin/ao-usbload ]; then
11         USBLOAD=/usr/bin/ao-usbload
12 else
13         echo "Can't find ao-usbload!  Aborting."
14         exit 1
15 fi
16
17 VERSION=4.0
18 REPO=~/altusmetrumllc/Binaries
19 PRODUCT=TeleBT
20
21 echo "$PRODUCT v$VERSION Turn-On and Calibration Program"
22 echo "Copyright 2017 by Bdale Garbee.  Released under GPL v3+"
23 echo
24 echo "Expectations:"
25 echo "\t$PRODUCT v$VERSION attached by USB"
26 echo "\t\twith coax from UHF to frequency counter"
27 echo
28
29 case $# in
30     1)
31         SERIAL="$1"
32         echo "$PRODUCT-$VERSION serial number: $SERIAL" 
33         ;;
34     0)
35         echo -n "$PRODUCT-$VERSION serial number: "
36         read SERIAL
37         ;;
38     *)
39         echo "Usage: $0 <serial-number>" 1>&2
40         exit 1;
41         ;;
42 esac
43
44 FLASH_FILE=$REPO/loaders/telebt-v$VERSION-altos-flash-*.bin
45 ALTOS_FILE=$REPO/telebt-v$VERSION-*.elf
46
47 $DFU_UTIL -a 0 -s 0x08000000:leave -D $FLASH_FILE
48
49 sleep 2
50
51 $USBLOAD --serial=$SERIAL $ALTOS_FILE || exit 1
52
53 sleep 3
54
55 dev=`ao-list | awk '/'"$PRODUCT"'-v'"$VERSION"'/ { print $3; exit(0); }'`
56
57 case "$dev" in
58 /dev/tty*)
59         echo "$PRODUCT found on $dev"
60         ;;
61 *)
62         echo 'No '"$PRODUCT"'-v'"$VERSION"' found'
63         exit 1
64         ;;
65 esac
66
67 CALFILE=cal-$SERIAL.txt
68
69 ../ao-tools/ao-cal-freq/ao-cal-freq --nosave --output=$CALFILE --tty=$dev
70
71 CAL_VALUE=`cat $CALFILE`
72 echo $SERIAL","$CAL_VALUE >> cal_values
73 echo "Reflashing with calibration: $CAL_VALUE"
74 $USBLOAD --cal=$CAL_VALUE --tty=$dev $ALTOS_FILE || exit 1
75
76 echo -n "checking BlueTooth functionality... "
77 btdev=`hcitool scan | awk -F \- '/TeleBT/ { print $2 }'`
78 if [ "$btdev" = "$SERIAL" ]; then
79         echo "working!"
80 else
81         echo "device not found"
82         exit 1
83 fi
84
85 echo -n "checking BTLE functionality... "
86 btdev=`sudo timeout -s SIGINT 5s hcitool lescan | awk -F \- '/TeleBT/ { print $2 }' | head -n 1`
87 if [ "$btdev" = "$SERIAL" ]; then
88         echo "working!"
89 else
90         echo "device not found"
91         exit 1
92 fi
93
94 echo "$PRODUCT-v$VERSION $SERIAL is ready to ship"
95
96 exit $?