Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:vu8c_backlightcontrol [2017/01/13 13:46] joy.cho [VU8C Backlight On/Off Control by Monitor Status] |
en:vu8c_backlightcontrol [2017/06/09 15:39] (current) codewalker |
||
---|---|---|---|
Line 22: | Line 22: | ||
path="/sys/class/gpio" | path="/sys/class/gpio" | ||
- | echo 234 > $path/export | ||
echo 214 > $path/export | echo 214 > $path/export | ||
- | echo out > $path/gpio234/direction | ||
echo out > $path/gpio214/direction | echo out > $path/gpio214/direction | ||
- | echo 0 > $path/gpio234/value | ||
echo 0 > $path/gpio214/value | echo 0 > $path/gpio214/value | ||
- | chown odroid $path/gpio234/value | ||
chown odroid $path/gpio214/value | chown odroid $path/gpio214/value | ||
</code> | </code> | ||
Line 40: | Line 36: | ||
echo 97 > $path/export | echo 97 > $path/export | ||
- | echo 108 > $path/export | ||
echo out > $path/gpio97/direction | echo out > $path/gpio97/direction | ||
- | echo out > $path/gpio108/direction | ||
echo 0 > $path/gpio97/value | echo 0 > $path/gpio97/value | ||
- | echo 0 > $path/gpio108/value | ||
chown odroid $path/gpio97/value | chown odroid $path/gpio97/value | ||
- | chown odroid $path/gpio108/value | ||
</code> | </code> | ||
Line 82: | Line 74: | ||
# backlight off first | # backlight off first | ||
echo 1 > $path/gpio214/value | echo 1 > $path/gpio214/value | ||
- | echo 1 > $path/gpio234/value | ||
cur_stat=$stat | cur_stat=$stat | ||
elif [ "$stat" == "On" -a "$cur_stat" == "Off" ]; then | elif [ "$stat" == "On" -a "$cur_stat" == "Off" ]; then | ||
Line 110: | Line 101: | ||
echo "monitor goes to Off" | echo "monitor goes to Off" | ||
echo 1 > $path/gpio97/value | echo 1 > $path/gpio97/value | ||
- | echo 1 > $path/gpio108/value | ||
cur_stat=$stat | cur_stat=$stat | ||
elif [ "$stat" == "On" -a "$cur_stat" == "Off" ]; then | elif [ "$stat" == "On" -a "$cur_stat" == "Off" ]; then | ||
echo "monitor turns back On" | echo "monitor turns back On" | ||
- | echo 0 > $path/gpio108/value | ||
echo 0 > $path/gpio97/value | echo 0 > $path/gpio97/value | ||
cur_stat=$stat | cur_stat=$stat | ||
Line 146: | Line 135: | ||
</code> | </code> | ||
===== [ Android ] ===== | ===== [ Android ] ===== | ||
- | + | [[en:vu_backlight_with_android|How to control backlight of the ODROID-VU5/7/7+/8C]] | |
- | On Android, we are investigating how to control and run auto control scheme. \\ | + | |
- | As soon as it's done, we will make the instruction guide here. | + | |
- | + | ||
- | (UNDER CONSTRUCTION!!!) | + | |
- | + | ||
- | ==== 1. Download script ==== | + | |
- | + | ||
- | First, set the root filesystem writable using remount command. | + | |
- | <code> | + | |
- | # su | + | |
- | # mount -o rw,remount / | + | |
- | </code> | + | |
- | + | ||
- | Make or download the following shell script of the board model that you're using (C1 or C2)\\ | + | |
- | and copy it in **/system/bin/**.\\ | + | |
- | And set its permission. | + | |
- | <code> | + | |
- | # su | + | |
- | # chmod 755 /system/bin/vu8c_backlight_c2_android.sh | + | |
- | </code> | + | |
- | + | ||
- | * ODROID-C2 | + | |
- | <file sh vu8c_backlight_c2_android.sh> | + | |
- | #!/bin/sh | + | |
- | + | ||
- | path="/sys/class/gpio" | + | |
- | + | ||
- | echo 234 > $path/export | + | |
- | echo 214 > $path/export | + | |
- | + | ||
- | echo out > $path/gpio234/direction | + | |
- | echo out > $path/gpio214/direction | + | |
- | echo 0 > $path/gpio234/value | + | |
- | echo 0 > $path/gpio214/value | + | |
- | + | ||
- | chown system system $path/gpio234/value | + | |
- | chown system system $path/gpio214/value | + | |
- | + | ||
- | cur_stat="On" | + | |
- | + | ||
- | while [ 1 ]; do | + | |
- | + | ||
- | sleep 1 | + | |
- | + | ||
- | screen_info=`dumpsys power | grep "Display Power"` | + | |
- | + | ||
- | if [[ $screen_info == *"OFF"* && $cur_stat == "On" ]]; then | + | |
- | echo "monitor goes to Off" | + | |
- | # backlight off first | + | |
- | echo 1 > $path/gpio214/value | + | |
- | echo 1 > $path/gpio234/value | + | |
- | cur_stat="Off" | + | |
- | elif [[ $screen_info == *"ON"* && $cur_stat == "Off" ]]; then | + | |
- | echo "monitor turns back On" | + | |
- | echo 0 > $path/gpio234/value | + | |
- | # backlight on later | + | |
- | echo 0 > $path/gpio214/value | + | |
- | cur_stat="On" | + | |
- | fi | + | |
- | done | + | |
- | </file> | + | |
- | * ODROID-C1/C1+ | + | |
- | <file sh vu8c_backlight_c1_android.sh> | + | |
- | #!/bin/sh | + | |
- | + | ||
- | path="/sys/class/gpio" | + | |
- | + | ||
- | echo 97 > $path/export | + | |
- | echo 108 > $path/export | + | |
- | + | ||
- | echo out > $path/gpio97/direction | + | |
- | echo out > $path/gpio108/direction | + | |
- | echo 0 > $path/gpio97/value | + | |
- | echo 0 > $path/gpio108/value | + | |
- | + | ||
- | chown system system $path/gpio97/value | + | |
- | chown system system $path/gpio108/value | + | |
- | + | ||
- | cur_stat="On" | + | |
- | + | ||
- | while [ 1 ]; do | + | |
- | + | ||
- | sleep 1 | + | |
- | + | ||
- | screen_info=`dumpsys power | grep "Display Power"` | + | |
- | + | ||
- | if [[ $screen_info == *"OFF"* && $cur_stat == "On" ]]; then | + | |
- | echo "monitor goes to Off" | + | |
- | echo 1 > $path/gpio97/value | + | |
- | echo 1 > $path/gpio108/value | + | |
- | cur_stat="Off" | + | |
- | elif [[ $screen_info == *"ON"* && $cur_stat == "Off" ]]; then | + | |
- | echo "monitor turns back On" | + | |
- | echo 0 > $path/gpio108/value | + | |
- | echo 0 > $path/gpio97/value | + | |
- | cur_stat="On" | + | |
- | fi | + | |
- | done | + | |
- | </file> | + | |
- | + | ||
- | ==== 2. Configure Init to run script on boot ==== | + | |
- | Now, you need to register the service to run this script automatically on boot time.\\ | + | |
- | + | ||
- | Add the following lines in the end of **/system/init.odroid.board.rc**.\\ | + | |
- | Don't forget the root filesystem should be writable as aforementioned. | + | |
- | + | ||
- | - in case of C2 | + | |
- | <code> | + | |
- | # vi /system/init.odroid.board.rc | + | |
- | ..... | + | |
- | ..... | + | |
- | service vu8c_backlight /system/bin/vu8c_backlight_c2_android.sh | + | |
- | class main | + | |
- | user root | + | |
- | group root | + | |
- | oneshot | + | |
- | </code> | + | |
- | + | ||
- | - in case of C1 | + | |
- | <code>> | + | |
- | # vi /system/init.odroid.board.rc | + | |
- | ..... | + | |
- | ..... | + | |
- | service vu8c_backlight /system/bin/vu8c_backlight_c1_android.sh | + | |
- | class main | + | |
- | user root | + | |
- | group root | + | |
- | oneshot | + | |
- | </code> | + | |
- | And then, reboot the system. | + | |
- | <code> | + | |
- | # reboot | + | |
- | </code> | + |