]> git.donarmstrong.com Git - kiibohd-controller.git/commitdiff
Check for needed programs
authorRowan Decker <Smasher816@gmail.com>
Fri, 13 Feb 2015 03:42:01 +0000 (19:42 -0800)
committerRowan Decker <Smasher816@gmail.com>
Fri, 13 Feb 2015 03:42:01 +0000 (19:42 -0800)
Check for dfu-util and screen before using them. Also aborts if
teensy_loader_cli compilation fails.

Uses the type builtin to determine if a command exists. See here:
https://gist.github.com/sdelmas/7377271

LoadFile/load.dfu
LoadFile/load.teensy
LoadFile/winload.teensy

index a3769e378685e2d8f705613478e78225d5ef6dce..7f55c2ceddfb9f2655dedf246eb9212c8e69a4c2 100755 (executable)
@@ -54,13 +54,23 @@ fi
 
 # Load via dfu-util
 # Used for McHCK based uCs
-dfu-util -D @TARGET_BIN@
-EXIT_STATUS=$?
+if type dfu-util &>/dev/null; then
+       dfu-util -D @TARGET_BIN@
+       EXIT_STATUS=$?
+else
+       echo "dfu-util is required to reprogram the device"
+       exit 3
+fi
 
 # Load Screen Session if specified
 if (( "$EXIT_STATUS" == "0" )) && [[ "$AUTO_SCREEN_SESSION" != "" ]]; then
-       sleep 0.1
-       screen $AUTO_SCREEN_SESSION
+       if type screen &>/dev/null; then
+               sleep 0.1
+               screen $AUTO_SCREEN_SESSION
+       else
+               echo "screen is not installed"
+               exit 3
+       fi
 fi
 
 exit $EXIT_STATUS
index 83b48d6e785083f5821cdf837a0addde3d3d40c5..df16dfcc79883912750e35c2fb2bfe174313178c 100755 (executable)
@@ -50,7 +50,7 @@ if [ ! -e teensy-loader-cli/teensy-loader-cli ]; then
        mkdir -p teensy-loader-cli
        cd teensy-loader-cli
        cmake -G "Unix Makefiles" @CMAKE_SOURCE_DIR@/LoadFile
-       make
+       make || exit 3
        cd -
 fi
 
@@ -68,8 +68,13 @@ EXIT_STATUS=$?
 
 # Load Screen Session if specified
 if (( "$EXIT_STATUS" == "0" )) && [[ "$AUTO_SCREEN_SESSION" != "" ]]; then
-       sleep 0.1
-       screen $AUTO_SCREEN_SESSION
+       if type screen &>/dev/null; then
+               sleep 0.1
+               screen $AUTO_SCREEN_SESSION
+       else
+               echo "screen is not installed"
+               exit 3
+       fi
 fi
 
 exit $EXIT_STATUS
index 6d354fa82535e3906496a48f51329f9d334eebbe..1d86daf17a0a914a11afb945830080089a74e124 100755 (executable)
@@ -49,7 +49,7 @@ if [ ! -e teensy-loader-cli/teensy-loader-cli ]; then
        mkdir -p teensy-loader-cli
        cd teensy-loader-cli
        cmake -G "Unix Makefiles" $(cygpath -u @CMAKE_SOURCE_DIR@/LoadFile)
-       make
+       make || exit 3
        cd -
 fi