#!/bin/bash
LED_NUM=6
aLED_base=(906 919 898 899 900 901)
##export all led
#echo "export all led"
index=0
while((${index} < ${LED_NUM}))
do
echo ${aLED_base[${index}]} > /sys/class/gpio/export
let "index++"
done
##set all gpio-led pin direction out
#echo "set all gpio-led pin direction out"
index=0
while((${index} < ${LED_NUM}))
do
echo out > /sys/class/gpio/gpio${aLED_base[${index}]}/direction
let "index++"
done
##turn off all led
#echo "turn off all led"
index=0
while((${index} < ${LED_NUM}))
do
echo 1 > /sys/class/gpio/gpio${aLED_base[${index}]}/value
let "index++"
done
## user function
function loopFlush()
{
#echo "into loopFlush function"
DELAY_TIME=0.03
LOOP_COUNT=10
_loopTime=0
while((${_loopTime} < ${LOOP_COUNT}))
do
#echo "FC:loopFlush start"
##turn on
index=0
while((${index} < ${LED_NUM}))
do
echo 0 > /sys/class/gpio/gpio${aLED_base[${index}]}/value
let "index++"
sleep ${DELAY_TIME}
done
##turn off
index=0
while((${index} < ${LED_NUM}))
do
echo 1 > /sys/class/gpio/gpio${aLED_base[${index}]}/value
let "index++"
sleep ${DELAY_TIME}
done
let "_loopTime++"
#echo "FC:loopFlush end"
done
}
function crossFlush()
{
_aLedStateLine=(0 0 0 1 1 1 0 0 0 1 1 1 )
_aLedNumLine=(906 919 898 906 919 898 901 900 899 901 900 899)
_loopTime=0
LOOP_COUNT=10
while((${_loopTime} < ${LOOP_COUNT}))
do
index=0
while((${index} < ${#_aLedNumLine[*]}))
do
echo ${_aLedStateLine[${index}]} > /sys/class/gpio/gpio${_aLedNumLine[${index}]}/value
let "index++"
sleep 0.05
done
sleep 0.05
let "_loopTime++"
done
}
#main
loopFlush
crossFlush
:<<COMM
##export all led
echo 898 > /sys/class/gpio/export
echo 899 > /sys/class/gpio/export
echo 900 > /sys/class/gpio/export
echo 901 > /sys/class/gpio/export
echo 906 > /sys/class/gpio/export
echo 919 > /sys/class/gpio/export
##set all gpio-led pin direction out
echo out > /sys/class/gpio/gpio906/direction
echo out > /sys/class/gpio/gpio919/direction
echo out > /sys/class/gpio/gpio898/direction
echo out > /sys/class/gpio/gpio899/direction
echo out > /sys/class/gpio/gpio900/direction
echo out > /sys/class/gpio/gpio901/direction
##turn off all led
echo 1 > /sys/class/gpio/gpio906/value
echo 1 > /sys/class/gpio/gpio919/value
echo 1 > /sys/class/gpio/gpio898/value
echo 1 > /sys/class/gpio/gpio899/value
echo 1 > /sys/class/gpio/gpio900/value
echo 1 > /sys/class/gpio/gpio901/value
while((${LOOP_COUNT} > 0))
do
##turn on
echo 0 > /sys/class/gpio/gpio906/value
sleep ${DELAY_TIME}
echo 0 > /sys/class/gpio/gpio919/value
sleep ${DELAY_TIME}
echo 0 > /sys/class/gpio/gpio898/value
sleep ${DELAY_TIME}
echo 0 > /sys/class/gpio/gpio899/value
sleep ${DELAY_TIME}
echo 0 > /sys/class/gpio/gpio900/value
sleep ${DELAY_TIME}
echo 0 > /sys/class/gpio/gpio901/value
sleep ${DELAY_TIME}
##turn off
echo 1 > /sys/class/gpio/gpio906/value
sleep ${DELAY_TIME}
echo 1 > /sys/class/gpio/gpio919/value
sleep ${DELAY_TIME}
echo 1 > /sys/class/gpio/gpio898/value
sleep ${DELAY_TIME}
echo 1 > /sys/class/gpio/gpio899/value
sleep ${DELAY_TIME}
echo 1 > /sys/class/gpio/gpio900/value
sleep ${DELAY_TIME}
echo 1 > /sys/class/gpio/gpio901/value
sleep ${DELAY_TIME}
let "LOOP_COUNT--"
done
COMM