Adds tables of all register values for routing various signals to various
terminals on National Instruments hardware.  This information is directly
compared to and taken from register-level programming documentation and/or
register-level programming examples as provided by National Instruments.

Furthermore, this information was mostly compared (favorably) to the
register values already used in the comedi drivers for NI hardware.

Adds tables of valid routes for many devices.  This information is not
consistent from device to device, nor entirely consistent within device
families.  One additional major challenge is that this information does not
seem to be obtainable in any programmatic fashion, neither through the
proprietary NIDAQmx(-base) c-libraries, nor with register level
programming, _nor_ through any documentation.  In fact, the only consistent
source of this information is through the proprietary NI-MAX software,
which currently only runs on Windows platforms.  A further challenge is
that this information cannot be exported from NI-MAX, except by screenshot.

As described in ni_routing/README and as provided by this commit, the
device route information is primarily stored in a spreadsheet so-as to
enhance the ability to compare to screenshots obtained of NI-MAX.  This
commit provides the ability to parse the spreadsheets and generate
code following kernel conventions.

Signed-off-by: Spencer E. Olson <>


(This patch was over 500kB in size, too large for inline patch submission)
 .../staging/comedi/drivers/ni_routing/.gitignore   |     3 +
 drivers/staging/comedi/drivers/ni_routing/Makefile |    40 +
 .../comedi/drivers/ni_routing/    |   259 +
 .../comedi/drivers/ni_routing/ni_device_routes.c   | 20251 +++++++++++++++++++
 .../comedi/drivers/ni_routing/ni_route_values.c    |  2724 +++
 5 files changed, 23277 insertions(+)
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/.gitignore
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/Makefile
 create mode 100755 drivers/staging/comedi/drivers/ni_routing/
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_device_routes.c
 create mode 100644 drivers/staging/comedi/drivers/ni_routing/ni_route_values.c

<... SNIP ...>

devel mailing list

Reply via email to