在MTK-EngineeMode-Hardware Testing得LCM测试中点击TM Status后灭屏
硬件测屏幕结果是:背光关闭,屏未断电
要求我们看是否正常
在点击时会调用vendor/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/lcm/EmDsenseLcmAssit.java中

public static int lcmSetTm(int tm) {Xlog.v(TAG, "-->LCMSetTm");return FB0_Fucntion(FB0_LCM_Set_Tm, tm);
}

这边会调用FB0_Fucntion方法

private static int FB0_Fucntion(int... param) {AFMFunctionCallEx A = new AFMFunctionCallEx();boolean result = A.startCallFunctionStringReturn(AFMFunctionCallEx.FUNCTION_EM_FB0_IOCTL);A.writeParamNo(param.length);for (int i : param) {A.writeParamInt(i);}if (!result) {return -1;}int valueRet = -1;FunctionReturn r;do {r = A.getNextResult();Xlog.v(TAG, "default result --returnString--" + r.mReturnString);if ("".equals(r.mReturnString)) {break;} else {if (r.mReturnString.equalsIgnoreCase("FFFFFFFF")) {valueRet = -1;break;}try {valueRet = Integer.valueOf(r.mReturnString);} catch (NumberFormatException e) {Xlog.d(TAG, e.getMessage());valueRet = -1;}}} while (r.mReturnCode == AFMFunctionCallEx.RESULT_CONTINUE);if (r.mReturnCode == AFMFunctionCallEx.RESULT_IO_ERR) {// errorreturn -1;} else {return valueRet;}}

首先会启动连接socket

boolean result = A.startCallFunctionStringReturn(AFMFunctionCallEx.FUNCTION_EM_FB0_IOCTL);

然后会将LCM得命令写入

for (int i : param) {A.writeParamInt(i);}

这边是通过socket进行通信,查看socket server相关代码最终会调到
vendor\mediatek\proprietary\packages\apps\engineermode\jni\server_em\ModuleFB0.cpp

static int LCMPowerOFF() {int fd = open("dev/graphics/fb0", O_RDWR, 0);if (fd < 0) {XLOGE("OPEN Failed");return -1;} else {// blank SurfaceFlingersp<SurfaceComposerClient> client = new SurfaceComposerClient();sp<IBinder> display = SurfaceComposerClient::getBuiltInDisplay(ISurfaceComposer::eDisplayIdMain);SurfaceComposerClient::setDisplayPowerMode(display, HWC_POWER_MODE_OFF);// turn off lcmint ret = -1;if (ioctl(fd, MTKFB_POWEROFF, &ret) == -1) {XLOGE("ioctl Failed");close(fd);return -1;}close(fd);return 0;}}

通过ioctl(fd, MTKFB_POWEROFF, &ret)操作"dev/graphics/fb0"这个驱动节点

MTK-EngineeMode-Hardware Testing相关推荐

  1. MTK 驱动(4)---MTK Android Driver知识大全

    MTK Android Driver知识大全 一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI. 在 ...

  2. MTK Android Driver知识大全

    一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI. 在使用DSI接口时,目前75/77都只支持到2条 ...

  3. [MTK] mt6575等相关的手机开发资料(PDF文档)

    https://github.com/luckasfb/Development_Documents/tree/master/MTK-Mediatek-Alps-Documents + 号开头的为目录, ...

  4. MTK driver知识

    一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI. 在使用DSI接口时,目前75/77都只支持到2条 ...

  5. MTK Android

    转载请注明出处:http://blog.csdn.net/cbk861110/article/details/40931835 一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有 ...

  6. 【转】MTK Android Driver知识大全

    原文网址:http://www.cnblogs.com/biglucky/p/4413797.html 一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做C ...

  7. MTK CAMERA TUNNING

    http://www.16rd.com/blog-5282-237.html ob 静态电流 shading 阴影, 3a GAMMA:拍灰阶卡, CCM Color Correction Matri ...

  8. Mtk camera driver

    引用: http://blog.chinaunix.net/uid-26009923-id-3999723.html 1 kd_imgsensor.h 这个文件定义了camera节点的名字 /* CA ...

  9. MTK如何修改usb驱动能力

    [DESCRIPTION] USB驱动能力调节方法: USB眼图测试fail处理方法: [SOLUTION] 1.USB眼图测试fail通常需要修改如下两个register调节USB驱动能力: RG_ ...

  10. MTK 智能平台库伦计电池曲线调试

    电池曲线不对,会出现电池放电不均匀,持续放电电量显示为0%,实际测量电池电压3.8V.或是放电到30%突然关机,或是充电充很难充满等一系列问题. 下面从几个步骤校准电池曲线. 一. 分析系统充放电图, ...

最新文章

  1. 中国10大最震撼的无人工厂,你吃的用的都是这么来的!
  2. python安装库失败cannot determine archive_pip 无法安装 pip
  3. 一维数组反转c语言_C语言实现数组的循环左移,右移,翻转的示例
  4. 任老爷子退休以后,华为谁最有可能接手,为什么?
  5. exchange2003系列总结:-5邮件加密与签名的工作流程
  6. 工业机器人大赛技术培训方案
  7. 纸飞机飞行曲线matlab,从小到大只会做个纸飞机?关于折纸的「高端」技巧通通告诉你...
  8. javaweb表格制作举例
  9. 微信开发者工具 the permission value is offline verifying 异常
  10. 韩天峰php教程,韩天峰 - Swoole4-全新的PHP编程模式
  11. 2017年第38届国际名家具(东莞)展览会会刊(参展商名录)
  12. 解密编程——程序诞生的基本工序
  13. 云呐|固定资产计提折旧怎么算
  14. https server
  15. 用ps制作android日历步骤,绘制一枚日历图标【PS教程】
  16. java导出word复选框变成圆圈的解决办法
  17. 面向对象三大特征之多态
  18. 老油条用什么工具写文档?
  19. 【VAR | 时间序列】应用VAR模型时的15个注意点
  20. PyTorch GPU计算

热门文章

  1. UmiJS基础UmiJS+Dva
  2. python numpy官网_如果通过官网下载Python-Numpy的文档
  3. 基于C语言的移位密码和仿射密码
  4. python实现区间估计,一个正态总体,均值已知,未知的区间估计,正态分布,t 分布
  5. 用计算机运算符编写检索式,检索式
  6. 无码间串扰的基带传输特性
  7. 基于OpenCV的银行卡号识别系统实现(一)----- 银行卡号识别步骤
  8. LTE物理层一些基本概念
  9. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之1.Hadoop简介及Apache Hadoop完全分布式集群搭建
  10. 神经网络学习小记录55——Keras搭建常见分类网络平台(VGG16、MobileNet、ResNet50)