1 <!-- <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V3.1//EN"> -->
3 <glossary id="comedilib-glossary">
10 Application Program Interface
12 <acronym>API</acronym>
15 The (documented) set of function calls supported by a particular
16 application, by which programmers can access the functionality
17 available in the application.
23 <glossentry id="buffer">
29 &comedi; uses permanently allocated kernel memory for streaming input
30 and output to store data that has been measured by a device, but has
31 not been read by an application. These buffers can be resized by the
32 Comedilib function <function>comedi_buffer_XXX()</function> or the
33 <function>comedi_config</function>
39 <glossentry id="bufferoverflow">
45 This is an error message that indicates that the driver ran out of
46 space in a &comedi; buffer to put samples. It means that the application
47 is not copying data out of the buffer quickly enough. Often, this
48 problem can be fixed by making the &comedi; buffer larger. See
49 <function>comedi_buffer_XXX</function> for more information.
54 <glossentry id="differentialIO">
69 <acronym>DMA</acronym>
72 DMA is a method of transferring data between
73 a device and the main memory of a computer. DMA operates differently
74 on ISA and PCI cards. ISA DMA is handled by a controller on the
75 motherboard and is limited to transfers to/from the lowest 16 MB of
76 physical RAM and can only handle a single segment of memory at a time.
77 These limitations make it almost useless. PCI ("bus mastering") DMA
78 is handled by a controller on the device, and can typically address
79 4 GB of RAM and handle many segments of memory simultaneously. DMA
80 is usually not the only means to data transfer, and may or may not
81 be the optimal transfer mechanism for a particular situation.
86 <glossentry id="fifo">
90 <acronym>FIFO</acronym>
93 Most devices have a limited amount of on-board space to store samples
94 before they are transferred to the Comedi buffer. This allows the CPU or
95 DMA controller to do other things, and then efficiently process a
96 large number of samples simultaneously. It also increases the
97 maximum interrupt latency that the system can handle without
98 interruptions in data.
104 <glossentry id="comedicommand">
110 &comedi; commands are the mechanism that applications configure
111 subdevices for streaming input and output.
116 <glossentry id="command">
120 <glosssee otherterm="comedicommand">
123 <glossentry id="configoption">
133 <glossentry id="instruction">
139 &comedi; instructions are the mechanism used by applications to do
140 immediate input from channels, output to channels, and configuration
141 of subdevices and channels.
146 <glossentry id="instructionlist">
152 Instruction lists allow the application to perform multiple &comedi;
153 instructions in the same system call.
158 <glossentry id="option">
165 <glossseealso otherterm="optionlist">
170 <glossentry id="optionlist">
176 Option lists are used with <function>comedi_config</function> to
177 perform driver configuration.
179 <glossseealso otherterm="configoption">
180 <glossseealso otherterm="option">
184 <glossentry id="overrun">
190 This is an error message that indicates that there was device-level
191 problem, typically with trigger pulses occurring faster than the
197 <glossentry id="poll">
203 The term poll (and polling) is used for several different related
204 concepts in &comedi;. &comedi; implements the
205 <function>poll()</function> system call for Comedi devices, which is
206 similar to <function>select()</function>, and returns information
207 about file descriptors that can be read or written. Comedilib also
208 has a function called <function>comedi_poll()</function>, which causes
209 the driver to copy all available data from the device to the &comedi;
210 buffer. In addition, some drivers may use a polling technique in