First page Back Continue Last page Overview Graphics
Driver Overvew
The probe function is called by the USB core driver when a device that matches the DARTS device ID is plugged into the USB.
static void * darts_usb_probe ();
The open function is called whenever an application opens and instance of the DARTS device.
static int darts_usb_open ();
Read is called whenever an application attempts to receive data from the DARTS device. The tricky part about read is that there may not yet be any data ready for reading, so read must instruct the application to go to sleep.
static ssize_t darts_usb_read ();
IRQ is called by the USB core driver, in interrupt context, whenever a USB interrupt transfer is completed. We take this opportunity to time stamp the received datum and wake up any applications that were put to sleep by read.
static void darts_usb_irq ();
Release is the opposite of open, and is called when and application no longer wishes to use the device.
static int darts_usb_release ();
Disconnect is called by the USB core driver when the DARTS device is removed from the USB.
static void darts_usb_disconnect ();