#!/bin/sh
# Small script to set pattern of the power LED

MUX_REG="/sys/class/engine/engine/leds_mux"
POWER_PATTERN_REG="/sys/class/engine/engine/pow_led_pattern"

name[0]="always off"
pattern[0]="00000000"
name[1]="1x blink"
pattern[1]="10000000"
name[2]="2x blink"
pattern[2]="10100000"
name[3]="3x blink"
pattern[3]="10101000"
name[4]="4x blink"
pattern[4]="10101010"
name[5]="1x long blink"
pattern[5]="11000000"
name[6]="normal blink"
pattern[6]="11001100"
name[7]="always on"
pattern[7]="11111111"

help() {
	printf "Usage: %s [OPTION]\n" "$0"
	printf "Enables a blink pattern for the power LED or disables the LED.\n\n"
	printf "OPTION:\tDescription:\tBlink pattern:\n"

	for i in `seq 0 7`;
	do
		printf " %d\t %s\t %s\n" $(($i)) "${name[$i]}" "${pattern[$i]}"
	done

	printf "\n"
	exit 1
}
chmod 0666 $POWER_PATTERN_REG
re='^[0-9]+$'
if [[ ${1} =~ $re ]]
then 
	# Set power LED to hardware control
	POWER_LED=$(printf '%d\n' "$((2#10000000000000000000))")	   
	OLD_VALUE=$(printf '%d\n' "$((16#$(cat $MUX_REG | cut -c 3-)))")
	MUX=$(($OLD_VALUE|$POWER_LED))
	echo $MUX > $MUX_REG

	#Set PATTERN
	if (( $1 <= 7 && $1 >= 0 ))
	then
		echo $1 > $POWER_PATTERN_REG
		echo "Pattern: ${name[$1]}"
		exit 0
	fi
fi
help