#!/bin/sh

HEX_NAME=${O}/${KERNEL_HEX_NAME}

command -v nrfjprog >/dev/null 2>&1 || { echo >&2 "Can't flash nRF board,"\
						  "nrfjprog is not installed."\
						  "Aborting."; exit 1; }

CONNECTED_BOARDS=`nrfjprog --ids`
read -s -a BOARD_LIST <<< $CONNECTED_BOARDS

BOARDS_NUM=`echo "$CONNECTED_BOARDS" | wc -l`
if [ $BOARDS_NUM == 1 ]
then
	BOARD_SNR=$BOARD_LIST
else
	echo "There are multiple boards connected."
	for i in $(seq 1 1 $BOARDS_NUM)
	do
		echo $i. ${BOARD_LIST[$i - 1]}
	done

	prompt="Please select one with desired serial number (1-$BOARDS_NUM):"
	while true; do
		read -p "$prompt" ANS
		if [ 1 -le $ANS -a $ANS -le $BOARDS_NUM ]
		then
			break;
		else
			echo -n
		fi
	done

	BOARD_SNR=${BOARD_LIST[$ANS - 1]}
fi

echo "Flashing file: "${HEX_NAME}

nrfjprog --eraseall -f $NRF_FAMILY --snr $BOARD_SNR &&
nrfjprog --program $HEX_NAME -f $NRF_FAMILY --snr $BOARD_SNR &&
if [ $NRF_FAMILY == NRF52 ]
then
	# Set reset pin
	nrfjprog --memwr 0x10001200 --val 0x00000015 \
		 -f $NRF_FAMILY --snr $BOARD_SNR
	nrfjprog --memwr 0x10001204 --val 0x00000015 \
		 -f $NRF_FAMILY --snr $BOARD_SNR
	nrfjprog --reset -f $NRF_FAMILY --snr $BOARD_SNR
fi
nrfjprog --pinreset -f $NRF_FAMILY --snr $BOARD_SNR

if [ $? -eq 0 ]; then
    echo "${BOARD} Serial Number $BOARD_SNR flashed with success."
else
    echo "Flashing ${BOARD} failed."
    exit 2;
fi
