X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=LoadFile%2Fload.dfu;h=5c7719c2c12c7f7c0fcd16c169229c578d3b7349;hb=0e6f107ea108bea0b179bcc2a2ac17d3ba49e1a7;hp=a3769e378685e2d8f705613478e78225d5ef6dce;hpb=10aad1f3afeda214662663b7d1f4ce69fa6530e4;p=kiibohd-controller.git diff --git a/LoadFile/load.dfu b/LoadFile/load.dfu index a3769e3..5c7719c 100755 --- a/LoadFile/load.dfu +++ b/LoadFile/load.dfu @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Convenience script for loading firmware onto a dfu type device # By default, initiates dfu-util @@ -49,18 +49,28 @@ done if [[ "$SERIAL_PORT" != "" ]] && [[ -e "$SERIAL_PORT" ]]; then echo "NOTE: This may fail if the uC is in a bad state or does not support remote flashing" printf "reload\r" > $SERIAL_PORT - sleep 1 + sleep 2 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