aboutsummaryrefslogtreecommitdiff
path: root/firmwares/wifishield/scripts
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2013-03-28 12:27:11 +0100
committerCristian Maglie <c.maglie@bug.st>2013-03-28 12:27:11 +0100
commitc6dcde62afdfa6b90d7427fa1e6ecbac51c35a05 (patch)
tree372eec1b28967be869e8f3b9dcfd305d0bfc80b2 /firmwares/wifishield/scripts
parentf567db75733f539bf064b7ca639f52e823823c06 (diff)
parent802eaa96c74918255dcca264e9f0ca39885d1090 (diff)
Merge branch 'wifishield-bugfix'
Diffstat (limited to 'firmwares/wifishield/scripts')
-rwxr-xr-x[-rw-r--r--]firmwares/wifishield/scripts/ArduinoWifiShield_upgrade.sh44
1 files changed, 34 insertions, 10 deletions
diff --git a/firmwares/wifishield/scripts/ArduinoWifiShield_upgrade.sh b/firmwares/wifishield/scripts/ArduinoWifiShield_upgrade.sh
index 5082392..d9a9e02 100644..100755
--- a/firmwares/wifishield/scripts/ArduinoWifiShield_upgrade.sh
+++ b/firmwares/wifishield/scripts/ArduinoWifiShield_upgrade.sh
@@ -1,8 +1,11 @@
#!/bin/sh
-WIFI_FW_PATH="/hardware/arduino/firmwares/wifi-shield"
+WIFI_FW_PATH="/hardware/arduino/firmwares/wifishield/binary"
AVR_TOOLS_PATH="/hardware/tools/avr/bin"
+TARGET_MICRO="at32uc3a1256"
+
+
progname=$0
usage () {
@@ -20,28 +23,49 @@ EOF
upgradeHDmodule () {
sleep 1 # Give time to the shield to end the boot
echo "****Upgrade HD WiFi module firmware****\n"
- dfu-programmer at32uc3a1256 erase
- dfu-programmer at32uc3a1256 flash --suppress-bootloader-mem $WIFI_FW_PATH/wifi_dnld.hex
- dfu-programmer at32uc3a1256 start
- echo -n "\nRemove the J3 jumper then press the RESET button on the shield then type [ENTER] to upgrade the firmware of the shield..\n"
+ dfu-programmer $TARGET_MICRO erase
+ dfu-programmer $TARGET_MICRO flash --suppress-bootloader-mem $WIFI_FW_PATH/wifi_dnld.hex
+ dfu-programmer $TARGET_MICRO start
+
+ if [ $? != 0 ] ; then
+ echo "\nError during device initialization, please close the J3 jumper and press the reset button.\nTry -h for help\n"
+ exit 1 # if the device is not recognized exit
+ fi
+
+ echo -n "\nPress the RESET button on the shield then type [ENTER] to upgrade the firmware of the shield..\n"
read readEnter
}
upgradeShield () {
sleep 1 # Give time to the shield to end the boot
echo "****Upgrade WiFi Shield firmware****\n"
- dfu-programmer at32uc3a1256 erase
- dfu-programmer at32uc3a1256 flash --suppress-bootloader-mem $WIFI_FW_PATH/wifiHD.hex
- dfu-programmer at32uc3a1256 start
+ dfu-programmer $TARGET_MICRO erase
+ dfu-programmer $TARGET_MICRO flash --suppress-bootloader-mem $WIFI_FW_PATH/wifiHD.hex
+ dfu-programmer $TARGET_MICRO start
+
+ if [ $? != 0 ] ; then
+ echo "\nError during device initialization, please close the J3 jumper and press the reset button.\nTry -h for help\n"
+ exit 1 # if the device is not recognized exit
+ fi
+
echo "\nDone. Remove the J3 jumper and press the RESET button on the shield."
echo "Thank you!\n"
}
+
cat <<EOF
Arduino WiFi Shield upgrade
=========================================
-Disclaimer: to access to the USB devices correctly, the dfu-programmer needs to be used as root. Run this script as root.
+Instructions:
+
+To access to the USB devices correctly, the dfu-programmer needs to have the root permissions.
+
+You can upgrade the firmware of the antenna togheter with the shield firmware or only the shield firmware
+if there aren't changes on the antenna firmware.
+
+Use the '-h' parameter for help
+=========================================
EOF
@@ -90,7 +114,7 @@ if [ $USER = 'root' ] ; then #check if the current user is root
esac
done
else
- echo "You are not root!\n"
+ echo "Please retry running the script as root.\n"
fi
shift $(($OPTIND - 1))