#!/bin/sh

CONF_FILE=/usr/local/etc/fan.prof
MICONAPL=/usr/local/sbin/miconapl
${MICONAPL} -a fan_set_speed full

while :
do
	while :
	do
		sleep 60
		TEMP=`${MICONAPL} -a temp_get|grep temp=| sed -e "s/.*=//"`
		SPD=`${MICONAPL} -a fan_get_speed|grep fan_rpm=|sed -e "s/.*=//"`
		SSPD=`${MICONAPL} -a fan_set_speed|grep fan_speed=|sed -e "s/.*=//"`
		if [ -f ${CONF_FILE} ] ; then
			L_LIMIT=`grep ${SSPD} ${CONF_FILE}| awk '{print $2}'`
			H_LIMIT=`grep ${SSPD} ${CONF_FILE}| awk '{print $3}'`
			if [ "${TEMP}" -lt "${L_LIMIT}" ] ; then
				DIRECT=DOWN
			elif [ "${TEMP}" -gt "${H_LIMIT}" ] ; then
				DIRECT=UP
			else
				DIRECT=NO
			fi

			if [ "${DIRECT}" = "DOWN" -a "${SSPD}" = "slow" ] ; then
				SSPD_NEW=stop
			elif [ "${DIRECT}" = "DOWN" -a "${SSPD}" = "fast" -o "${DIRECT}" = "UP" -a "${SSPD}" = "stop" ] ; then
				SSPD_NEW=slow
			elif [ "${DIRECT}" = "DOWN" -a "${SSPD}" = "full" -o "${DIRECT}" = "UP" -a "${SSPD}" = "slow" ] ; then
				SSPD_NEW=fast
			elif [ "${DIRECT}" = "UP" -a "${SSPD}" = "fast" ] ; then
				SSPD_NEW=full
			else
				SSPD_NEW=${SSPD}
			fi
			${MICONAPL} -a fan_set_speed ${SSPD_NEW}
		fi
		
	done
done

