Mercurial > hg > beaglert
diff scripts/update_board @ 455:0567af952cfa prerelease
merge
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Sun, 19 Jun 2016 23:31:25 +0100 |
parents | 7f9032f43f41 1d66b4e8ced9 |
children | aa3f38d8a9b6 |
line wrap: on
line diff
--- a/scripts/update_board Sun Jun 19 22:43:06 2016 +0100 +++ b/scripts/update_board Sun Jun 19 23:31:25 2016 +0100 @@ -1,4 +1,4 @@ -\#!/bin/sh +#!/bin/sh # # This script copies the core Bela files to the BeagleBone Black # in preparation for building projects. It will remove any existing @@ -6,7 +6,7 @@ [ -z "$BBB_ADDRESS" ] && BBB_ADDRESS="root@192.168.7.2" [ -z "$BBB_BELA_HOME" ] && BBB_BELA_HOME="/root/Bela/" -# . ./.bela_common || exit 1 +. ./.bela_common || exit 1 FILES_TO_COPY="core include Makefile libNE10.a libprussdrv.a examples Doxyfile" @@ -19,7 +19,7 @@ usage () { THIS_SCRIPT=`basename "$0"` - echo "Usage: $THIS_SCRIPT [-b path-on-beaglebone] [--clean] [-y]" + echo "Usage: $THIS_SCRIPT [--clean] [--no-frills] [-dy ] [-i user@ip] [-b /path/to/remote/Bela]" echo " This script updates the core Bela files on the BeagleBone, bringing it up @@ -34,6 +34,8 @@ -i arg : allows to set the username and IP address of the remote end (default: $BBB_ADDRESS) -b arg : allows to set the path to the Bela folder on the remote end. Use quotes if you use the \"~\" symbol (default: $BBB_BELA_HOME) --clean : removes all the files in the $BBB_BELA_HOME folder, INCLUDING any source code you may have in the $BBB_BELA_HOME/projects/ subdirectory. + -d : skips re-generating Doxygen documentation on the board. + --no-frills : skips some optional commands. -y : does not prompt the user before deleting the remote files. " } @@ -50,9 +52,11 @@ [ $1 -eq 0 ] && printf "done\n" || { [ -z "$2" ] && printf "\nAn error occurred. Is the board connected?\n" || printf "$2"; exit 1; } } +FULL=1 OPTIND=1 ALWAYS_YES=0 RESET_BOARD=0 +DOXYGEN=1 while [ "$1" != "" ]; do case $1 in -b) @@ -66,6 +70,12 @@ --clean) RESET_BOARD=1 ;; + -d) + DOXYGEN=0 + ;; + --no-frills) + FULL=0 + ;; -y) ALWAYS_YES=1 ;; @@ -82,7 +92,11 @@ SCRIPTDIR=$(dirname "$0") [ -z "$IDE_FOLDER" ] && IDE_FOLDER=$SCRIPTDIR/../../bela-ide/ -set_date "stat $BBB_BELA_HOME &>/dev/null" && DESTINATION_EMPTY=0 || DESTINATION_EMPTY=1 +# Check if destination folder exists +# the StrictHostKeyChecking no should prevent the unkown host prompt +ssh -o "StrictHostKeyChecking no" $BBB_ADDRESS stat $BBB_BELA_HOME &>/dev/null && DESTINATION_EMPTY=0 || DESTINATION_EMPTY=1 +# Set the date on the board +[ $FULL -eq 1 ] && set_date if [ $DESTINATION_EMPTY -eq 0 ]; then @@ -104,11 +118,14 @@ echo "Installing Bela core code in $BBB_ADDRESS:$BBB_BELA_HOME" fi -echo "Updating Bela cores files to remote folder $BBB_BELA_HOME" +echo "Updating Bela core files to remote folder $BBB_BELA_HOME" # Stop Bela if running and remove all files -printf "Stopping Bela..." -ssh $BBB_ADDRESS "make -C $BBB_BELA_HOME idestop stop &>/dev/null; screen -X -S Bela quit &>/dev/null; screen -X -S IDE-Bela quit &>/dev/null; true"; -error_handler $? +if [ $FULL -eq 1 ] +then + printf "Stopping Bela..." + ssh $BBB_ADDRESS "make -C $BBB_BELA_HOME idestop stop &>/dev/null; screen -X -S Bela quit &>/dev/null; screen -X -S IDE-Bela quit &>/dev/null; true"; + error_handler $? +fi if [ $RESET_BOARD -eq 1 ]; then @@ -146,9 +163,12 @@ ssh $BBB_ADDRESS "mkdir -p $BBB_BELA_HOME/build/core $BBB_BELA_HOME/projects" error_handler $? -printf "Generating on-board documentation..." -#ssh $BBB_ADDRESS "cd $BBB_BELA_HOME; doxygen &> /dev/null" -error_handler $? "\nError while generating Doxygen documentation\n" +if [ $DOXYGEN -eq 1 ] +then + printf "Generating on-board documentation..." + ssh $BBB_ADDRESS "cd $BBB_BELA_HOME; doxygen &> /dev/null" + error_handler $? "\nError while generating Doxygen documentation\n" +fi printf "Building example projects..." ssh $BBB_ADDRESS "sh $BBB_BELA_HOME/examples/core/link_core.sh" @@ -164,21 +184,21 @@ ls $IDE_FOLDER/scripts/setup_IDE.sh >/dev/null 2>/dev/null if [ $? -eq 0 ] then + export BBB_ADDRESS BBB_BELA_HOME cd $IDE_FOLDER/scripts && ./setup_IDE.sh $ALWAYS_YES_FLAG # run the IDE - ssh $BBB_ADDRESS "make -C $BBB_BELA_HOME --no-print-directory idestart" + [ $FULL -eq 1 ] && ssh $BBB_ADDRESS "make -C $BBB_BELA_HOME --no-print-directory idestart" else # run the IDE - ssh $BBB_ADDRESS "make -C $BBB_BELA_HOME --no-print-directory idestart" - echo \ -"The Bela core files were updated the board, but a valid IDE folder was not found in $IDE_FOLDER/, so the IDE was not updated. If there was an older version of the IDE on the board, it is being restarted. + [ $FULL -eq 1 ] && ssh $BBB_ADDRESS "make -C $BBB_BELA_HOME --no-print-directory idestart" + [ $FULL -eq 1 ] && echo "The Bela core files were updated on the board, but a valid IDE folder was not found in $IDE_FOLDER/, so the IDE was not updated. If there was an older version of the IDE on the board, it is being restarted. You can get a copy of the most up-to-date IDE files from https://github.com/LBDonovan/bela-ide " fi -ssh $BBB_ADDRESS make -C $BBB_BELA_HOME --no-print-directory idestartup nostartup && echo "The board will now run the IDE at startup, but startup of the Bela program has been disabled. To enable it, use the set_startup.sh script" +[ $FULL -eq 1 ] && ssh $BBB_ADDRESS make -C $BBB_BELA_HOME --no-print-directory idestartup nostartup && echo "The board will now run the IDE at startup, but startup of the Bela program has been disabled. To enable it, use the set_startup.sh script" -{ [ $ALWAYS_YES -eq 1 ] || [ $SHLVL -ge 1 ]; } && printf "\nSetup complete.\n\n" || { +[ $ALWAYS_YES -eq 1 ] && printf "\nSetup complete.\n\n" || { printf '\nSetup complete, press any key to continue\n\n' read }