#!/bin/sh

# /usr/local/kpro/bin/Fand 20080818 jm

CONF_FILE=/etc/fan.prof
MICONAPL=/usr/local/bin/miconapl
GET_TEMP="${MICONAPL} -a temp_get"
SET_FAN_SPEED="${MICONAPL} -a fan_set_speed"

${MICONAPL} -a fan_set_speed full

while :
do
    sleep 60
    TEMP=`${GET_TEMP}|grep temp=| sed -e "s/.*=//"`
    CUR_SPEED=`${SET_FAN_SPEED}|grep fan_speed=|sed -e "s/.*=//"`
    if [ -f ${CONF_FILE} ] ; then
        L_LIMIT=`grep ${CUR_SPEED} ${CONF_FILE}| awk '{print $2}'`
        H_LIMIT=`grep ${CUR_SPEED} ${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

        NEW_SPEED=${CUR_SPEED}
        case ${DIRECT} in
        DOWN)
            case ${CUR_SPEED} in
                slow) NEW_SPEED=stop ;;
                fast) NEW_SPEED=slow ;;
                full) NEW_SPEED=fast ;;
            esac
            ;;
        UP)
            case ${CUR_SPEED} in
                stop) NEW_SPEED=slow ;;
                slow) NEW_SPEED=fast ;;
                fast) NEW_SPEED=full ;;
            esac
            ;;
        esac
        ${SET_FAN_SPEED} ${NEW_SPEED}
    fi
done
