Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
usbduxsigma.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/usb.h>
#include <linux/fcntl.h>
#include <linux/compiler.h>
#include <linux/firmware.h>
#include "comedi_fc.h"
#include "../comedidev.h"

Go to the source code of this file.

Data Structures

struct  usbduxsub
 

Macros

#define BULK_TIMEOUT   1000
 
#define FIRMWARE   "usbduxsigma_firmware.bin"
 
#define USBDUXSUB_FIRMWARE   0xA0
 
#define VENDOR_DIR_IN   0xC0
 
#define VENDOR_DIR_OUT   0x40
 
#define USBDUXSUB_CPUCS   0xE600
 
#define USBDUXSUB_MINOR   32
 
#define TB_LEN   0x2000
 
#define ISOINEP   6
 
#define ISOOUTEP   2
 
#define COMMAND_OUT_EP   1
 
#define COMMAND_IN_EP   8
 
#define PWM_EP   4
 
#define MIN_PWM_PERIOD   ((long)(1E9/300))
 
#define PWM_DEFAULT_PERIOD   ((long)(1E9/100))
 
#define NUMCHANNELS   16
 
#define SIZEADIN   ((sizeof(int32_t)))
 
#define SIZEINBUF   (((NUMCHANNELS+1)*SIZEADIN))
 
#define SIZEINSNBUF   16
 
#define NUMOUTCHANNELS   8
 
#define SIZEDAOUT   ((sizeof(uint8_t)+sizeof(int16_t)))
 
#define SIZEOUTBUF   ((8*SIZEDAOUT))
 
#define SIZEOFDUXBUFFER   ((8*SIZEDAOUT+2))
 
#define NUMOFINBUFFERSFULL   5
 
#define NUMOFOUTBUFFERSFULL   5
 
#define NUMOFINBUFFERSHIGH   10
 
#define NUMOFOUTBUFFERSHIGH   10
 
#define NUMUSBDUX   16
 
#define SUBDEV_AD   0
 
#define SUBDEV_DA   1
 
#define SUBDEV_DIO   2
 
#define SUBDEV_PWM   3
 
#define RETRIES   10
 
#define FIRMWARE_MAX_LEN   0x4000
 
#define SENDADCOMMANDS   0
 
#define SENDDACOMMANDS   1
 
#define SENDDIOCONFIGCOMMAND   2
 
#define SENDDIOBITSCOMMAND   3
 
#define SENDSINGLEAD   4
 
#define SENDPWMON   7
 
#define SENDPWMOFF   8
 

Functions

 MODULE_DEVICE_TABLE (usb, usbduxsigma_usb_table)
 
 module_comedi_usb_driver (usbduxsigma_driver, usbduxsigma_usb_driver)
 
 MODULE_AUTHOR ("Bernd Porr, [email protected]")
 
 MODULE_DESCRIPTION ("Stirling/ITL USB-DUX SIGMA -- [email protected]")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_FIRMWARE (FIRMWARE)
 

Macro Definition Documentation

#define BULK_TIMEOUT   1000

Definition at line 63 of file usbduxsigma.c.

#define COMMAND_IN_EP   8

Definition at line 94 of file usbduxsigma.c.

#define COMMAND_OUT_EP   1

Definition at line 91 of file usbduxsigma.c.

#define FIRMWARE   "usbduxsigma_firmware.bin"

Definition at line 66 of file usbduxsigma.c.

#define FIRMWARE_MAX_LEN   0x4000

Definition at line 775 of file usbduxsigma.c.

#define ISOINEP   6

Definition at line 85 of file usbduxsigma.c.

#define ISOOUTEP   2

Definition at line 88 of file usbduxsigma.c.

#define MIN_PWM_PERIOD   ((long)(1E9/300))

Definition at line 100 of file usbduxsigma.c.

#define NUMCHANNELS   16

Definition at line 106 of file usbduxsigma.c.

#define NUMOFINBUFFERSFULL   5

Definition at line 140 of file usbduxsigma.c.

#define NUMOFINBUFFERSHIGH   10

Definition at line 147 of file usbduxsigma.c.

#define NUMOFOUTBUFFERSFULL   5

Definition at line 143 of file usbduxsigma.c.

#define NUMOFOUTBUFFERSHIGH   10

Definition at line 151 of file usbduxsigma.c.

#define NUMOUTCHANNELS   8

Definition at line 121 of file usbduxsigma.c.

#define NUMUSBDUX   16

Definition at line 154 of file usbduxsigma.c.

#define PWM_DEFAULT_PERIOD   ((long)(1E9/100))

Definition at line 103 of file usbduxsigma.c.

#define PWM_EP   4

Definition at line 97 of file usbduxsigma.c.

#define RETRIES   10

Definition at line 169 of file usbduxsigma.c.

#define SENDADCOMMANDS   0

Definition at line 1024 of file usbduxsigma.c.

#define SENDDACOMMANDS   1

Definition at line 1025 of file usbduxsigma.c.

#define SENDDIOBITSCOMMAND   3

Definition at line 1027 of file usbduxsigma.c.

#define SENDDIOCONFIGCOMMAND   2

Definition at line 1026 of file usbduxsigma.c.

#define SENDPWMOFF   8

Definition at line 1030 of file usbduxsigma.c.

#define SENDPWMON   7

Definition at line 1029 of file usbduxsigma.c.

#define SENDSINGLEAD   4

Definition at line 1028 of file usbduxsigma.c.

#define SIZEADIN   ((sizeof(int32_t)))

Definition at line 109 of file usbduxsigma.c.

#define SIZEDAOUT   ((sizeof(uint8_t)+sizeof(int16_t)))

Definition at line 124 of file usbduxsigma.c.

#define SIZEINBUF   (((NUMCHANNELS+1)*SIZEADIN))

Definition at line 115 of file usbduxsigma.c.

#define SIZEINSNBUF   16

Definition at line 118 of file usbduxsigma.c.

#define SIZEOFDUXBUFFER   ((8*SIZEDAOUT+2))

Definition at line 137 of file usbduxsigma.c.

#define SIZEOUTBUF   ((8*SIZEDAOUT))

Definition at line 131 of file usbduxsigma.c.

#define SUBDEV_AD   0

Definition at line 157 of file usbduxsigma.c.

#define SUBDEV_DA   1

Definition at line 160 of file usbduxsigma.c.

#define SUBDEV_DIO   2

Definition at line 163 of file usbduxsigma.c.

#define SUBDEV_PWM   3

Definition at line 166 of file usbduxsigma.c.

#define TB_LEN   0x2000

Definition at line 82 of file usbduxsigma.c.

#define USBDUXSUB_CPUCS   0xE600

Definition at line 72 of file usbduxsigma.c.

#define USBDUXSUB_FIRMWARE   0xA0

Definition at line 67 of file usbduxsigma.c.

#define USBDUXSUB_MINOR   32

Definition at line 79 of file usbduxsigma.c.

#define VENDOR_DIR_IN   0xC0

Definition at line 68 of file usbduxsigma.c.

#define VENDOR_DIR_OUT   0x40

Definition at line 69 of file usbduxsigma.c.

Function Documentation

MODULE_AUTHOR ( "Bernd  Porr,
BerndPorr @f2s.com"   
)
module_comedi_usb_driver ( usbduxsigma_driver  ,
usbduxsigma_usb_driver   
)
MODULE_DESCRIPTION ( "Stirling/ITL USB-DUX SIGMA -- [email protected] )
MODULE_DEVICE_TABLE ( usb  ,
usbduxsigma_usb_table   
)
MODULE_FIRMWARE ( FIRMWARE  )
MODULE_LICENSE ( "GPL"  )