diff --git a/clean_bash/coolfan-control b/clean_bash/coolfan-control deleted file mode 100644 index 242b528..0000000 --- a/clean_bash/coolfan-control +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh - -# Physical | V | Mode | Name | wPi | GPIO -# 8 | 0 | OUT | TXD.3 | 3 | 13 -readonly FAN_PIN="13" -readonly FAN_PATH=/sys/class/gpio/gpio${FAN_PIN} - -readonly MSG_ON="Fan ON!" -readonly MSG_OFF="Fan OFF!" -old_state=$(cat $FAN_PATH/value) - -setup() -{ - echo $FAN_PIN > /sys/class/gpio/export - echo "out" > $FAN_PATH/direction - echo 0 > $FAN_PATH/value -} -cleanup() -{ - echo 0 > $FAN_PATH/value - echo $FAN_PIN > /sys/class/gpio/unexport -} - -on() -{ - echo 1 > $FAN_PATH/value -} -off() -{ - echo 0 > $FAN_PATH/value -} -case $1 in - on|off ) "$1";; -esac - -cur_state=$(cat $FAN_PATH/value) -if [ "$old_state" != "$cur_state" ] && [ -z "$2" ]; then - if [ "$cur_state" = 0 ]; then - echo $MSG_OFF - else - echo $MSG_ON - fi -fi diff --git a/coolfan-control b/coolfan-control new file mode 100644 index 0000000..edec689 --- /dev/null +++ b/coolfan-control @@ -0,0 +1,60 @@ +#!/bin/sh + +# Physical | V | Mode | Name | wPi | GPIO +# 8 | 0 | OUT | TXD.3 | 3 | 13 +# readonly FAN_PIN=13 +readonly FAN_PIN=3 +readonly FAN_START=44000 +readonly FAN_STOP=35000 +readonly SLEEP_TIME=10 +FAN_STATE=0 + +setup() +{ + # echo $FAN_PIN > /sys/class/gpio/export + # echo "out" > $FAN_PATH/direction + # echo 0 > $FAN_PATH/value + gpio export $FAN_PIN out + gpio write $FAN_PIN 0 +} +cleanup() +{ + # echo $FAN_STATE > $FAN_PATH/value + # echo $FAN_PIN > /sys/class/gpio/unexport + gpio write $FAN_PIN 0 + gpio unexport $FAN_PIN + rm /var/run/coolfan.pid + exit 0 +} +setFanState() +{ + if [ $(gpio read $FAN_PIN) != $1 ]; then + # echo $1 > $FAN_PATH/value + gpio write $FAN_PIN $1 + fi +} + + +setup +trap cleanup 15 +echo $$ > /var/run/coolfan.pid + +while :; do + #echo $$ > /var/run/coolfan.pid + + TEMP=$(cat /sys/class/thermal/thermal_zone0/temp) + + if [ "$TEMP" -ge "$FAN_START" ] && [ $FAN_STATE != 1 ] ; then + FAN_STATE=1 + setFanState $FAN_STATE + echo "FAN ON; TEMP: $TEMP" + else + if [ "$TEMP" -le "$FAN_STOP" ] && [ $FAN_STATE != 0 ] ; then + FAN_STATE=0 + setFanState $FAN_STATE + echo "FAN OFF; TEMP: $TEMP" + fi + fi + + sleep $SLEEP_TIME +done diff --git a/coolfan-start b/coolfan-start deleted file mode 100644 index 0a85b40..0000000 --- a/coolfan-start +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -FAN_START=45000 -FAN_STOP=36000 - -cleanup() -{ - /usr/bin/coolfan-control cleanup - rm /var/run/coolfan.pid - exit 0 -} - -trap cleanup 15 - -/usr/bin/coolfan-control setup - -while :; do - echo $$ > /var/run/coolfan.pid - - TEMP=$(cat /sys/class/thermal/thermal_zone0/temp) - - if [ "$TEMP" -ge "$FAN_START" ]; then - /usr/bin/coolfan-control on - else - if [ "$TEMP" -le "$FAN_STOP" ]; then - /usr/bin/coolfan-control off - fi - fi - sleep 10 -done diff --git a/coolfan.service b/coolfan.service index 7621ea8..e9497bc 100644 --- a/coolfan.service +++ b/coolfan.service @@ -3,7 +3,7 @@ Description=Controls cooling fan on GPIO [Service] Type=simple -ExecStart=/usr/bin/coolfan-start +ExecStart=/usr/bin/coolfan-control ExecStop=/usr/bin/coolfan-stop Restart=always PIDFile=/var/run/coolfan.pid diff --git a/using_wiringOP/coolfan-control b/using_wiringOP/coolfan-control deleted file mode 100644 index 5e2d3ad..0000000 --- a/using_wiringOP/coolfan-control +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -# Physical | V | Mode | Name | wPi | GPIO -# 8 | 0 | OUT | TXD.3 | 3 | 13 -readonly FAN_PIN="3" - -readonly MSG_ON="Fan ON!" -readonly MSG_OFF="Fan OFF!" - -setup() -{ - gpio export $FAN_PIN out - gpio write $FAN_PIN 0 - old_state=$(gpio read $FAN_PIN) -} -cleanup() -{ - gpio write $FAN_PIN 0 - gpio unexport $FAN_PIN -} - -on() -{ - gpio write $FAN_PIN 1 -} -off() -{ - gpio write $FAN_PIN 0 -} -case $1 in - on|off ) "$1";; -esac - -cur_state=$(gpio read $FAN_PIN) -if [ "$old_state" != "$cur_state" ] && [ -z "$2" ]; then - if [ "$cur_state" = 0 ]; then - echo $MSG_OFF - else - echo $MSG_ON - fi -fi