90 lines
2.1 KiB
Bash
90 lines
2.1 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
max=$(cat /sys/class/backlight/intel_backlight/max_brightness)
|
||
|
|
||
|
sensitivity=$((max/90))
|
||
|
|
||
|
treshold=$((max/4))
|
||
|
|
||
|
panOut=$((sensitivity/4))
|
||
|
|
||
|
min=$((max/10))
|
||
|
|
||
|
delay=2
|
||
|
|
||
|
minSensor=404334
|
||
|
|
||
|
|
||
|
while [ 1 ]
|
||
|
do
|
||
|
updated=1
|
||
|
while [ $updated -gt 0 ]
|
||
|
do
|
||
|
updated=0
|
||
|
backlight=$(cat /sys/class/backlight/intel_backlight/brightness)
|
||
|
sensor=$(cat /sys/bus/iio/devices/iio:device0/in_illuminance_raw)
|
||
|
# Scale the sensor a bit
|
||
|
sensor=$((sensor/10))
|
||
|
sensor=$((5*sensor))
|
||
|
target=$backlight
|
||
|
|
||
|
echo Current backlight: $backlight
|
||
|
echo Max backlight: $max
|
||
|
echo Sensitivity is: $sensitivity
|
||
|
echo Threshold is: $treshold
|
||
|
echo panOut is: $panOut
|
||
|
echo min is: $min
|
||
|
echo Current sensor reading: $sensor
|
||
|
echo Target is: $backlight
|
||
|
|
||
|
if [ $sensor -lt $treshold ]
|
||
|
then
|
||
|
echo Sensor was less than backlight
|
||
|
sensor=$(((sensor+panOut)+min))
|
||
|
echo New sensor: $sensor
|
||
|
fi
|
||
|
|
||
|
|
||
|
|
||
|
if [ $sensor -gt $((backlight+sensitivity)) ]
|
||
|
then
|
||
|
echo Sensor was greater than backlight+sensitivity
|
||
|
updated=1
|
||
|
target=$((target+(sensitivity/2)))
|
||
|
echo New target: $target
|
||
|
fi
|
||
|
|
||
|
|
||
|
if [ $sensor -lt $((backlight-sensitivity)) ]
|
||
|
then
|
||
|
echo Sensor was less than backlight-sensitivity
|
||
|
updated=1
|
||
|
target=$((target-(sensitivity/2)))
|
||
|
echo New target: $target
|
||
|
fi
|
||
|
|
||
|
|
||
|
if [ $target -gt $max ]
|
||
|
then
|
||
|
echo Target was greater than max brightness
|
||
|
target=$max
|
||
|
echo New target: $target
|
||
|
fi
|
||
|
|
||
|
if [ $target -lt 1 ]
|
||
|
then
|
||
|
echo Target was less than 1
|
||
|
target=$min
|
||
|
echo New target: $target
|
||
|
fi
|
||
|
|
||
|
if [ $updated -gt 0 ]
|
||
|
then
|
||
|
echo $target > /sys/class/backlight/intel_backlight/brightness
|
||
|
fi
|
||
|
|
||
|
done
|
||
|
echo Sleeping
|
||
|
sleep $delay
|
||
|
done
|