#!/bin/bash

BUILD_PATH=$1
PROJECT_NAME=$2
SKETCH_PATH=$3
MULTI_BOARD=$4
EXPORT_FLAG=$5

IFS== read MULTI_BOARD BOARD_VERSION <<< "$MULTI_BOARD"

case "$MULTI_BOARD" in
        MULTI_NO_BOOT)
                MULTI_TYPE=avr
                ;;
        MULTI_FLASH_FROM_TX)
                MULTI_TYPE=avr
                ;;
        MULTI_STM32_NO_BOOT)
                MULTI_TYPE=stm
                ;;
        MULTI_STM32_FLASH_FROM_TX)
                MULTI_TYPE=stm
                ;;
        MULTI_ORANGERX)
                MULTI_TYPE=orx
                ;;
esac

#echo "Build Path: $BUILD_PATH"
#echo "Sketch Path: $SKETCH_PATH"
#echo "Project Name: $PROJECT_NAME"
#echo "Multi Board: $MULTI_BOARD"
#echo "Multi Board Type: $MULTI_TYPE"

if [ -e "$BUILD_PATH/sketch/Multiprotocol.h" ]; then
        MAJOR_VERSION=$(grep "VERSION_MAJOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}')
        MINOR_VERSION=$(grep "VERSION_MINOR" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}')
        REVISION_VERSION=$(grep "VERSION_REVISION" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}')
        PATCH_VERSION=$(grep "VERSION_PATCH" "$BUILD_PATH/sketch/Multiprotocol.h" | awk -v N=3 '{print $N}')

        MULTI_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$REVISION_VERSION.$PATCH_VERSION
else
        MULTI_VERSION=
fi

if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then
        cp "$BUILD_PATH/$PROJECT_NAME.hex" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex"
fi

if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then
        cp "$BUILD_PATH/$PROJECT_NAME.bin" "$BUILD_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin"
fi

if [ $# -eq 5 ]; then
        if [ $EXPORT_FLAG == "EXPORT" ]; then

                if [ -e "$BUILD_PATH/$PROJECT_NAME.hex" ]; then
                        cp "$BUILD_PATH/$PROJECT_NAME.hex" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.hex"
                fi
                if [ -e "$BUILD_PATH/$PROJECT_NAME.bin" ]; then
                        cp "$BUILD_PATH/$PROJECT_NAME.bin" "$SKETCH_PATH/multi-$MULTI_TYPE-$MULTI_VERSION.bin"
                fi

                if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.hex" ]; then
                        rm "$SKETCH_PATH/multi-$MULTI_TYPE.hex"
                fi
                if [ -e "$SKETCH_PATH/multi-$MULTI_TYPE.bin" ]; then
                        rm "$SKETCH_PATH/multi-$MULTI_TYPE.bin"
                fi
        fi
fi