mirror of
https://github.com/DrHo1y/orangepi-build.git
synced 2026-03-24 17:46:43 +07:00
Add pwm-fan.sh for Orange Pi R1 Plus LTS
This commit is contained in:
64
external/packages/blobs/rockchip/pwm-fan.sh
vendored
Executable file
64
external/packages/blobs/rockchip/pwm-fan.sh
vendored
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -d /sys/class/pwm/pwmchip0 ]; then
|
||||
echo "this model does not support pwm."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d /sys/class/pwm/pwmchip0/pwm0 ]; then
|
||||
echo -n 0 > /sys/class/pwm/pwmchip0/export
|
||||
fi
|
||||
sleep 1
|
||||
while [ ! -d /sys/class/pwm/pwmchip0/pwm0 ];
|
||||
do
|
||||
sleep 1
|
||||
done
|
||||
ISENABLE=`cat /sys/class/pwm/pwmchip0/pwm0/enable`
|
||||
if [ $ISENABLE -eq 1 ]; then
|
||||
echo -n 0 > /sys/class/pwm/pwmchip0/pwm0/enable
|
||||
fi
|
||||
echo -n 1000000 > /sys/class/pwm/pwmchip0/pwm0/period
|
||||
echo -n 1 > /sys/class/pwm/pwmchip0/pwm0/enable
|
||||
|
||||
# max speed run 5s
|
||||
echo -n 500000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
|
||||
sleep 5
|
||||
echo -n 500000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
|
||||
|
||||
# declare -a CpuTemps=(55000 43000 38000 32000)
|
||||
# declare -a PwmDutyCycles=(1000 20000 30000 45000)
|
||||
|
||||
declare -a CpuTemps=(75000 63000 58000 52000)
|
||||
declare -a PwmDutyCycles=(500000 650000 800000 950000)
|
||||
|
||||
declare -a Percents=(100 75 50 25)
|
||||
DefaultDuty=999990
|
||||
DefaultPercents=0
|
||||
|
||||
while true
|
||||
do
|
||||
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
|
||||
INDEX=0
|
||||
FOUNDTEMP=0
|
||||
DUTY=$DefaultDuty
|
||||
PERCENT=$DefaultPercents
|
||||
|
||||
for i in 0 1 2 3; do
|
||||
if [ $temp -gt ${CpuTemps[$i]} ]; then
|
||||
INDEX=$i
|
||||
FOUNDTEMP=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ ${FOUNDTEMP} == 1 ]; then
|
||||
DUTY=${PwmDutyCycles[$i]}
|
||||
PERCENT=${Percents[$i]}
|
||||
fi
|
||||
|
||||
echo -n $DUTY > /sys/class/pwm/pwmchip0/pwm0/duty_cycle;
|
||||
|
||||
# echo "temp: $temp, duty: $DUTY, ${PERCENT}%"
|
||||
# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
|
||||
|
||||
sleep 2s;
|
||||
done
|
||||
@@ -95,6 +95,9 @@ prepare_board() {
|
||||
rfkill unblock all
|
||||
/usr/bin/hciattach_opi -n -s 1500000 /dev/ttyBT0 sprd &
|
||||
;;
|
||||
orangepir1plus|orangepir1plus-lts)
|
||||
/usr/bin/pwm-fan.sh &
|
||||
;;
|
||||
orangepizero2|orangepizero2-lts|orangepizero2-b)
|
||||
if [[ $BRANCH == current ]]; then
|
||||
# Initial hdmi audio
|
||||
|
||||
Reference in New Issue
Block a user