#!/bin/sh

kill_all_apps()
{
    # Kill any of our apps from /app/bin folder that are running
    ALLAPPS=$(ls /app/bin)
    killall ${ALLAPPS} 
}

watchdog_off()
{
    # Make sure watchdog is off
    echo 1 > /dev/watchdog
    sleep 1
    echo V > /dev/watchdog
}

backlights_full()
{
    # Turn backlights full on
    echo 255 > /sys/class/leds/lcdled-pwm/brightness 
    echo 255 > /sys/class/leds/keyled-pwm/brightness
}

update_uboot()
{
    # Create ram disk
    RAMDISKPATH="/tmp/ramdisk"
    mkdir -p ${RAMDISKPATH} 
    mount -n -t tmpfs rwfs ${RAMDISKPATH} -o size=4m
    if [ $? -eq 0 ]; then
        # Copy kobs-ng to ramdisk
        cp ${SCRIPTPATH}/firmware/kobs-ng ${RAMDISKPATH}
        if [ $? -eq 0 ]; then
            # Copy u-boot to ramdisk
            cp ${SCRIPTPATH}/firmware/u-boot.sb ${RAMDISKPATH}
            if [ $? -eq 0 ]; then
                echo "Bootloader: Updating to ${NEWUBOOTVER}..."
                flash_eraseall /dev/mtd0
                flash_eraseall /dev/mtd1
                ${RAMDISKPATH}/kobs-ng init ${RAMDISKPATH}/u-boot.sb
            fi
        fi
    fi
}

# Main entry point of script

# Redirect output to debug serial
exec 1>/dev/ttyAM0
exec 2>/dev/ttyAM0

# Get path of this script file (root of USB stick)
SCRIPTPATH=$(cd ${0%/*} && echo $PWD)

kill_all_apps

watchdog_off

backlights_full

update_uboot

reboot
