Lines Matching +full:end +full:- +full:of +full:- +full:conversion
3 The contents of this directory are primarily for maintaining and formatting all
15 increasingly hard to find and the NI-MHDDK (comments in in example code).
16 There is no one place to find the various valid values of the registers.
19 gain any sense of intuition of which values, or even enums one should use
20 for various registers. There was some attempt in prior use of comedi to
22 varying purposes, but the end-user had to gain a knowledge of register
26 programming manuals and vendor-provided documentation are _not_ even
27 close to the same names that are in the end-user documentation.
29 4) The sets of routes that are valid are not consistent from device to device.
32 NIDAQmx(-base) c-libraries, nor with register level programming, _nor_
33 through any documentation. In fact, the only consistent source of this
34 information is through the proprietary NI-MAX software, which currently only
36 cannot be exported from NI-MAX, except by screenshot.
40 The content of this directory is part of an effort to greatly simplify the use
41 of signal routing capabilities of National Instruments data-acquisition and
42 control hardware. In order to facilitate the transfer of register-level
43 information _and_ the knowledge of valid routes per device, a few specific
47 1) The names of the National Instruments signals/terminals that are used in this
49 documentation, (b) NI's user-level code, (c) the information as provided by
50 the proprietary NI-MAX software, and (d) the user interface code provided by
51 the user-land comedilib library.
53 The impact of this choice implies that one allows the use of CamelScript names
56 documentation, _and_ a mitigation for confusion that has plagued the use of
59 2) The bulk of the real content for this directory is stored in two separate
60 collections (i.e. sub-directories) of tables stored in c source files:
62 (a) ni_route_values/ni_[series-label]series.c
67 The values are all wrapped in one of three macros to help document and
74 The actual function of these macros will depend on whether the code is
75 compiled in the kernel or whether it is compiled into the conversion
76 tools. For the conversion tools, it can be used to indicate the status
77 of the register value. For the kernel, V() and I() both perform the
84 (b) ni_device_routes/[board-name].c
86 This data represents the known set of valid signal routes that are
91 In order for a particular board to take advantage of the effort to
93 [board-name].c file must be created. This file should reflect the known
94 valid _direct_ routing capabilities of the board.
96 As noted above, the only known consistent source of information for
98 Windows software, NI-MAX. Also, as noted above, this information can
99 only be visually conveyed from NI-MAX to other media. To make this
100 easier, the naming conventions used in the [board-name].c file are
101 similar to the naming conventions as presented by NI-MAX.
108 When adding a new [board-name].c file, be sure to also add in the line in
114 (a) `make csv-files`
115 Creates new csv-files using content of c-files of existing
117 sub-directory.
119 As noted above, the only consistent source of information of valid
121 software, NI-MAX. Also, as noted above, this information can only be
122 visually conveyed from NI-MAX to other media. This make target creates
123 spreadsheet representations of the routing data. The choice of using a
125 visual comparison to the NI-MAX "Valid Routes" tables.
127 Furthermore, the register-level information is much easier to identify and
128 correct when entire families of NI devices are shown side by side in table
129 format. This is made easy by using a file-storage format that can be
132 Finally, .csv content is very easy to edit and read using a variety of
134 fact, the tools provided here enable quick conversion of the
135 spreadsheet-like .csv format to c-files that follow the kernel coding
139 (b) `make c-files`
140 Creates new c-files using content of csv sub-directory. These
141 new c-files can be compared to the active content in the
143 (c) `make csv-blank`
146 specific board of an existing device family (more likely).
150 Build all csv-files, then all new c-files.
156 plagued NI's previous version of their own proprietary drivers. Earlier than
158 abstracted the names of signals/terminals to a common and intuitive set of
160 for most of NI hardware.
162 Comedi already provides such a common interface for data-acquisition and control
164 abstracting much more of the use cases for NI hardware, but allowing users _and_
165 developers to directly refer to NI documentation (user-level, register-level,
166 and the register-level examples of the NI-MHDDK).
170 --------------------------------------------------------------------------------
172 --------------------------------------------------------------------------------
174 NI-STC with those naming conventions used here.
175 --------------------------------------------------------------------------------
177 Signal sources for most signals-destinations are given a specific naming
180 typically used within the NI-STC documentation.
182 (comedi) (NI-STC input or output) (NOTE)
183 ------------------------------------------------------------------------------
190 NI_AI_ReferenceTrigger AI_START2_Select for pre-triggered
191 acquisition---not
229 NI_CtrA(0) G0_A_Select see M-Series user
230 manual (371022K-01)
231 NI_CtrA(1) G1_A_Select see M-Series user
232 manual (371022K-01)
233 NI_CtrB(0) G0_B_Select, up/down see M-Series user
234 manual (371022K-01)
235 NI_CtrB(1) G1_B_Select, up/down see M-Series user
236 manual (371022K-01)
237 NI_CtrZ(0) see M-Series user
238 manual (371022K-01)
239 NI_CtrZ(1) see M-Series user
240 manual (371022K-01)