Comedi Documentation | ||
---|---|---|
Prev |
Comedi uses permanently allocated kernel memory for streaming input and output to store data that has been measured by a device, but has not been read by an application. These buffers can be resized by the Comedilib function comedi_buffer_XXX() or the coemdi_config utility.
This is an error message that indicates that the driver ran out of space in a Comedi buffer to put samples. It means that the application is not copying data out of the buffer quickly enough. Often, this problem can be fixed by making the Comedi buffer larger. See comedi_buffer_XXX for more information.
This is an error message that indicates that there was device-level problem, typically with trigger pulses occurring faster than the board can handle.
Comedi commands are the mechanism that applications configure subdevices for streaming input and output. (also: cmd, comedi_command)
Direct memory access. DMA is a method of transferring data between a device and the main memory of a computer. DMA operates differently on ISA and PCI cards. ISA DMA is handled by a controller on the motherboard and is limited to transfers to/from the lowest 16 MB of physical RAM and can only handle a single segment of memory at a time. These limitations make it almost useless. PCI ("bus mastering") DMA is handled by a controller on the device, and can typically address 4 GB of RAM and handle many segments of memory simultaneously. DMA is usually not the only means to data transfer, and may or may not be the optimal transfer mechanism for a particular situation.
Most devices have a limited amount of on-board space to store samples before they are transferred to the Comedi buffer. This allows the CPU or DMA controller to do other things, and then efficiently process a large number of samples simultaneously. It also increases the maximum interrupt latency that the system can handle without interruptions in data.
Comedi instructions are the mechanism used by applications to do immediate input from channels, output to channels, and configuration of subdevices and channels. (also: insn)
Instruction lists allow the application to perform multiple Comedi instructions in the same system call.
Option lists are used with comedi_config to perform driver configuration. (also: configuration options, options)
The term poll (and polling) is used for several different related concepts in Comedi. Comedi implements the poll() system call for Comedi devices, which is similar to select(), and returns information about file descriptors that can be read or written. Comedilib also has a function called comedi_poll(), which causes the driver to copy all available data from the device to the Comedi buffer. In addition, some drivers may use a polling technique in place of interrupts.