# HG changeset patch # User Rowan Decker # Date 1423798921 28800 # Node ID 71882cd1c3623da3eec4acde8ac072ada3d64b1d # Parent 18b61e53753c602979fe54656d7b4dea848bd7f8 Check for needed programs 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 diff -r 18b61e53753c -r 71882cd1c362 LoadFile/load.dfu --- a/LoadFile/load.dfu Thu Feb 12 19:37:19 2015 -0800 +++ b/LoadFile/load.dfu Thu Feb 12 19:42:01 2015 -0800 @@ -54,13 +54,23 @@ # 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 diff -r 18b61e53753c -r 71882cd1c362 LoadFile/load.teensy --- a/LoadFile/load.teensy Thu Feb 12 19:37:19 2015 -0800 +++ b/LoadFile/load.teensy Thu Feb 12 19:42:01 2015 -0800 @@ -50,7 +50,7 @@ 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 @@ # 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 diff -r 18b61e53753c -r 71882cd1c362 LoadFile/winload.teensy --- a/LoadFile/winload.teensy Thu Feb 12 19:37:19 2015 -0800 +++ b/LoadFile/winload.teensy Thu Feb 12 19:42:01 2015 -0800 @@ -49,7 +49,7 @@ 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