]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - LoadFile/load.dfu
Start removing select Linux-isms
[kiibohd-controller.git] / LoadFile / load.dfu
index a3769e378685e2d8f705613478e78225d5ef6dce..5c7719c2c12c7f7c0fcd16c169229c578d3b7349 100755 (executable)
@@ -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