« Close

Datasheets and User Guides

App Notes

Software & Driver


4.3.14 - Miscellaneous

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 in Sections 5.2.6 - 5.2.8, 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.