当前位置: 首页 > wzjs >正文

flash可以做网站郑州网络推广大包

flash可以做网站,郑州网络推广大包,深圳人力资源网求职,做网站自适应框架一般摄像头的VCM 自动对焦,对lens的寄存器自动写入位置值,也有些上层APP 应用需要获取VCM lens的位置进行界面信息显示。APP 应用需要获取VCM lens的位置值,需要读取节点值与开放selinux权限。 本文以为DW9714为例,简单说下上层…

一般摄像头的VCM 自动对焦,对lens的寄存器自动写入位置值,也有些上层APP 应用需要获取VCM  lens的位置进行界面信息显示。APP 应用需要获取VCM  lens的位置值,需要读取节点值与开放selinux权限。

本文以为DW9714为例,简单说下上层如何获取lens位置.

1 定义lens

ProjectConfig.mk:

CUSTOM_HAL_LENS = dw9714af

CUSTOM_HAL_MAIN_LENS = dw9714af

k62v1_64_bsp_defconfig:

CONFIG_MTK_LENS_DW9714AF_SUPPORT=y

2 驱动调用

lens_info.h

定义模域与控制指令值

#define AF_MAGIC 'A'

#define AFIOC_T_GETPOS _IOR(AF_MAGIC, 18, u32)

main_lens.c

lens列表中找到DW9714AF.

stAF_DrvList g_stAF_DrvList[MAX_NUM_OF_LENS]

IOCOTRL:

static long AF_Ioctl(struct file *a_pstFile, unsigned int a_u4Command,
             unsigned long a_u4Param)
{

......

    default:
        if (g_pstAF_CurDrv)
            i4RetValue = g_pstAF_CurDrv->pAF_Ioctl(
                a_pstFile, a_u4Command, a_u4Param);
        break;

}

g_pstAF_CurDrv->pAF_Ioctl调用DW9714的

long DW9714AF_Ioctl(struct file *a_pstFile, unsigned int a_u4Command,
            unsigned long a_u4Param)
{

......

        /×添加读取位置代码×/

    case AFIOC_T_GETPOS:
        {
        int value;
        printk("DW9714AF_DRV AFIOC_T_GETPOS:%d\n\n",a_u4Param);
        spin_lock(g_pAF_SpinLock);
        value = g_u4CurrPosition; // 假设这是你的获取节点值的函数
        spin_unlock(g_pAF_SpinLock);
        if (copy_to_user((int __user *)a_u4Param, &value, sizeof(value))) {
        return -EFAULT;
        }
        }

......

}

3 节点权限开启与selinux权限开放给对应APP

alps/device/mediatek/mt6765/ueventd.mt6765.emmc.rc:

/dev/MAINAF                0777   root     root

alps/device/mediatek/mt6765/ueventd.mt6765.ufs.rc:

/dev/MAINAF                0777   root     root

alps/device/mediatek/sepolicy/basic/non_plat/file_contexts:

/dev/MAINAF u:object_r:supercam_device:s0

./mediatek/sepolicy/basic/non_plat/untrusted_app.te:

allow untrusted_app supercam_device:chr_file { open read write ioctl};

4 编写JNI接口

int readvalue(void)

{

int fd = open("/dev/MAINAF", O_RDONLY); // 打开设备文件

if (fd < 0) {

perror("Failed to open device");

}

int value;

if (ioctl(fd, AFIOC_T_GETPOS, &value) == -1) {

perror("Failed to perform IOCTL");

close(fd);

}

printf("Node value: %d\n", value);

close(fd);

}

http://www.dtcms.com/wzjs/446085.html

相关文章:

  • 微信第三方网站开发教程网站平台做推广
  • 注册资金1000万实际需要多少钱网站排名优化软件
  • 简单网站制作教程百度手机助手网页
  • 电影网站怎么做流量在线seo诊断
  • 网站关键词选取的步骤和方法泉州seo报价
  • 不花钱自己可以做网站吗云速seo百度点击
  • love域名做的网站如何自创网站
  • 手机网站开发者工具2024最火的十大新闻
  • 英孚做网络作业的网站企业宣传片视频
  • 永州网站建设服务永久免费建站系统
  • mui做浏览器网站跳转深圳网络营销策划
  • 济南专业做公司网站的机构广东宣布即时优化调整
  • 广州网站建设有哪些如何做网销
  • 美业网站建设竞价排名的弊端
  • 国家卫生计生委建设监管网站东营网站建设制作
  • 用第三方做网站企业网站建设优化
  • 做传感器的网站seo刷关键词排名优化
  • 网站微信建设运维经验分享图百度怎么优化排名
  • iis网站数据库失败沈阳百度seo排名优化软件
  • seo网站推广优化论文青岛网站
  • 厦门装修公司网站建设个人网站规划书模板
  • 二级学院网站建设整改方案外贸推广具体是做什么
  • 校园门户网站沪深300指数怎么买
  • 贵州做网站公司b站推广网站mmmnba
  • 知行网站建设制作网页多少钱
  • 用vs2012做网站上海哪家优化公司好
  • 高端网站建设软件开发免费软件下载网站有哪些
  • dedecms 做电商网站域名检测工具
  • 薅羊毛做任务赚钱网站企业营销策划书范文
  • 什么网站可以做兼职设计海南百度推广代理商