⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdbvisiondrv.h

📁 vxworks 6.x 的全部头文件
💻 H
字号:
/* wdbVisionDrv.h - header file for Wind River Generic Vision Driver *//* Copyright 1986-2005 Wind River Systems Inc. *//*modification history--------------------01c,11may05,j_b  add return value to CREATE_CRITSECT (SPR# 107058)01b,05may01,g_h  renaming to wdbVisionDrv.h and cleaning01a,09apr01,rnr  written.*/#ifndef __INCwdbVisionDrvh#define __INCwdbVisionDrvh#ifdef __cplusplusextern "C" {#endif/* includes */#include   "vxWorks.h"#include   "semLib.h"/* defines */#define VISION_DEFAULT_POLL_PRI        200  /* Rx polling task priority     */#define VISION_DEFAULT_POLL_DELAY      2    /* Polling Task delay tick      */#define VISION_PKT_MTU                 1488 /* Maximum Transmission Unit    */#define VISION_MAX_PTASK_DELAY         50   /* Maximum poll loop delay      */#define VISION_MIN_PTASK_PRIOR         5    /* Maximum polltask priority    */#define VISION_MAX_PTASK_PRIOR         255  /* Minimum polltask priority    */                                            /* (MIN/MAX reversed,0 is high) */#define TX_BUFFER_SIZE                 (VISION_PKT_MTU * 2)  /* default queue sizes  */#define RX_BUFFER_SIZE                 (VISION_PKT_MTU * 2)  /* changed with ioctl() */#define LOOP_BUFFER_SIZE               (VISION_PKT_MTU * 10) /* Loopback space       *//* Tx/Rx Modes: used in ioctl() case statements */#define VISION_POLL_MODE               0x0001 /* Polled / Pseudo Interrupt */#define VISION_PINTR_MODE              0x0002#define VISION_PISR_MODE               0x0004#define VISION_BLOCKED_MODE            0x0008 /* Blocking / Non-Blocking   */#define VISION_NONBLOCKED_MODE         0x0010#define VISION_BUFFERED_MODE           0x0020 /* Buffered / Non-Buffered   */#define VISION_NONBUFFERED_MODE        0x0040#define VISION_LPBK_MODE               0x0080 /* Normal / Loopback Mode    */#define VISION_NORMAL_MODE             0x0100#define VISION_TX_QUEUE_SIZE           0x0200 /* Tx/Rx  Queue Sizes        */#define VISION_RX_QUEUE_SIZE           0x0400#define VISION_PTASK_PRIORITY          0x0800 /* Change pTask Priority     */#define VISION_PTASK_DELAY             0x1000 /* Change pTask Loop Delay   *//* Driver States */#define VISION_STATE_CLOSED            0#define VISION_STATE_OPEN              1/* Tx/Rx Buffering Queues */ typedef struct     {    int   nofChars; /* Number of bytes currently stored      */    int   size;     /* Maximum size of the queue             */    int   head;     /* Current start of data in queue buffer */    int   tail;     /* Current end   of data in queue buffer */    char *pData;    /* Buffer where data is stored           */    } VISION_QUEUE;/* MACRO definitions for operating system specific calls */#define MEMCOPY(d, s, c)               memcpy(d, s, c)typedef SEM_ID CRITSECT;#define CREATE_CRITSECT(s)             (s = semMCreate(SEM_Q_FIFO)) #define REMOVE_CRITSECT(s)             semDelete(s)#define ENTER_CRITSECT(s)              semTake(s,WAIT_FOREVER)#define EXIT_CRITSECT(s)               semGive(s)/*  *   DELAY_TASK - places the current task or thread to sleep for c msecs/ticks */#define DELAY_TASK(c)                  taskDelay(c)/* VDRIV_DEV - Wind River Vision Device descriptor */ typedef struct          {                          DEV_HDR             devHdr;        /* DEV_HDR must com first     */    char                state;         /* State of the driver        */    char               *pDeviceName;   /* device name: etd/0         */    int                 opMode;        /* Poll/Pseudo Interrupt Mode */    int                 rdWrMode;      /* read/write mode            */    int                 bufferMode;    /* Buffering mode             */    int                 blockMode;     /* Blocking mode              */    int                 loopMode;      /* Diagnostic loopback        */    int                 pollDelay;     /* Polling Task Delay         */    int                 pollTaskId;    /* Polling Task Id            */    VISION_QUEUE        txQueue;       /* Transmit buffer            */    VISION_QUEUE        rxQueue;       /* Receive buffer             */    VISION_QUEUE        loopQueue;     /* Loopback queue             */    CRITSECT            txCrSection;   /* Xmit     Queue protection  */    CRITSECT            rxCrSection;   /* Recv     Queue protection  */    CRITSECT            loopCrSection; /* Loopback Queue protection  */    V_DRIVER_INTERFACE  inter;         /* Interface structure        */    } VDRIV_DEV ;/* function prototypes */#if defined(__STDC__)IMPORT int visionDriverInit (void);IMPORT int visionDriverCreate (char *, int, int, int, int, int);#else   /* __STDC__ */IMPORT int visionDriverInit ();IMPORT int visionDriverCreate ();#endif  /* __STDC__ */#ifdef __cplusplus}#endif#endif  /* __INCwdbVisionDrvh */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -