ao-bringup: get turnon_easymega working for v2.0
[fw/altos] / ao-bringup / turnon_easymega
index b313e16286dd1ee2c83977bdd4535ec031b6c855..64180bd3b9a3976fd41649c294f02a5063fb2bd9 100755 (executable)
@@ -1,7 +1,11 @@
 #!/bin/sh
 
+PRODUCT=EasyMega
+VERSION=2.0
+REPO=~/altusmetrumllc/Binaries
+
 if [ -x /usr/bin/ao-flash-stm ]; then
-       STMLOAD=/usr/bin/ao-flash-stm
+       FLASH_STM=/usr/bin/ao-flash-stm
 else
        echo "Can't find ao-flash-stm!  Aborting."
        exit 1
@@ -14,45 +18,59 @@ else
        exit 1
 fi
 
-VERSION=1.0
-REPO=~/altusmetrumllc/Binaries
-
-echo "EasyMega v$VERSION Turn-On and Calibration Program"
-echo "Copyright 2014 by Bdale Garbee.  Released under GPL v2"
+echo "$PRODUCT v$VERSION Turn-On and Calibration Program"
+echo "Copyright 2018 by Bdale Garbee.  Released under GPL v2"
 echo
 echo "Expectations:"
-echo "\tEasyMega v$VERSION"
+echo "\t$PRODUCT v$VERSION"
 echo "\t\twith USB cable attached"
 echo "\t\twith ST-Link-V2 cabled to debug header"
 echo
-echo -n "EasyMega-$VERSION serial number: "
-read SERIAL
 
-echo $STMLOAD
+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
 
-$STMLOAD $REPO/loaders/easymega-v$VERSION*.elf || exit 1
+$FLASH_STM $REPO/loaders/easymega-v$VERSION*.elf
 
-sleep 2
+sleep 3
 
 $USBLOAD --serial=$SERIAL $REPO/easymega-v$VERSION*.elf || exit 1
 
-sleep 2
+sleep 5
 
-dev=`ao-list | awk '/EasyMega-v'"$VERSION"'/ { print $3; exit(0); }'`
+dev=`ao-list | awk '/'"$PRODUCT"'-v'"$VERSION"'/ { print $3; exit(0); }'`
 
 case "$dev" in
 /dev/tty*)
-       echo "EasyMega found on $dev"
+       echo "$PRODUCT found on $dev"
        ;;
 *)
-       echo 'No EasyMega-v'"$VERSION"' found'
+       echo 'No '"$PRODUCT"'-v'"$VERSION"' found'
        exit 1
        ;;
 esac
 
 echo 'E 0' > $dev
 
-../ao-tools/ao-cal-accel/ao-cal-accel $dev
+failed=1
+while [ $failed =  1 ]; do
+    ../ao-tools/ao-cal-accel/ao-cal-accel $dev
+    failed=$?
+done
 
 echo 'E 1' > $dev