4.1.14 - Miscellaneous [U6 Datasheet]
The following are special channels, used with the get/put config IOTypes, to read/write the calibration memory and user memory:
LJ_chCAL_CONSTANTS // x1 points to an array with 64 doubles.
LJ_chUSER_MEM // x1 points to an array with 256 bytes.
LJ_chCAL_CONSTANTS makes 16 calls to the low-level ReadCal or
EraseCal/WriteCal functions to do a consecutive read or erase/write of
all 16x 32-byte
blocks of calibration memory, or 512 bytes total. Those bytes represent
64x 64-bit fixed point values in hardware, but are passed to/from the
UD as 64 doubles.
LJ_chUSER_MEM makes 8 calls to the low-level ReadMem or
EraseMem/WriteMem functions to do a consecutive read or erase/write of 8x 32-byte
blocks of user memory. This function accesses the first 256 bytes of user-mem. The second 256 bytes can only be accessed using the low-level functions.
For more information, see the low-level descriptions for ReadMem, WriteMem, EraseMem, and see the Memory example in the VC6_LJUD archive.
The following wait IOType is used to create a delay between other actions:
LJ_ioPUT_WAIT // Channel ignored. Value = 0-4194240 microseconds. Actual resolution is 64 microseconds.
Any value (in microseconds) from 0-4194240 can be passed, but the actual resolution is 64 microseconds.
This is typically used to put a small delay between two actions that will execute in the same low-level Feedback command. It is useful when the desired delay is less than what can be accomplished through software.
For example, a 1.024 millisecond pulse can be created by executing a single Add/Go/Get block that sequentially requests to set FIO4 to output-high, wait 1024 microseconds, then set FIO4 to output-low.