]> asedeno.scripts.mit.edu Git - linux.git/commit
staging: comedi: ni_routing: Add NI signal routing info
authorSpencer E. Olson <olsonse@umich.edu>
Wed, 3 Oct 2018 20:56:03 +0000 (14:56 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Oct 2018 13:34:51 +0000 (15:34 +0200)
commitba932fcfee28b6a23bb8a903ce5a2210ac861721
treeeec064afaf199c02dcf0768a7f200b6117dee29d
parentd7569ad766511fe708a8bd7476baa305d1510daf
staging: comedi: ni_routing: Add NI signal routing info

See README for a thorough discussion of this content.

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.

The collection and maintenance of this information is somewhat tedious and
requires frequent re-examination and comparison of NI-MAX and/or the
NI-MHDDK documentation (register programming information) and NI-MHDDK
examples.  Tools are added with this patch to facilitate generating CSV
files from the data tables.  These CSV files can be used with a spreadsheet
program to provide better visual comparision with screenshots gathered from
NI-MAX.  Tools are also added to regenerate the data tables from CSV
content--this greatly enhances updating data tables with large changes
(such as when adding devices).

Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
38 files changed:
drivers/staging/comedi/drivers/ni_routing/README [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes.h [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/all.h [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6070e.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6220.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6221.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6229.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6251.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6254.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6259.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6534.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6602.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6713.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6723.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pci-6733.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxi-6030e.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxi-6224.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxi-6225.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxi-6251.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxi-6733.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxie-6251.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxie-6535.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_device_routes/pxie-6738.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_route_values.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_route_values.h [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_route_values/all.h [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_660x.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_eseries.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/ni_route_values/ni_mseries.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/tools/.gitignore [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/tools/Makefile [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/tools/convert_c_to_py.c [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/tools/convert_csv_to_c.py [new file with mode: 0755]
drivers/staging/comedi/drivers/ni_routing/tools/convert_py_to_csv.py [new file with mode: 0755]
drivers/staging/comedi/drivers/ni_routing/tools/csv_collection.py [new file with mode: 0644]
drivers/staging/comedi/drivers/ni_routing/tools/make_blank_csv.py [new file with mode: 0755]
drivers/staging/comedi/drivers/ni_routing/tools/ni_names.py [new file with mode: 0644]