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(图形图像:GDI对象之画笔CPen)

    转自:http://www.jizhuomi.com/software/246.html 上一节讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGd ...

  2. Window中在Intellij idea开发时常用快捷键

    以下idea中的快捷键是在window 7中确认过,如果快捷键不起作用,可能是该快捷键被其它软件占用,或系统不同导致. 1.Ctrl + Z:撤回代码: 2.Ctrl + Shift + Z:恢复撤回 ...

  3. Walk Through Squares HDU - 4758 AC自动机+简单状压DP

    题意:给你两个串,求用m个R,n个D能组成多少个包含这两个串 题解:先构造一个AC自动机记录每个状态包含两个串的状态, 状态很容易定义 dp[i][j][k][status]表示在AC自动机K这个节点 ...

  4. MediatR 知多少 - 简书

    原文:MediatR 知多少 - 简书 引言 首先不用查字典了,词典查无此词.猜测是作者笔误将Mediator写成MediatR了.废话少说,转入正题. 先来简单了解下这个开源项目MediatR(作者 ...

  5. AngularJs 报错 Error: [$parse:lexerr]

    参考:https://www.cnblogs.com/fangshidaima/p/6048071.html 错误: 根据错误找到报错行: $scope.$apply($scope.param1 = ...

  6. 分析Hive表和分区的统计信息(Statistics)

    类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中. 表和分区的统计信息主要包括:行数.文件数.原始数据大小.所占 ...

  7. QSerialPort类

    一.简介     QSerialPort类是Qt5封装的串口类,可以与串口进行通信.QSerialPortInfo是一个辅助类,提供串口的一些信息,如可用的串口名称,描述,制造商,序列号,串口16位产 ...

  8. Redis相关语法

    设置用户密码 config set requirepass yourPassword

  9. 【玲珑杯 round#18 A】计算几何你瞎暴力

    [Link]:http://www.ifrog.cc/acm/problem/1143?contest=1020&no=0 [Description] [Solution] 因为每个点的(xi ...

  10. duilib教程之duilib入门简明教程5.自绘标题栏

    如果大家有做过标题栏的自绘,肯定会感慨各种不容易,并且现有的一些资料虽然完美的实现了功能,但是代码比较乱,需要自行整理.如果用duilib,就是小case啦.    duilib其实并没有区分标题栏和 ...