主题 : tiny6410 android下,背光控制的问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 96073
精华: 0
发帖: 63
金钱: 315 两
威望: 63 点
综合积分: 126 分
注册时间: 2013-09-04
最后登录: 2015-04-24
楼主  发表于: 2014-02-13 11:47

 tiny6410 android下,背光控制的问题

网上说的 修改屏幕的背光亮度,只要修改sys/class/leds/lcd-backlight/brightness,就可以了,但是我找了时钟没有找到,不知道友善之臂的驱动生成的节点是哪个目录,求解答?
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2014-02-13 13:14
不是都在/dev/目录下吗
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 96073
精华: 0
发帖: 63
金钱: 315 两
威望: 63 点
综合积分: 126 分
注册时间: 2013-09-04
最后登录: 2015-04-24
2楼  发表于: 2014-02-13 13:32

 回 1楼(mindee) 的帖子

修改背光亮度 应该是 写一个数到brightness中 就可以了的,例如 echo 30 > brightness 中,这个brightness 不在dev 目录下,不知道友善之比的android的调节屏幕的亮度是怎么实现的
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2014-02-13 15:30

 回 2楼(tb273496_201) 的帖子

引用第2楼tb273496_201于2014-02-13 13:32发表的 回 1楼(mindee) 的帖子 :
修改背光亮度 应该是 写一个数到brightness中 就可以了的,例如 echo 30 > brightness 中,这个brightness 不在dev 目录下,不知道友善之比的android的调节屏幕的亮度是怎么实现的

友善之臂没有采用LED class架构的背光驱动,而是一个自定义的misc设备,设备节点在/dev/backlight-1wire
从源代码(drivers/input/touchscreen/mini6410_1wire_host.c)看, 你可以试试用"echo brightness_value > /dev/backlight-1wire"的方式设定背光亮度

复制代码
  1. static ssize_t bl_write(struct file *file, const char *buffer, size_t count, loff_t * ppos)
  2. {
  3.         int ret;
  4.         char buf[4] = {0, 0, 0, 0};
  5.         unsigned v;
  6.         unsigned len;
  7.         if (count == 0) {
  8.                 return -EINVAL;
  9.         }
  10.         if (count > sizeof buf - 1) {
  11.                 len = sizeof buf - 1;
  12.         } else {
  13.                 len = count;
  14.         }
  15.         ret = copy_from_user(buf, buffer, len);
  16.         if (ret) {
  17.                 return -EFAULT;
  18.         }
  19.         if (sscanf(buf, "%u", &v) != 1) {
  20.                 return -EINVAL;
  21.         }
  22.         
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 96073
精华: 0
发帖: 63
金钱: 315 两
威望: 63 点
综合积分: 126 分
注册时间: 2013-09-04
最后登录: 2015-04-24
4楼  发表于: 2014-02-13 16:41

 回 3楼(kasim) 的帖子

试过了,多谢提示。对于设置中设置屏幕亮度,查看了android源代码,找不到你们是怎么实现的,是怎样实现的呢?
级别: 侠客
UID: 96073
精华: 0
发帖: 63
金钱: 315 两
威望: 63 点
综合积分: 126 分
注册时间: 2013-09-04
最后登录: 2015-04-24
5楼  发表于: 2014-02-13 16:46

 回 3楼(kasim) 的帖子

亮度设置的java源:
mydroid/packages/apps/Settings/src/com/android/settings/BrightnessPreference.java
背光的JNI层源码在:
mydroid/frameworks/base/services/jni/com_android_server_LightsService.cpp

查看了Android-2.3.4\device\samsung\crespo\liblight\light.c  以及其他的light.c都没有什么发现,
对于屏幕亮度设置,友善之臂是怎么做的呢?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2014-02-13 17:44

 回 5楼(tb273496_201) 的帖子

友善之臂没有公开lights HAL的源代码,二进制档在vendor/friendly-arm/mini6410/prebuilt/lights.mini6410.so, 里面做的事情就是通过这个设备节点控制背光亮度。
其实你了解了背光控制驱动的接口之后,自己也可以写一个lights HAL.  
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 96073
精华: 0
发帖: 63
金钱: 315 两
威望: 63 点
综合积分: 126 分
注册时间: 2013-09-04
最后登录: 2015-04-24
7楼  发表于: 2014-02-13 17:49

 回 6楼(kasim) 的帖子

谢谢