National Instruments NI-IMAQdx Automobile Accessories User Manual


 
Appendix A Register-Level Programming
© National Instruments Corporation A-5 NI-IMAQdx User Manual
endian data. To correct for this discrepancy, NI-IMAQdx byte-swaps every
quadlet that is read or written with low-level register primitives.
Byte Array
Many cameras allow register-level access to more than 32 bits of data per
communication request. In most cases, you can safely write and read a
large, contiguous block of data to and from the connected camera. Some
cameras fail when trying to access large payloads. If the camera does not
successfully transfer an array of bytes, attempt to transfer the smaller
packets of data one at a time.
Timing
Many cameras are responsive to successive register accesses. In most cases,
you can safely read and write registers as quickly as possible. Some
cameras lock up under stressed conditions. The camera driver inserts
an artificial delay between register accesses. You can change this
artificial delay in the registry under the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
niimaqdxk\Parameters\AsyncTransferDelay
.
The key specifies the millisecond value to delay before each transaction.
After changing the value, reboot the host computer to enable the changes.
Note Changing this delay affects the entire driver, not just register-level access.
Invalid Memory Location
The NI-IMAQdx software allows access to register locations that do not
exist. If an error occurs while accessing the register, check the validity of
the register location.