#! /bin/sh

# use bossa to upgrade the atmel on chimera

. /etc/utils.sh

fw=/etc/glaukus/firmware/rf-controller.bin
reset=/dev/gpio/mcu_reset/value
erase=/dev/gpio/mcu_erase/value

is-ptp || exit 0

atmel_version() {
  local version label
  rfctl -c GetVersion | grep 'SW Ver' > /tmp/atmel_version
  read _ _ _ version _ label < /tmp/atmel_version
  if [ -z "$label" ]; then
    label=unknown-atmel-version
  fi
  echo $label
}

toggle_gpio() {
  local file=$1
  local delay=$2

  echo 1 > $file
  sleep $delay
  echo 0 > $file
  sleep $delay
}

register_experiment NoAtmelUpgrade

# TODO(edjames): use readlink
label=$(atmel_version)
if grep -a -q "$label" "$fw"; then
  echo "$0: $fw is up to date, label=$label"
  exit 0
fi

if experiment NoAtmelUpgrade; then
  echo "WARNING: $0: skipping needed atmel upgrade, NoAtmelUpgrade enabled"
  exit 1
fi

toggle_gpio $erase 1
toggle_gpio $reset 1

if ! bossac -e -w -v -b "$fw"; then
  echo "$0: bossa failed to upgrade atmel" >&2
  exit 1
fi

toggle_gpio $reset 1

label=$(atmel_version)
if grep -a -q "$label" "$fw"; then
  echo "$0: $fw was successfully updated to $label"
  exit 0
fi

echo "$0: $fw update failed; new firmware not running." >&2
exit 1
