#!/bin/bash
+python -c '
+import sys
+try:
+ import serial
+except ImportError, e:
+ sys.exit(1)'
+
+if [[ $? != 0 ]]
+then
+ echo "Please install PySerial first."
+ exit 2
+fi
+
TOS_DELUGE=`type -p tos-deluge`
if [[ ! -x ${TOS_DELUGE} ]] ; then
TOS_DELUGE=../../../../tools/tinyos/misc/tos-deluge
fi
-echo ${TOS_DELUGE}
-
-if [ $# -ne 2 ]; then
- echo "Usage: $0 <port> <platform>"
- echo "<port> For example, /dev/ttyUSB0"
- echo "<platform> \"micaz\", \"telosb\""
+if [[ $# -ne 2 && $# -ne 3 ]]; then
+ echo "Usage: $0 <port> [<comm_port>] <platform>"
+ echo " <port> /dev/ttyUSB0"
+ echo " <comm_port> /dev/ttyUSB1"
+ echo " <platform> micaz, telosb, iris or epic"
exit 2
fi
-if [ $2 != 'micaz' -a $2 != 'telosb' ]; then
- echo "\"$2\" is not a supported platform"
+PPORT=$1
+CPORT=$1
+PLATFORM=$2
+
+if [ $# -eq 3 ]; then
+ CPORT=$2
+ PLATFORM=$3
+fi
+
+if [ ${PLATFORM} != 'micaz' -a ${PLATFORM} != 'telosb' -a ${PLATFORM} != 'iris' -a ${PLATFORM} != 'epic' ]; then
+ echo "\"${PLATFORM}\" is not a supported platform"
exit 2
fi
-PORT=$1
-PLATFORM=$2
+if ! [ -a ${TOSDIR}/lib/tosboot/build/${PLATFORM}/main.ihex ]
+then
+ echo ========================== Compile tosboot for ${PLATFORM} ===========================
+ ( cd $TOSDIR/lib/tosboot ; make ${PLATFORM} )
+fi
make clean
echo ============================ Compile and load Blink ============================
if [ $PLATFORM == 'micaz' ]
then
- CFLAGS=-DDELUGE_BASESTATION make ${PLATFORM} install mib510,${PORT}
-elif [ $PLATFORM == 'telosb' ]
+ CFLAGS=-DDELUGE_BASESTATION make ${PLATFORM} install mib510,${PPORT}
+elif [ $PLATFORM == 'telosb' -o $PLATFORM == 'epic' ]
+then
+ CFLAGS=-DDELUGE_BASESTATION make ${PLATFORM} install bsl,${PPORT}
+elif [ $PLATFORM == 'iris' ]
then
- CFLAGS=-DDELUGE_BASESTATION make ${PLATFORM} install bsl,${PORT}
+ CFLAGS=-DDELUGE_BASESTATION make ${PLATFORM} install mib510,${PPORT}
fi
+
echo ' +-------------------------------------------------------+'
echo ' | |'
echo ' | At this point the first led (red) should be blinking. |'
CFLAGS=-DBLINK_REVERSE\ -DDELUGE_BASESTATION make ${PLATFORM}
echo =============================== Upload the image ===============================
-${TOS_DELUGE} ${PORT} ${PLATFORM} -i 0 build/${PLATFORM}/tos_image.xml
+${TOS_DELUGE} ${CPORT} ${PLATFORM} -i 1 build/${PLATFORM}/tos_image.xml
echo ' +----------------------------------------------------------------+'
echo ' | |'
-echo ' | After pressing enter the following things will take place: |'
-echo ' | - mote will be rebooted |'
+echo ' | In the next step the following things will take place: |'
+echo ' | - the mote will be rebooted |'
echo ' | - all the leds will blink for some time as the |'
echo ' | reprogramming by tosboot takes place. |'
echo ' | - a fading of the leds will indicate the exiting from tosboot. |'
read
echo =========================== Reboot the base station ============================
-${TOS_DELUGE} ${PORT} ${PLATFORM} -b 0
+${TOS_DELUGE} ${CPORT} ${PLATFORM} -r 1