U3A and U3B refer to old hardware versions of the U3. U3Afirmware is for U3 hardware 1.20, and U3Bfirmware is for U3
hardware 1.21. U3C is for the U3-LV and U3-HV.
WARNING:
This warning applies to anyone using a programming utility other than LJSelfUpgrade. Attempting to program a U3A
with U3B firmware will result in improper programming. This is because the U3A does not have sufficient code space to handle the
U3B firmware. If a U3A is programmed with U3B firmware the device can be recovered by jumpering to flash mode and loading
U3A firmware. A U3B can be programmed with U3A firmware and will function as a U3A. LJSelfUpgrade will not allow firmware for
one version to be programmed onto the other.
U3C Firmware (Hardware 1.30)
1.46:
Watchdog wasn't getting cleared unless response packet was read very quickly. Fixed. Timer1 was returning incorrect data
when set to modes 2 or 3.
1.44:
Feedback will now thrown an error when an AIN is read while stream is active. Added special range support to high voltage
channels in modbus. Compatibility settings written by the user will now be loaded at startup. When calling the deprecated, low-
level, SWDT config command the bit for enabling a DIO change will be recognized as the bit for DIOA not DIOB. Added a bus idle
check to the I2C. Timer modes 5 and 6 (counter and counter with debounce) now respond to their proper timer mode numbers
(they were swapped). Timer 1 will now be properly set during initialization. I2C will now return ACK information when only reading.
Only one ack for the address will be reported. Improved timer performance. Changed the watchdog so that it will not clear until the
host computer has read the response. Fixed a problem that was causing edge32 and edge16 timer modes to return improper
data while streaming with reset. Increased I2C max clock stretch time to 1000 clock cycles. When a timer is set to mode 0 or 1
(PWM) reading the timer will return the controlling count.
Click To Expand Change Log
U3B Firmware (Hardware 1.21)
1.54:
Added a clock stretching feature to the I2C function. USB has been updated to improve compatibility with Linux kernels prior
to 2.6.28.
1.52:
Added an I2C option to disable the stop used when restarting. Sending 255 to the debounce function will now have the same
effect as 254. Added an I2C option to enable clock stretching, up to a maximum of 50 clock periods.
1.50:
State DIO functions will now force masked pins to output.
1.49:
I2C acknowledge array now includes the address byte. Added an error to prevent AIN functions from being called while
streaming. Added an error to prevent using channel 30 (Vref) as the negative channel while using Vdd as the reference voltage (30
is an invalid Negative channel while using Vdd as Vref). Stream channel 193 now returns FIO in the LSB to match the
documentation.
1.44:
Fixed CIO startup sequence. Default CIO settings will now be loaded properly. Removed level sensitivity from timer
debounce mode. Debounce quantity is now 1+requested amount.
U3A Firmware (Hardware 1.20)
1.44:
Improved code layout to prevent upgrade issues.
1.43:
Fixed an upgrading issue that was causing flash corruption. The corruption caused the U3 to reset whenever a AIN
command was executed.
Click To Expand Change Log
64