changeset 434:26f3ecfdf3ad prerelease

made update_board clickable
author Giulio Moro <giuliomoro@yahoo.it>
date Fri, 17 Jun 2016 01:10:05 +0100
parents 6c6e29391ec9
children cea66c2af560
files scripts/update_board scripts/update_board.sh
diffstat 2 files changed, 173 insertions(+), 173 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/update_board	Fri Jun 17 01:10:05 2016 +0100
@@ -0,0 +1,173 @@
+#!/bin/sh
+#
+# This script copies the core Bela files to the BeagleBone Black
+# in preparation for building projects. It will remove any existing
+# Bela directory before copying the files over
+
+[ -z "$BBB_ADDRESS" ] && BBB_ADDRESS="root@192.168.7.2"
+[ -z "$BBB_BELA_HOME" ] && BBB_BELA_HOME="/root/Bela/"
+
+FILES_TO_COPY="core include Makefile libNE10.a libprussdrv.a examples Doxyfile"
+
+# The following variables are manually copied from the Makefile.
+# It is a bit nasty, but here we need to handle the case that the board may be 
+# in any arbitrarily (bad) condition and try to handle it the best we can
+BELA_IDE_SCREEN_NAME=IDE-Bela
+SCREEN_NAME=Bela
+
+usage ()
+{
+    THIS_SCRIPT=`basename "$0"`
+    echo "Usage: $THIS_SCRIPT [-b path-on-beaglebone] [--clean] [-y]"
+
+    echo "
+    This script updates the core Bela files on the BeagleBone, bringing it up
+    to date with the files in the folder on the host computer.
+    The script must be run once to initialize the board before running any of
+    the other scripts in this directory. It must also be run every time you
+    wish to update the core code.
+    Running this script will discard all changes to the core code on the remote
+    end.
+
+Command line options:    
+    -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.
+    -y : does not prompt the user before deleting the remote files.
+    "
+}
+
+signal_handler ()
+{
+  echo
+  exit
+}
+
+trap signal_handler 2 
+
+error_handler () {
+ [ $1 -eq 0 ] && printf "done\n" || { [ -z "$2" ] && printf "\nAn error occurred. Is the board connected?\n" || printf "$2"; exit 1; }
+}
+
+OPTIND=1
+ALWAYS_YES=0
+RESET_BOARD=0
+while [ "$1" != "" ]; do
+  case $1 in
+    -b)           
+      shift
+      BBB_BELA_HOME=$1
+    ;;
+    -i)
+      shift
+      BBB_ADDRESS=$1
+    ;;
+    --clean)
+      RESET_BOARD=1
+    ;;
+    -y)          
+       ALWAYS_YES=1
+    ;;
+    *)            
+      usage
+      exit 1
+    ;;
+  esac
+  shift
+done
+
+
+# Find location of this script so we can locate the rest of the files
+SCRIPTDIR=$(dirname "$0")
+[ -z "$IDE_FOLDER" ] && IDE_FOLDER=$SCRIPTDIR/../../bela-ide/
+
+
+ssh $BBB_ADDRESS "date -s \"`date '+%Y%m%d %T'`\" > /dev/null; stat $BBB_BELA_HOME &>/dev/null" && DESTINATION_EMPTY=0 || DESTINATION_EMPTY=1
+
+if [ $DESTINATION_EMPTY -eq 0 ];
+then
+  echo "Updating the Bela core code in $BBB_ADDRESS:$BBB_BELA_HOME"
+  if [ $RESET_BOARD -eq 1 ];
+  then
+    printf "DANGER: you are about to perform a HARD RESET, which will DELETE all the  existing files from the folder $BBB_BELA_HOME on the BeagleBone Black.\nAre you sure you want to continue? (y/N) "
+  else
+    printf "All the changes to the CORE files in the remote folder $BBB_BELA_HOME will be LOST. The content of these files/folders will be lost:\n  $FILES_TO_COPY \nYour projects stored in $BBB_BELA_HOME/projects should be safe (and surely you have already backed them up somewhere safe, haven't you?).\nAre you sure you want to continue? (y/N) "
+  fi;
+  if [ $ALWAYS_YES -eq 1 ];
+  then
+    printf "y\n"
+  else 
+    read REPLY;
+    [ $REPLY !=  y ] && [ $REPLY != Y ] && { echo "Aborting..."; exit 1; }
+  fi
+else
+  echo "Installing Bela core code in $BBB_ADDRESS:$BBB_BELA_HOME"
+fi
+
+echo "Updating Bela cores 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 [ $RESET_BOARD -eq 1 ];
+then
+  printf "Removing old files..."
+  ssh $BBB_ADDRESS "rm -rf $BBB_BELA_HOME";
+  error_handler $?
+fi
+
+#Check if rsync is available
+[ -z `which rsync` ] && RSYNC_AVAILABLE=0 || RSYNC_AVAILABLE=1
+
+# cd to the home of the project to make the following lines less verbose
+RUN_FOLDER=`pwd`
+cd $SCRIPTDIR/../
+
+printf "Updating files..."
+# Copy relevant files to BeagleBone Black
+if [ $RSYNC_AVAILABLE -eq 1 ];
+then
+  [ -z `which sed` ] && FILTER=cat || FILTER="sed s/\\n// | sed s/^.*:/Updated\ files:\/g | tr \"\n\" \" \""
+  rsync -ac --no-t --delete-after --stats $FILES_TO_COPY $BBB_ADDRESS:$BBB_BELA_HOME |grep -i "Number" | grep -i "files" | grep -i "transferred" | eval $FILTER &&\
+  rsync -ac --no-t libpd.so $BBB_ADDRESS:/usr/lib
+else
+  # if rsync is not available, then clean the folders before copying the files
+  ssh $BBB_ADDRESS "rm -rf $FILES_TO_COPY; mkdir -p $BBB_BELA_HOME" &&\
+  scp -r -q $FILES_TO_COPY $BBB_ADDRESS:$BBB_BELA_HOME &&\
+  scp -q libpd.so $BBB_ADDRESS:/usr/lib
+fi
+error_handler $?
+# cd back to the original folder.
+cd "$RUN_FOLDER"
+
+# Create remaining directories needed for building
+printf "Creating directory structure on BeagleBone..."
+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"
+
+#-------------
+#Installing IDE
+[ $ALWAYS_YES -eq 0 ] && ALWAYS_YES_FLAG= || ALWAYS_YES_FLAG="-y"
+ls $IDE_FOLDER/scripts/setup_IDE.sh >/dev/null 2>/dev/null
+if [ $? -eq 0 ]
+then
+  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"
+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.
+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" 
+
+
--- a/scripts/update_board.sh	Fri Jun 17 00:42:01 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-#!/bin/sh
-#
-# This script copies the core Bela files to the BeagleBone Black
-# in preparation for building projects. It will remove any existing
-# Bela directory before copying the files over
-
-[ -z "$BBB_ADDRESS" ] && BBB_ADDRESS="root@192.168.7.2"
-[ -z "$BBB_BELA_HOME" ] && BBB_BELA_HOME="/root/Bela/"
-
-FILES_TO_COPY="core include Makefile libNE10.a libprussdrv.a examples Doxyfile"
-
-# The following variables are manually copied from the Makefile.
-# It is a bit nasty, but here we need to handle the case that the board may be 
-# in any arbitrarily (bad) condition and try to handle it the best we can
-BELA_IDE_SCREEN_NAME=IDE-Bela
-SCREEN_NAME=Bela
-
-usage ()
-{
-    THIS_SCRIPT=`basename "$0"`
-    echo "Usage: $THIS_SCRIPT [-b path-on-beaglebone] [--clean] [-y]"
-
-    echo "
-    This script updates the core Bela files on the BeagleBone, bringing it up
-    to date with the files in the folder on the host computer.
-    The script must be run once to initialize the board before running any of
-    the other scripts in this directory. It must also be run every time you
-    wish to update the core code.
-    Running this script will discard all changes to the core code on the remote
-    end.
-
-Command line options:    
-    -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.
-    -y : does not prompt the user before deleting the remote files.
-    "
-}
-
-signal_handler ()
-{
-  echo
-  exit
-}
-
-trap signal_handler 2 
-
-error_handler () {
- [ $1 -eq 0 ] && printf "done\n" || { [ -z "$2" ] && printf "\nAn error occurred. Is the board connected?\n" || printf "$2"; exit 1; }
-}
-
-OPTIND=1
-ALWAYS_YES=0
-RESET_BOARD=0
-while [ "$1" != "" ]; do
-  case $1 in
-    -b)           
-      shift
-      BBB_BELA_HOME=$1
-    ;;
-    -i)
-      shift
-      BBB_ADDRESS=$1
-    ;;
-    --clean)
-      RESET_BOARD=1
-    ;;
-    -y)          
-       ALWAYS_YES=1
-    ;;
-    *)            
-      usage
-      exit 1
-    ;;
-  esac
-  shift
-done
-
-
-# Find location of this script so we can locate the rest of the files
-SCRIPTDIR=$(dirname "$0")
-[ -z "$IDE_FOLDER" ] && IDE_FOLDER=$SCRIPTDIR/../../bela-ide/
-
-
-ssh $BBB_ADDRESS "date -s \"`date '+%Y%m%d %T'`\" > /dev/null; stat $BBB_BELA_HOME &>/dev/null" && DESTINATION_EMPTY=0 || DESTINATION_EMPTY=1
-
-if [ $DESTINATION_EMPTY -eq 0 ];
-then
-  echo "Updating the Bela core code in $BBB_ADDRESS:$BBB_BELA_HOME"
-  if [ $RESET_BOARD -eq 1 ];
-  then
-    printf "DANGER: you are about to perform a HARD RESET, which will DELETE all the  existing files from the folder $BBB_BELA_HOME on the BeagleBone Black.\nAre you sure you want to continue? (y/N) "
-  else
-    printf "All the changes to the CORE files in the remote folder $BBB_BELA_HOME will be LOST. The content of these files/folders will be lost:\n  $FILES_TO_COPY \nYour projects stored in $BBB_BELA_HOME/projects should be safe (and surely you have already backed them up somewhere safe, haven't you?).\nAre you sure you want to continue? (y/N) "
-  fi;
-  if [ $ALWAYS_YES -eq 1 ];
-  then
-    printf "y\n"
-  else 
-    read REPLY;
-    [ $REPLY !=  y ] && [ $REPLY != Y ] && { echo "Aborting..."; exit 1; }
-  fi
-else
-  echo "Installing Bela core code in $BBB_ADDRESS:$BBB_BELA_HOME"
-fi
-
-echo "Updating Bela cores 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 [ $RESET_BOARD -eq 1 ];
-then
-  printf "Removing old files..."
-  ssh $BBB_ADDRESS "rm -rf $BBB_BELA_HOME";
-  error_handler $?
-fi
-
-#Check if rsync is available
-[ -z `which rsync` ] && RSYNC_AVAILABLE=0 || RSYNC_AVAILABLE=1
-
-# cd to the home of the project to make the following lines less verbose
-RUN_FOLDER=`pwd`
-cd $SCRIPTDIR/../
-
-printf "Updating files..."
-# Copy relevant files to BeagleBone Black
-if [ $RSYNC_AVAILABLE -eq 1 ];
-then
-  [ -z `which sed` ] && FILTER=cat || FILTER="sed s/\\n// | sed s/^.*:/Updated\ files:\/g | tr \"\n\" \" \""
-  rsync -ac --no-t --delete-after --stats $FILES_TO_COPY $BBB_ADDRESS:$BBB_BELA_HOME |grep -i "Number" | grep -i "files" | grep -i "transferred" | eval $FILTER &&\
-  rsync -ac --no-t libpd.so $BBB_ADDRESS:/usr/lib
-else
-  # if rsync is not available, then clean the folders before copying the files
-  ssh $BBB_ADDRESS "rm -rf $FILES_TO_COPY; mkdir -p $BBB_BELA_HOME" &&\
-  scp -r -q $FILES_TO_COPY $BBB_ADDRESS:$BBB_BELA_HOME &&\
-  scp -q libpd.so $BBB_ADDRESS:/usr/lib
-fi
-error_handler $?
-# cd back to the original folder.
-cd "$RUN_FOLDER"
-
-# Create remaining directories needed for building
-printf "Creating directory structure on BeagleBone..."
-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"
-
-#-------------
-#Installing IDE
-[ $ALWAYS_YES -eq 0 ] && ALWAYS_YES_FLAG= || ALWAYS_YES_FLAG="-y"
-ls $IDE_FOLDER/scripts/setup_IDE.sh >/dev/null 2>/dev/null
-if [ $? -eq 0 ]
-then
-  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"
-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.
-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" 
-
-