导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页
    1. 主页
    2. planevina
    P
    • 资料
    • 关注 0
    • 粉丝 0
    • 我的积分 299
    • 主题 2
    • 帖子 4
    • 最佳 3
    • 群组 0

    planevinaLV 3

    @planevina

    299
    积分
    5
    声望
    2
    资料浏览
    4
    帖子
    0
    粉丝
    0
    关注
    注册时间 最后登录

    planevina 取消关注 关注

    planevina 发布的最佳帖子

    • 回复: 【水经验混下载权限专用贴】如何升级LV2拉取SDK

      审核起来了,我要下sdk

      发布在 灌水区
      P
      planevina
    • 回复: 【水经验混下载权限专用贴】如何升级LV2拉取SDK

      您好,我正在使用翻译器并回复以达到Lv 2

      发布在 灌水区
      P
      planevina

    planevina 发布的最新帖子

    • 还是AMOLED MIPI屏实时亮度调节的问题

      我在用T113-s3 ,tina 2.x ,驱动mipi的amoled屏,并尝试实时调整亮度

      首先我绑定了 .set_bright函数
      static int lcd_set_bright(u32 sel, u32 bright)
      {
      u8 para2 = bright & 0xff;
      sunxi_lcd_dsi_dcs_write_2para(sel, 0x51, 0x00, para2);
      return 0;
      }
      然后一调用亮度调节,屏幕亮度虽然调节了但立即卡死了

      经查询得知亮度调节需要在LP模式下进行
      于是我修改为
      static int lcd_set_bright(u32 sel, u32 bright)
      {
      sunxi_lcd_dsi_mode_switch(sel, 0, 1); //进入LP模式
      u8 para2 = bright & 0xff;
      sunxi_lcd_dsi_dcs_write_2para(sel, 0x51, 0x00, para2);
      sunxi_lcd_dsi_mode_switch(sel, 0, 0); //进入高速模式
      return 0;
      }

      症状依旧。
      在追踪了sunxi_lcd_dsi_mode_switch 函数后我发现
      de/lowlever_v2x/de_dsi.c 文件里面根本没实现 dsi_mode_switch函数,如下
      __s32 dsi_mode_switch(__u32 sel, __u32 cmd_en, __u32 lp_en)
      {
      return 0;
      }

      反而是 de/lowlever_v2x/de_dsi_28.c文件里面实现了
      __s32 dsi_mode_switch(__u32 sel, __u32 cmd_en, __u32 lp_en)
      {
      /for video mode only/
      /switch between low power mode and high speed mode/
      dsi_dev[sel]->dsi_cmd_ctl.bits.gen_sw_0p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.gen_sw_1p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.gen_sw_2p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.gen_sr_0p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.gen_sr_1p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.gen_sr_2p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.dcs_sw_0p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.dcs_sw_1p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.dcs_sr_0p_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.max_rd_pkg_size_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.gen_lw_tx_lp = lp_en;
      dsi_dev[sel]->dsi_cmd_ctl.bits.dcs_lw_tx_lp = lp_en;

      /*command mode use dbi interface*/
      /*video mode use dpi interface*/
      if (cmd_en) {
      	dsi_dev[sel]->dsi_cfg1.bits.dpi_src = 0;
      	dsi_delay_ms(16);
      	dsi_dev[sel]->dsi_vid_ctl0.bits.video_mode_en = 0;
      	dsi_dev[sel]->dsi_cmd_ctl.bits.cmd_mode_en = 1;
      } else {
      	dsi_dev[sel]->dsi_cmd_ctl.bits.cmd_mode_en = 0;
      	dsi_dev[sel]->dsi_vid_ctl0.bits.video_mode_en = 1;
      	dsi_dev[sel]->dsi_cfg1.bits.dpi_src = 1;
      }
      return 0;
      

      }

      但问题在于,T113 S3 属于 de_dsi.c ,他编译不调用28的那个版本。
      我尝试将28的那个版本的函数拷贝过去,编译出错,因为结构体不一样,de_dsi.c 这边的结构体没有那几个成员,不如说全部都不一样

      问题进入死胡同,后来我在论坛搜索到之前大佬2年前的帖子
      https://bbs.aw-ol.com/topic/1852/oled的mipi屏幕实时亮度改变问题/5?_=1729702801269&lang=zh-CN

      大佬后来用中断实现了调节过程,但由于缺乏几个函数,我对中断这种底层东西一无所谓
      就想问问,目前T113 平台要调节OLED亮度,要怎样才能实现呢

      感激不尽

      发布在 T Series
      P
      planevina
    • 回复: 【水经验混下载权限专用贴】如何升级LV2拉取SDK

      您好,我正在使用翻译器并回复以达到Lv 2

      发布在 灌水区
      P
      planevina
    • 回复: 【水经验混下载权限专用贴】如何升级LV2拉取SDK

      审核起来了,我要下sdk

      发布在 灌水区
      P
      planevina