don't exit on dfu-util errors, it's not reliable about reporting success
[fw/altos] / ao-bringup / turnon_easymini
old mode 100644 (file)
new mode 100755 (executable)
index 3c24aa2..9b66dc5
@@ -1,12 +1,10 @@
 #!/bin/sh
 
-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
+if [ -x /usr/bin/dfu-util ]; then
+    DFU_UTIL=/usr/bin/dfu-util
 else
-       echo "Can't find ao-flash-lpc!  Aborting."
-       exit 1
+    echo "Can't find dfu-util! Aborting."
+    exit 1
 fi
 
 if [ -x ../ao-tools/ao-usbload/ao-usbload ]; then
@@ -18,61 +16,54 @@ else
        exit 1
 fi
 
-VERSION=1.0
+VERSION=2.0
 PRODUCT=EasyMini
-#VERSION=0.1
+BASE=`echo $PRODUCT | tr 'A-Z' 'a-z'`
+echo $FILE
 
 echo "$PRODUCT v$VERSION Turn-On and Calibration Program"
-echo "Copyright 2010 by Bdale Garbee.  Released under GPL v2"
+echo "Copyright 2010 by Bdale Garbee.  Released under GPL v2+"
 echo
 echo "Expectations:"
-echo "\t$PRODUCT v$VERSION powered from USB"
-echo "\t\twith ST-Link-V2 cabled to debug header"
+echo "\t$PRODUCT v$VERSION powered and connected to USB"
 echo
-echo -n "$PRODUCT-$VERSION serial number: "
-read SERIAL
 
-echo $FLASH_LPC
+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
 
-$FLASH_LPC ../src/easymini-v$VERSION/flash-loader/*.elf || exit 1
+#
+# Use released versions of everything
+#
+FLASH_FILE=~/altusmetrumllc/Binaries/loaders/easymini-v2.0-altos-flash-*.bin
+ALTOS_FILE=~/altusmetrumllc/Binaries/easymini-v2.0-*.elf
 
-sleep 2
+#FLASH_FILE=../src/$BASE-v$VERSION/flash-loader/$BASE-v$VERSION-altos-flash-*.elf
+#ALTOS_FILE=../src/$BASE-v$VERSION/*.ihx
 
-$USBLOAD --serial=$SERIAL ../src/easymini-v$VERSION/*.ihx || exit 1
-#$USBLOAD --serial=$SERIAL /usr/share/altos/telemega-v$VERSION*.ihx || exit 1
+echo $DFU_UTIL -a 0 -s 0x08000000:leave -D $FLASH_FILE
 
-sleep 2
+#$DFU_UTIL -a 0 -s 0x08000000:leave -D $FLASH_FILE || exit 1
 
-dev=`ao-list | awk '/$PRODUCT-v'"$VERSION"'/ { print $3; exit(0); }'`
+sleep 2
 
-case "$dev" in
-/dev/tty*)
-       echo "$PRODUCT found on $dev"
-       ;;
-*)
-       echo 'No $PRODUCT-v'"$VERSION"' found'
-       exit 1
-       ;;
-esac
+echo $USBLOAD $ALTOS_FILE
 
-echo "Testing igniters. Both should flash"
-./test-igniter "$dev" drogue main
+$USBLOAD --serial=$SERIAL $ALTOS_FILE || exit 1
 
-case $? in
-0)
-       ;;
-*)
-       echo "failed"
-       exit 1
-esac
+sleep 1
 
-echo "Testing baro sensor"
-./test-baro "$dev"
+./test-easymini
 
-case $? in
-0)
-       ;;
-*)
-       echo "failed"
-       exit 1
-esac
+exit $?