Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    在TinaV2.2 D1s上面搞LVGL8去调用G2D旋转让LVGL8的软件旋转再见

    MR Series
    3
    5
    3429
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TEVET LV 7 last edited by

      如题
      竖的屏幕横过来用很难受,要转图像,很烦的。
      TinaV2.2 已经有LVGL8 GUI福利package

      QQ截图20220225222732.png

      那么咱就是说,转一波?

      很难受的一点是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 配置项目要开启:
      QQ截图20220225222947.png

      编译一波测试一下吧,
      QQ图片20220225223026.jpg

      舒服啦

      A 1 Reply Last reply Reply Quote Share 3
      • YuzukiTsuru
        柚木 鉉 LV 9 last edited by

        还可以这样afbce520-43b1-4126-982b-ee37899862b2-w.gif

        T 1 Reply Last reply Reply Quote Share 0
        • T
          TEVET LV 7 @YuzukiTsuru last edited by

          @yuzukitsuru 舒服,玩一下!

          1 Reply Last reply Reply Quote Share 0
          • A
            anruliu LV 6 @TEVET last edited by

            @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的触摸也会旋转

            T 1 Reply Last reply Reply Quote Share 0
            • T
              TEVET LV 7 @anruliu last edited by

              @anruliu
              感谢大佬指正,的确如此
              我前面遇到的问题是 chn_cfg_mode = <1>; 的情况下 设置degree 为不是 0 的时候,系统旋转成功了logo看到转过来,
              结果fb操作无法直接被使用,而且Lvgl8也完全没有用。

              chn_cfg_mode = <0>; 后可以 使用。

              后面搞了lvgl7 之后,才明白,这个degree 搞回0 , sunxifb 可以随便转,和内核fb没半毛钱关系。

              1 Reply Last reply Reply Quote Share 0
              • Referenced by  A anruliu 
              • Referenced by  q1215200171 q1215200171 
              • Referenced by  q1215200171 q1215200171 
              • Deleted by  T TEVET 
              • Restored by  whycan whycan 
              • 1 / 1
              • First post
                Last post

              Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

              行为准则 | 用户协议 | 隐私权政策