请问如何用命令行调整背光亮度?
-
请问如何用命令行调整背光亮度?
《D1_Linux_LCD_开发指南.pdf》 没有找到相关说明
-
可能只能用 ioctl 命令控制背光,但是我测试了一下,并没有什么作用,而且屏幕都黑了。
https://blog.csdn.net/weixin_43772810/article/details/111617402
#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> //disp驱动部分命令(与背光相关,内核目录:/include/video/sunxi_display2.h) #define DISP_LCD_SET_BRIGHTNESS 0x102 #define DISP_LCD_GET_BRIGHTNESS 0x103 #define DISP_LCD_BACKLIGHT_ENABLE 0x104 #define DISP_LCD_BACKLIGHT_DISABLE 0x105 #define BRIGHTNESS_MAX 255 //最大亮度 int main(int argc, char *argv[]) { int fd; unsigned long args[3]={0}; /*打开disp设备文件*/ fd = open("/dev/disp", O_RDWR, 0); if(fd < 0) { printf("open /dev/disp failed.\n"); return -1; } /*打印旧的背光值*/ args[0] = 0; //选择fb0(lcd0) printf("the old lcd%d brightness is %d\n",\ args[0],ioctl(fd,DISP_LCD_GET_BRIGHTNESS,args)); if(argc != 2) { printf("ERROR: the right format: ./app [brightness]\n"); return -1; } int brightness = atoi(argv[1]); if(brightness < 0 || brightness > BRIGHTNESS_MAX) { printf("ERROR: the range is 0 to %d\n",BRIGHTNESS_MAX); return -1; } /*参数数组填参*/ args[0] = 0; args[1] = brightness; //背光值(本人配置里最高为255) args[2] = 0; //暂时用不到的参数 ioctl(fd,DISP_LCD_SET_BRIGHTNESS,args); printf("the new lcd%d brightness is %d\n",\ args[0],ioctl(fd,DISP_LCD_GET_BRIGHTNESS,args)); close(fd); return 0; }
-
问了一个大佬,给我的答复是:
打开一个/dev/disp之后,获取文件描述符fb,不要关闭fb
如果/dev/disp打开5个,关闭4次正常,如果再关闭一次,驱动会调用清图层操作。
cat /sys/class/disp/disp/attr/sys为 空,说明没有一个图层然后我把 close(fd) 屏蔽起来,执行完发现仍然黑屏。
-
会不会是进程退出,自动 close 了文件句柄呢?
然后继续测试了一下:
这样保持进程不退出,就可以调整背光亮度了。
-
终于找到了, 可以用命令行调整背光亮度了:
mount -t debugfs none /sys/kernel/debug; cd /sys/kernel/debug/dispdbg; #背光0 echo lcd0 > name; echo setbl > command; echo 0 > param; echo 1 > start #背光255 echo lcd0 > name; echo setbl > command; echo 255 > param; echo 1 > start
-
@whycan 在 请问如何用命令行调整背光亮度? 中说:
终于找到了, 可以用命令行调整背光亮度了:
mount -t debugfs none /sys/kernel/debug; cd /sys/kernel/debug/dispdbg; #背光0 echo lcd0 > name; echo setbl > command; echo 0 > param; echo 1 > start #背光255 echo lcd0 > name; echo setbl > command; echo 255 > param; echo 1 > start
回禀大佬,这命令行控制没反应
-
@jr_online 自己写个测试小程序 , ioctl 肯定是可以的
-
@ubuntu test_bright.tar.gz
来,给你个包吧。
brightnesstester 这个文件夹里的代码就能编译出来用了。
brightnesstester
这个是应用,后面跟亮度, 不行就看下代码,试试看。oled 之类的不行,要魔改。
pwm类独立背光可以。 -
-
@tevet 在 请问如何用命令行调整背光亮度? 中说:
@jr_online 自己写个测试小程序 , ioctl 肯定是可以的
大佬,我刚测试了,在t113上,通过ioctl也是控制不了背光亮度,没反应,但是能设置和读取亮度值。
-
@jr_online 不应当啊,追踪一下LOG 和sunxi的 disp 那块吧,自己搞几个打印跑下。
我发的包和bin程序是跑在D1s 上面的 -
@tevet 在 请问如何用命令行调整背光亮度? 中说:
@jr_online 不应当啊,追踪一下LOG 和sunxi的 disp 那块吧,自己搞几个打印跑下。
我发的包和bin程序是跑在D1s 上面的回大佬,我是通过晕哥这个来测试的
新旧的背光值能打印出来但是背光没有变化,想请问一下大佬具体是sunxi disp哪一个部分?
在手册上是这样讲的:
-
@jr_online
这个IOCTL 的处理在驱动里边 , lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/ -
@tevet 在 请问如何用命令行调整背光亮度? 中说:
@jr_online
这个IOCTL 的处理在驱动里边 , lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/回禀大佬,我找到原因了,忽略了pwm的占空比极性了,设备树里配置的是低电平有效,所以我一直设置亮度为0-50,都是最亮的,所以感觉上没反应。
-
@jr_online 在 请问如何用命令行调整背光亮度? 中说:
@tevet 在 请问如何用命令行调整背光亮度? 中说:
@jr_online
这个IOCTL 的处理在驱动里边 , lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/回禀大佬,我找到原因了,忽略了pwm的占空比极性了,设备树里配置的是低电平有效,所以我一直设置亮度为0-50,都是最亮的,所以感觉上没反应。
喔嚯,是吧,驱动部分,是么得问题的~! 所以那个代码包用上没
-
@tevet 在 请问如何用命令行调整背光亮度? 中说:
@jr_online 在 请问如何用命令行调整背光亮度? 中说:
@tevet 在 请问如何用命令行调整背光亮度? 中说:
@jr_online
这个IOCTL 的处理在驱动里边 , lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/回禀大佬,我找到原因了,忽略了pwm的占空比极性了,设备树里配置的是低电平有效,所以我一直设置亮度为0-50,都是最亮的,所以感觉上没反应。
喔嚯,是吧,驱动部分,是么得问题的~! 所以那个代码包用上没
还没用上,我以为你给ubuntu兄弟的,用于d1h。
我现在是想通过lvgl的slider来控制背光亮度。
待会试试大佬的提供的代码包。 -
@jr_online
ioctl就一个命令完事了,就是我的那个测试代码。
那个测试代码呢,就是嵌入过 lvgl 的,你可以参考 -
@tevet 在 请问如何用命令行调整背光亮度? 中说:
@jr_online
ioctl就一个命令完事了,就是我的那个测试代码。
那个测试代码呢,就是嵌入过 lvgl 的,你可以参考好滴,谢谢大佬指点
-
@whycan 晕哥,为什么我的没有这个目录啊,display驱动这一块用的是disp,不是disp2,好像要是disp2才会有这个调试目录,目前是f1c100s的tina.
通过ioctl的方式可以控制背光,想要通过命令行来控制背光。 -
@jr_online 在 请问如何用命令行调整背光亮度? 中说:
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;#背光0
echo lcd0 > name; echo setbl > command; echo 0 > param; echo 1 > start#背光255
echo lcd0 > name; echo setbl > command; echo 255 > param; echo 1 > startA133 调整背光成功。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号