WriteMem
Description
U3 and U6
Writes 1 block (32 bytes) to the non-volatile user or calibration memory.
Command number 0x28 accesses the user memory area. User memory blocks for U3 Hardware version 1.2 consist of 256 bytes (block numbers 0-7). User memory blocks consist of 512 bytes (block 0-15) for U3 hardware versions 1.21 and 1.3 and the U6. Memory must be erased before writing. Do not call this function while streaming.
Command number 0x2B accesses the calibration memory area consisting of 512 bytes (block numbers 0-15), of which the last 8 blocks are not used on the U3 and the last 6 blocks are not used on the U6.
The U3 and U6 flash has a rated endurance of at least 20000 writes, which is plenty for reasonable operation, but if this function is called in a high-speed loop the flash could eventually be damaged. In the case of these functions, that means 20000 writes per 32-byte block.
Note that U3 hardware versions 1.21 and 1.33 and the U6 have 512 Bytes of user memory, but only 256 Bytes are accessible when using the LJ_chUSER_MEM function in the UD driver.
UE9
Writes 1 block (128 bytes) to the Control non-volatile memory. The Mem area must be erased before writing. The Mem area is arranged in 16 blocks of 128 bytes each. Blocks 0-7 are used by LabJack Corporation to store calibration data, and blocks 8-15 are available to the user.
Command
U3 and U6
Byte |
|
0 | Checksum8 |
1 | 0xF8 |
2 | 0×11 |
3 | 0×28 (0×2B) |
4 | Checksum16 (LSB) |
5 | Checksum16 (MSB) |
6 | 0×00 |
7 | BlockNum |
8-39 | 32 Bytes of Data |
UE9
Byte |
|
0 | Checksum8 |
1 | 0xF8 |
2 | 0x41 |
3 | 0x28 |
4 | Checksum16 (LSB) |
5 | Checksum16 (MSB) |
6 | 0x00 |
7 | BlockNum |
8-135 | Data |
Response (U3/U6/UE9)
Response: |
|
Byte |
|
0 | Checksum8 |
1 | 0xF8 |
2 | 0×01 |
3 | 0×28 (0×2B) |
4 | Checksum16 (LSB) |
5 | Checksum16 (MSB) |
6 | Errorcode |
7 | 0×00 |