导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    试试哪吒MQ运行lvgl 60帧率触控效果

    MR Series
    1
    1
    1278
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • mangogeek
      mangogeek LV 8 最后由 编辑

      遇到点小插曲,由于厂家那边给GT911固化错了配置(把800480分辨率搞成了1024600),所以找厂家要了一份正确配置,需要ctp驱动中开启自动更新配置。

      另外,tina linux驱动文件夹gt9xxnew中,分析gtp_init_panel初始化函数。因为手头这个屏幕与文件的都不同,并且看到源文件注释掉了从屏幕读取id。所以可确定sensor_id恒为0,那么就很简单了,自己的配置直接写到gt9xx.h的GOURP1即可。

      #if GTP_COMPATIBLE_MODE
      		msleep(50);
      #endif
      //       ret = gtp_i2c_read_dbl_check(ts->client, GTP_REG_SENSOR_ID, &sensor_id, 1);
      		dprintk(DEBUG_INIT, "CTP name : %s\n", config_info.name);
      		if (!strcmp(config_info.name, "gt9271_mb976a9")) {
      			sensor_id = 0;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      
      		} else if (!strcmp(config_info.name, "gt9110_wt097")) {
      			sensor_id = 1;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      
      		} else if (!strcmp(config_info.name, "gt9271_wt097")) {
      			sensor_id = 2;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      
      		} else if (!strcmp(config_info.name, "gt9110_g200")) {
      			sensor_id = 3;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      
      		} else if (!strcmp(config_info.name, "gt9271_noah")) {
      			sensor_id = 4;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      		} else if (!strcmp(config_info.name, "gt9271_p2")) {
      			sensor_id = 5;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      		} else if (!strcmp(config_info.name, "gt911_1060")) {
      			sensor_id = 6;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      		} else if (!strcmp(config_info.name, "gt911_784")) {
      			sensor_id = 7;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      		} else {
      			sensor_id = 0;
      			dprintk(DEBUG_INIT, "gt9xx:sensor_id = %d\n", sensor_id);
      		}
      		ret = SUCCESS;
      		if (SUCCESS == ret) {
      			if (sensor_id >= 0x08) {
      				printk("Invalid sensor_id(0x%02X), No Config Sent!\n", sensor_id);
      				ts->pnl_init_error = 1;
      				return -1;
      			}
      		} else {
      			printk("Failed to get sensor_id, No config sent!\n");
      			ts->pnl_init_error = 1;
      			return -1;
      		}
      	}
      	ts->gtp_cfg_len = cfg_info_len[sensor_id];
      	GTP_INFO( "CTP_CONFIG_GROUP%d used, config length: %d\n", sensor_id + 1, ts->gtp_cfg_len);
      
      #define CTP_CFG_GROUP1 {\
      	0x42,0x20,0x03,0xE0,0x01,0x0A,0x3D,0x00,0x01,0x08,0x28,0x08,\
      	0x5A,0x46,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,\
      	0x1A,0x1E,0x14,0x89,0x2A,0x09,0x57,0x5C,0xB5,0x06,0x00,0x00,\
      	0x00,0x02,0x01,0x1D,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,\
      	0x00,0x00,0x00,0x46,0x82,0x94,0xC5,0x02,0x07,0x00,0x00,0x04,\
      	0x96,0x4A,0x00,0x85,0x54,0x00,0x77,0x5F,0x00,0x6A,0x6C,0x00,\
      	0x5F,0x7A,0x00,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
      	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
      	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
      	0x00,0x00,0x00,0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x10,0x12,\
      	0x14,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,\
      	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,\
      	0x04,0x06,0x08,0x0A,0x0F,0x10,0x12,0x16,0x18,0x1C,0x1D,0x1E,\
      	0x1F,0x20,0x21,0x22,0x24,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
      	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
      	0x00,0x00,0x00,0x00,0x4B,0x01}
      

      效果:

      TODO:以后再尝试把group配置放到dts中,会不会更优雅些?

      1 条回复 最后回复 回复 引用 分享 1
      • 1 / 1
      • First post
        Last post

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

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