1、FVID_control

作用:发送一个控制命令到mini_driver

语法: status = FVID_control(fvidChan, cmd, args);

参数:

FVID_HandlefvidChan

Intcmd

Ptrargs

Return Value Int status

参数说明:

fvidChan是FVID_create()创建的指向通道的句柄.

cmd有两个值: IOM_ABORT----作用是中止所以的未定的I/O工作

IOM_FLUSH----作用是所以采集口的工作被丢弃,所以显示I/O的工作正常进行.

返回值:

   如果调用成功,FVID_control返回IOM_COMPLETED .如果有错误产生,这个调用会返回一个负值.

Example:

FVID_control(fvidChan,IOM_ABORT, NULL);

2、FVID_create()

作用:分配并初始化FVID通道对象;

 语法:fvidChan = FVID_create(name, mode, *status, optArgs, *attrs);

Stringname

Intmode

Int*status

PtroptArgs

FVID_Attrs*attrs

其中:name是设备实例的句柄,是一个字符串

mode 是选择的模式,只有两个值:IOM_INPUT设置采集模式,IOM_OUTPUT设置显示模式.

status是The status argument isan out parameter that this function fills with a pointer to thestatus that was returned by the mini-driver.

attrs 是指向FVID_Attrs结构的指针:

FVID_Attrs的定义如下:typedefstruct FVID_Attrs

              {

Uns timeout;

} FVID_Attrs;

timeout成员用来指定旗语同步,它的值可以是:

1.     >SYS_FOREVER:会让FVID_alloc, FVID_free andFVID_exchange的调用不确定的等待到这个调用完成.

2.     >数字的timeout值会让这些APIs阻塞一段指定的时间(以系统时钟).

3.     >0值会让APIs不阻塞,他们会立刻返回,这种情况下,应用程序会检查返回的status值来保证调用已经成功完成.

备注:FVID_alloc, FVID_free andFVID_exchange 的调用只能在 DSP/BIOS task (TSK).

·        FVID_create的返回值:

如果通道成功的打开了,那么FVID_create返回一个指向通道的句柄.这个句柄可以用来让后来的模块调用这个通道.

Example

FVID_ATTRS dispAttrs =FVID_ATTRS;

chan-

Handle =FVID_create(“\display0”, IOM_INPUT, NULL, NULL,

&dispAttrs);

3、FVID.h的定义

#defineFVID_BASE      IOM_USER

#defineFVID_ALLOC     (FVID_BASE + 0)
  #defineFVID_FREE      (FVID_BASE + 1)
  #define FVID_EXCHANGE  (FVID_BASE + 2)

typedef GIO_HandleFVID_Handle;

typedef struct FVID_IFrame{
    Char*y1;
    Char*cb1;
    Char*cr1;
    Char*y2;
    Char*cb2;
    Char*cr2;
}FVID_IFrame;

typedef struct FVID_PFrame {
    Char*y;
    Char*cb;
    Char*cr;
} FVID_PFrame;

typedef struct FVID_RawIFrame{
    Char*buf1;   
    Char*buf2;   
} FVID_RawIFrame;

typedef structFVID_RawPFrame{
    Char*buf;   
} FVID_RawPFrame;

typedef struct FVID_Frame {
   QUE_Elem       queElement;
    union{
       FVID_IFrame    iFrm;    
       FVID_PFrame    pFrm;    
       FVID_RawIFrame riFrm;   
       FVID_RawPFrame rpFrm;   
    }frame;   
} FVID_Frame;

#define FVID_alloc(gioChan, bufp) \
       GIO_submit(gioChan, FVID_ALLOC, bufp, NULL, NULL)

#define FVID_control(gioChan, cmd, args) \
       GIO_control(gioChan, cmd, args)

#define  FVID_create(name, mode, status, optArgs,attrs) \
       GIO_create(name, mode, status, optArgs, attrs)

#define FVID_delete(gioChan) \
       GIO_delete(gioChan)

#define FVID_exchange(gioChan, bufp) \
       GIO_submit(gioChan, FVID_EXCHANGE, bufp, NULL, NULL)

#define FVID_free(gioChan, bufp) \
       GIO_submit(gioChan, FVID_FREE, bufp, NULL, NULL)

#ifdef __cplusplus
}
#endif

#endif

【DM642学习笔记五】FVID驱动模型 API函数的更多相关文章

  1. Struts2学习笔记(五)——Action访问Servlet API

    在Strut2中访问Servlet API有三种方式: 1.通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API. 步骤: 1 ...

  2. input子系统学习笔记六 按键驱动实例分析下【转】

    转自:http://blog.chinaunix.net/uid-20776117-id-3212095.html 本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! i ...

  3. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  4. Java学习笔记之---单例模型

    Java学习笔记之---单例模型 单例模型分为:饿汉式,懒汉式 (一)要点 1.某个类只能有一个实例 2.必须自行创建实例 3.必须自行向整个系统提供这个实例 (二)实现 1.只提供私有的构造方法 2 ...

  5. Java IO学习笔记五:BIO到NIO

    作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一 ...

  6. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  7. java之jvm学习笔记五(实践写自己的类装载器)

    java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  9. Typescript 学习笔记五:类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

随机推荐

  1. VS2010-MFC(常用控件:列表视图控件List Control 下)

    转自:http://www.jizhuomi.com/software/197.html 上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构 ...

  2. Linux复制指令

    功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文件或目录, ...

  3. day22_2-sys模块

    # ********************day22_2-sys模块 *******************# ********************day22_2-sys模块 ********* ...

  4. deployment资源

    目的:用rc在滚动升级之后,会造成服务访问中孤单,于是k8s引入了deploymentziyuan 创建deployment vim k8s_deploy.yml apiVersion: extens ...

  5. POJ 2187 /// 凸包入门 旋转卡壳

    题目大意: 求最远点对距离 求凸包上的最远点对 挑战263页 #include <cstdio> #include <string.h> #include <algori ...

  6. java笔试之自守数

    自守数是指一个数的平方的尾数等于该数自身的自然数.例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376.请求出n以内的自守数的个数 接口说明 /*功能: 求出n以内的 ...

  7. 帝国cms学习

    手册地址1 手册地址2 入门 安装: 将下载的upload里的文件上传到网站更目录 然后 域名/e/install/index.php Warning: Use of undefined consta ...

  8. 洛谷P2325 [SCOI2005]王室联邦

    P2325 [SCOI2005]王室联邦 题目描述 "余"人国的国王想重新编制他的国家.他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成员来管理. 他的国家有n个城市, ...

  9. Imageview 图片按比例缩放

    只需要在 布局文件中 加入 android:adjustViewBounds="true"这行代码即可 它会让图片进行等比例的拉伸展示

  10. sort的cmp函数

    sort的cmp函数只能写return a>b;或者return a<b;