在TinaV2.2 D1s上面搞LVGL8去调用G2D旋转让LVGL8的软件旋转再见
-
如题
竖的屏幕横过来用很难受,要转图像,很烦的。
TinaV2.2 已经有LVGL8 GUI福利package那么咱就是说,转一波?
很难受的一点是G2D这设置没找到哪里是完整的配置案例,
一波摸索以后是这样的:disp_rotation_used = <1>; degree0 = <3>; fb0_format = <0>; fb0_buffer_num = <2>; fb0_pixel_sequence = <3>; fb0_scaler_mode_enable = <1>; fb0_width = <854>; fb0_height = <480>; /*read from lcd*/ fb1_format = <0>; fb1_width = <0>; fb1_height = <0>; chn_cfg_mode = <0>;
当然 内核的g2d 配置项目要开启:
编译一波测试一下吧,
舒服啦
-
还可以这样
-
@yuzukitsuru 舒服,玩一下!
-
@tevet 不用这么麻烦的,board.dts的旋转配置是用内核驱动代码来旋转的,不用修改,还原回去即可,下面这种方式是在应用层进行旋转
选上lvgl-8.0.1 use sunxifb g2d rotate之后,如果需要旋转,修改lv_examples/src/main.c即可
uint32_t rotated = LV_DISP_ROT_NONE; //这句代码会传递旋转角度到引擎中 sunxifb_init(rotated);
改成你想要的旋转角度
typedef enum { LV_DISP_ROT_NONE = 0, LV_DISP_ROT_90, LV_DISP_ROT_180, LV_DISP_ROT_270 } lv_disp_rot_t;
这种旋转方式,是在lvgl中进行旋转,并且tp的触摸也会旋转
-
@anruliu
感谢大佬指正,的确如此
我前面遇到的问题是 chn_cfg_mode = <1>; 的情况下 设置degree 为不是 0 的时候,系统旋转成功了logo看到转过来,
结果fb操作无法直接被使用,而且Lvgl8也完全没有用。chn_cfg_mode = <0>; 后可以 使用。
后面搞了lvgl7 之后,才明白,这个degree 搞回0 , sunxifb 可以随便转,和内核fb没半毛钱关系。
-
-
-
-
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号