102 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
source updateFuncs
ARTOO_FILE_1=3dr-controller-20150316023643.tar.gz
SOLO_FILE_1=3dr-solo-20150316023855.tar.gz
SOLOLINK_VER_1=0.6.4
PIXHAWK_VER_1=0.0.26
STM32_VER_1=0.6.7
ARTOO_FILE_2=3dr-controller-20150316024635.tar.gz
SOLO_FILE_2=3dr-solo-20150316024848.tar.gz
SOLOLINK_VER_2=0.7.0
PIXHAWK_VER_2=0.0.27
STM32_VER_2=0.6.8
if ! sl_init_environment; then
echo "can't continue"
exit
fi
if ! sl_check_update_files ${SOLO_FILE_1} ${ARTOO_FILE_1} ${SOLO_FILE_2} ${ARTOO_FILE_2}; then
echo "can't continue"
exit
fi
show_versions() {
echo -n "Controller: "
echo -n "SoloLink `sl_get_version 10.1.1.1 VERSION` "
echo "STM32 `sl_get_version 10.1.1.1 STM_VERSION`"
echo -n "Solo: "
echo -n "SoloLink `sl_get_version 10.1.1.10 VERSION` "
echo "Pixhawk `sl_get_version 10.1.1.10 PIX_VERSION`"
}
# check_versions [sololink_version] [stm32_version] [pixhawk_version]
check_versions() {
artoo_version=`sl_get_version 10.1.1.1 VERSION`
stm32_version=`sl_get_version 10.1.1.1 STM_VERSION`
solo_version=`sl_get_version 10.1.1.10 VERSION`
pixhawk_version=`sl_get_version 10.1.1.10 PIX_VERSION`
result=0
if [ ${artoo_version} != ${1} ]; then
echo "artoo sololink is ${artoo_version}; expected ${1}"
result=1
fi
if [ ${solo_version} != ${1} ]; then
echo "solo sololink is ${solo_version}; expected ${1}"
result=1
fi
if [ ${stm32_version} != ${2} ]; then
echo "artoo stm32 is ${stm32_version}; expected ${2}"
result=1
fi
if [ ${pixhawk_version} != ${3} ]; then
echo "solo pixhawk is ${pixhawk_version}; expected ${3}"
result=1
fi
if [ ${result} -eq 0 ]; then
echo "versions correct"
fi
return ${result}
}
SCPARGS="-o StrictHostKeyChecking=no -i ./updater_id_rsa"
sl_wait_target ${SOLO_IP}
# start toggling back and forth
update_count=0
while true; do
sl_clean_firmware ${SOLO_IP}
sl_start_update ${SOLO_IP} ${SOLO_FILE_1} "updating solo to ${SOLO_FILE_1}"
sl_clean_firmware ${ARTOO_IP}
sl_start_update ${ARTOO_IP} ${ARTOO_FILE_1} "updating artoo to ${ARTOO_FILE_1}"
sleep 10
sl_wait_target ${SOLO_IP} "waiting for update to complete"
check_versions ${SOLOLINK_VER_1} ${STM32_VER_1} ${PIXHAWK_VER_1}
update_count=$((update_count+1))
echo "${update_count} updates"
sl_clean_firmware ${SOLO_IP}
sl_start_update ${SOLO_IP} ${SOLO_FILE_2} "updating solo to ${SOLO_FILE_2}"
sl_clean_firmware ${ARTOO_IP}
sl_start_update ${ARTOO_IP} ${ARTOO_FILE_2} "updating artoo to ${ARTOO_FILE_2}"
sleep 10
sl_wait_target ${SOLO_IP} "waiting for update to complete"
check_versions ${SOLOLINK_VER_2} ${STM32_VER_2} ${PIXHAWK_VER_2}
update_count=$((update_count+1))
echo "${update_count} updates"
done