#!/bin/sh

action=$1
ontime=$2    # the value should be us
offtime=$3    # the value should be us

[ "x$ontime" = "x" ] && ontime=500000   
[ "x$offtime" = "x" ] && offtime=500000   


ring_red ()
{
    while true
    do
        ledcontrol -n all -c red -s on
        usleep $ontime
        ledcontrol -n all -c red -s off
        usleep $offtime
    done
}	

ring_green ()
{
    while true
    do
        ledcontrol -n all -c green -s on
        usleep $ontime
        ledcontrol -n all -c green -s off
        usleep $offtime
    done
}	

ring_blue ()
{
    while true
    do
        ledcontrol -n all -c blue -s on
        usleep $ontime
        ledcontrol -n all -c blue -s off
        usleep $offtime
    done
}	

ring_white ()
{
    while true
    do
        ledcontrol -n all -c white -s on
        usleep $ontime
        ledcontrol -n all -c white -s off
        usleep $offtime
    done
}	

ring_amber ()
{
    while true
    do
        ledcontrol -n all -c amber -s on
        usleep $ontime
        ledcontrol -n all -c amber -s off
        usleep $offtime
    done
}	

ring_magenta ()
{
    while true
    do
        ledcontrol -n all -c magenta -s on
        usleep $ontime
        ledcontrol -n all -c magenta -s off
        usleep $offtime
    done
}	

ring_cyan ()
{
    while true
    do
        ledcontrol -n all -c cyan -s on
        usleep $ontime
        ledcontrol -n all -c cyan -s off
        usleep $offtime
    done
}	

ring_traffic ()
{
    while true
    do
        ledcontrol -n all -c blue -s on
        ledcontrol -n all -c magenta -s on
        usleep $ontime
        ledcontrol -n all -c blue -s off
        ledcontrol -n all -c magenta -s off
        usleep $offtime
    done
}	

ring_apply ()
{
    while true
    do
        ledcontrol -n all -c white -s on
        usleep $ontime
        ledcontrol -n all -c white -s off
        usleep $offtime
    done
}	

ring_upgrade ()
{
    while true
    do
        ledcontrol -n all -c white -s on
        usleep $ontime
        ledcontrol -n all -c white -s off
        usleep $offtime
    done
}	

case "$action" in
    red | 0)
    ring_red
    ;;
    green | 1)
    ring_green
    ;;
    blue | 2)
    ring_blue
    ;;
    white | 3)
    ring_white
    ;;
    amber | 4)
    ring_amber
    ;;
    cyan | 5)
    ring_cyan
    ;;
    magenta | 6)
    ring_magenta
    ;;
    traffic)
    ring_traffic
    ;;
    apply)
    ring_apply
    ;;
    upgrade)
    ring_upgrade
    ;;
esac
