T7 Firmware - Beta | LabJack
« Close

Datasheets and User Guides

App Notes

Software & Driver


T7 Firmware - Beta

This is the latest hot-off-the-press firmware. One of these might be moved to release after further testing, or these might be interim versions.

1.0308: Modified DAC1 frequency out to avoid a resource conflict when sampling the high-res ADC on the T7-Pro. There is a known issue streaming at 100kHz on this firmware version.

1.0307: Added support for type K thermocouple measurement down to -270°C. Note: approximation error down to around -250°C is close to 0.5°C or less, but between -250°C and -270°C the error spikes severely.

1.0305: Added high level support for SHT3X temperature and humidity sensors (EI-1050 replacement) using the SBUS register interface. Resolved the Ethernet issue present in 1.0304.

1.0304: Fixed a bug causing AIN_ALL_SETTLING_US to always return -9999. Fixed a bug causing AIN_ALL_OPTIONS to return 0xFFFF instead of -9999. DIO_EF index 11 behavior changed to match the one-shot and reset behavior of index 3 and 4, documentation change pending. Added a flash checksum system. This system will read the flash twice and compute a checksum of both reads. If there are discrepancies between the reads, the flash chip will be reinitialized and flash will be read again. If there are still discrepancies, factory settings will be loaded, the status LED will blink in sets of three and the device will automatically restart after 60 seconds. The checksum system is only used on comm settings, and DIO settings. Error codes produced during startup can be read from register 60093. Flash read time, when no failures occur, is ~4.7 ms compared to the old 2.2 ms. There is a known issue with Ethernet connection types. The Ethernet interface may appear to start up properly, but fail to establish communications with the host.

1.0299: Fixed a bug which was causing the stream scanrate to be incorrect when using slow scan-rates combined with long scan durations. Factors which contribute to scan duration include: number of channels, resolution index, settling, and gain.

1.0298: Fixed a bug that was causing Lua to interface with 16-bit values incorrectly. This bug was introduced in 1.0297.

1.0297: Fixed a bug that could cause the update flag to not be set when requesting a firmware update. Forcing wifi off will now clear the initializing flag. The update flag flash page will now be erased if improper formatting is detected. Fixed a bug which was causing Lua array functions to throw an error when reading from flash. Fixed a bug which caused stream channels immediately following a stream out channel to collect the wrong number of samples. Fixed the 2021 RTC bug.

Click To Expand Change Log

1.0292: Changed Ethernet to allow multiple requests to be queued up in a single socket. Added AIN Jumpers. AIN3 will force DHCP off and set IP to factory default. Added bad address checks to UART modbus ranges. UART Tx pin num can now be read. Fixed a bug that was causing AIN_EF startup configuration to fail if an AIN was skipped.

1.0288: Changed firmware to queue multiple TCP packets. Previously, firmware would discard any packets received while already processing a packet.

1.0287: Fixed a bug in lua names which was causing registers like I2C_SDA_DIONUM to use the 2 as an index.

1.0286: Fixed a bug in the lua interval timer that could cause the first interval to be skipped. Fixed a bug in one-wire that could cause ReadROM to return invalid results.

1.0285: Writing unstreamable registers to the stream channel list will now throw an error. Added lua names array functions. Using name functions to access 32-bit integer registers will now throw a truncation warning. Updated the DHCP client.

1.0284: Added UDP Lockdown feature.

1.0283: The Lua interval function will now handle large quantities of missed intervals more gracefully. Minimum interval time has been increased to 10 us.

1.0282: Added additional error reporting to Lua name functions.

1.0281: Added MB.readName and MB.writeName to Lua.

1.0280: Reduced the time between power on and application of startup settings. An error will now be thrown when writing to loop_size while the stream out channel is not enabled. Disabling ClockSource0 when it is already disabled will no longer disable clock 1 and 2. When reading the stream scan list, Stream_Out channels will now be properly converted to a modbus address. FIO_SetNameLen will now add a NULL character to all written strings.

1.0270: Added MA_STRM_CHN_CNTR and MA_STRM_CHN_INDEX to C-R Modbus. Added STREAM_AUTORECOVER_DISABLE register 4028. Fixed a bug that could cause stream data errors under certain conditions.

1.0256: Fixed a bug that was causing the Lua function MB.WA to write the wrong number of registers.

1.0255: Added DAC1_FREQ_OUT_ENABLE to startup config. Factory default will now enable ClockSource0 with prescale = 1 and count = 0. 

1.0254: Fixed a bug in UART that was corrupting data when using parity. Fixed a bug that was causing stream auto-recover to report a partial packet. Only affected some stream configurations, such as large number of channels: ~60+.

1.0249: Fixed a bug that could cause the T7 to fail to process a modbus packet when that packet is split up between more than one Ethernet packet.

1.0248: Added read support for MA_DAC1_FREQ_OUT. DIO_EF 3 and 4 will now read every edge. An error will now be thrown when attempting to change the index of an enabled DIO_EF. DIO_EF interrupt counter will now maintain two counts. One for rising edges, the other for falling.   

1.0242: Updated AIN_ALL_NEGATIVE to match documentation. Fixed a bug that was causing unit ordering confusion in AIN_EF RTD and Thermistor.

1.0240: Fixed a bug that was preventing stream from applying gain and differential settings to channels higher than 96.

1.0239: Fixed a bug that was preventing the LUA_LOAD_SAVED register from loading code. Added error message indicating a lack of source code to LUA_RUN. Removed HTTP server and ReST.

1.0237: Fixed a bug that was preventing WiFi from starting up properly. This bug was introduced in beta 1.0228.

1.0235: Minor improvement to USB stream performance. Fixed a bug that was affecting AIN_EF Config_J.

1.0234: Added error condition to the Lua IntervalConfig function that will prevent values greater than 50000 ms. Added DAC1 frequency output feature.

1.0233: Fixed a bug that was causing thermocouple measurements to always return zero. When using DIO_EF L2L mode the value produced can now be read from the odd line as well as the even.

1.0232: Fixed a bug that could cause stream to fail to send data when a DIO_EF was in the channel list. Fixed a bug that was corrupting L2L results. Fixed a bug that was causing bad values when reading two or more quadrature channels in stream.

1.0229: Added SYSTEM_COUNTER_10KHZ register.

1.0228: Fixed a bug that could corrupt the DIO_EF values returned by stream when running more than one DIO_EF input.

1.0227: Added thermocouple types N and B. Fixed a bug that was causing the WiFi joining process to fail when connecting to an unsecured network.

1.0225: Added the lua I2C library. Added Cleanse function.

1.0223: Added temperature unit options to AIN_EF Thermistor. The IO_Config checksum will now exclude digital states, directions and DAC voltages. Added I2C Lua library. Fixed a bug that was causing DIO_EF modes "Conditional Reset" and "Interrupt Frequency In" to ignore the rising edge option.

1.0220: Added IO_Config data checksum register. Added Stream start time stamp.

1.0218: Added a check that will prevent incompatible firmware version from being loaded.

1.0217: Workaround for the Ethernet static IP issue. When switching from static to DHCP the T7 will reboot.

1.0216: Added a register to report the last time stamp received by SNTP. Added SPC debugging waveform output.

1.0208: TDAC functions will now default to a lower clock speed; ~100 kHz instead of ~400 kHz. A new register 55202 "TDAC_SPEED_THROTTLE" has been added to allow manual adjustment.

1.0207: Warning: Updating from 1.0206 or lower to this version will reset the startup configuration. Fixed a bug that was disabling the watchdog time if the LEDs were set to low-power mode. Fixed an issue that could cause hardware 1.31 to report 1.35. Fixed a bug that was causing AIN_EF Average and Threshold to erroneously throw stream errors. Added DIO_EF Frequency In (indices 3, 4, and 11) timeout feature. 

1.0202: Stream will now set the settling time for single channel stream to 10 us regardless of range and resolution settings. The FIO0 jumper will now prevent startup scripts from running. Added a minimum value to the I2C throttle, values less than 46000 will cause errors. Changed SNTP server to pool.ntp.org

1.0199: Fixed a bug in the Lua interval function.

1.0198: The USB interface will now reset itself if a packed going to the host takes more than 100 ms. Added buffer protection error checks to UART. Fixed a bug that could cause the Lua interval function to accumulate event triggers. SNTP minimum update interval set to 10 s.

1.0196: AIN_EFs set to thermocouple mode will now read AIN0 or AIN1 before reading the thermocouple channel so that floating channels can be detected. Added a new error code to indicated that a directory search has completed. Updated AIN_ALL_NEGATIVE_CH to allow reads and writes of 1 to represent "differential" without requiring that the proper channel be specified. This change breaks versions 1.23 and below of the microSD Card Utility, please download version 1.24 or higher.

1.0193: Fixed a bug that was preventing Stream_Out3 from being written to. Fixed a bug that was causing DIO_EF to return old values after being reset. Fixed a bug that was causing stream special channels to corrupt AIN channels.

1.0191: The externally clocked stream divisor will now default to 1, was 0. Fixed a bug that was causing stream to return erroneous data for hardware counters.

1.0189: Fixed a bug that was causing the Thermocouple Type-c results above 1600 ºC to be off by 273 ºC.

1.0188: Fixed a bug that could cause erroneous stream overlap errors.

1.0187: Added stream trigger indices 2003, 2004, 2006, and 2007, as well as support for DIO_EF index 12. Added support for type-S thermocouples. Fixed a bug that was preventing quadrature from counting.

1.0186: Added support for hardware revision 1.35. Added support for higher temperatures to C-type thermocouple calculations. Added experimental stream trigger support. Added AIN_EF_AVG_MAX_MIN.

1.0176: The SBUS option to enable automatic enable-line control will now default to on. Fixed a bug introduced in 1.0175 that could cause AIN measurements to cause the T7 to reset.

1.0175: Fixed a bug causing High-speed converter readings to freeze when using a digital only stream and a stream out that is targeting a DAC. Added an error to prevent reading from the high-resolution converter under the above circumstances.

1.0174: Added excitation mode 4 to AIN_EF thermistor. Added a quick DIO_R function for Lua. When reading DIO_EF from stream the stream data capture registers will be cleared if there DIO_EF data is invalid and READ_A with reset is called.

1.0172: AIN_EF RMS will now use the resolution setting for the selected channel. Added an error to AIN_EF RMS to prevent watchdog timeouts. Changed I2C buffer sizes to 128, was 40. Added MIO bits to the EIO-CIO register and added the CIO-MIO register. Fixed issue in FW 1.0156 to 1.0169 where FILE_IO had errors, would return FILE_IO_INTERNAL_ERROR.

1.0169: Fixed a bug causing writes to Test_32 to throw errors. Added streamable register CMIO: 2582. Added support for Type C thermocouple (feature index 30).

1.0168: Ethernet will now allow two simultaneous connections to port 502.

1.0167: Added resistance temperature detector (RTD) support.

1.0166: RTC functions will allow the time to be set even when the RTC is not installed.

1.0165: The stream data_type will now default to U16. Reenabled the temperature sensor which was disabled in 1.0164.

1.0164: USER_RAM_FIFO changes. Changed stream auto-settling threshold to < 1. Changed device name to update immediately when written, NBNS will not update until the device has been restarted. Fixed a bug that was causing command-response stream to get stuck in auto-recover.

1.0162: Removed lua IOMEM functions. Address 46000 has been changed to USER_RAM and 47000 has been changed to USER_RAM_FIFO.

1.0161: Fixed a bug causing DIO_EF to not reset properly when being read from stream.

1.0159: Updated DIO_EF1 modes 3, 4 and 5 to use the improvements made in 1.0150 to DIO_EF0.

1.0156: Added LFN support the modbus file IO interface. Fixed a bug that was causing DIO_EF produce incorrect values during roll conditions when the clock source period was set to zero.

1.0154: Lua_IO_MEM_R (46000 range) has been changed to simple RAM. I can be read and written through modbus. Added a service to handle script cleanup. Enabled long file names. Digital IO bit range (2000-2022) can now be streamed. LUA_RUN, will return 1 until after the LUA VM has been unloaded from memory.

1.0151: Fixed a bug that was causing the RTC to be set to and report invalid values.

1.0150: Stream will now abort DAC updates that are in progress when stream needs to collect data from an analog input. The aborted DAC update will be restarted after stream has finished the necessary operations. If the Ethernet MAC link is lost the Ethernet stack will be restarted. Updated DIO_EF modes 3, 4, and 5. In continuous mode every edge will be measured. In one-shot mode reading the value will no longer clear the result (that same value will be returned until a new measurement has been completed).

1.0148: AIN_EF updated to make room for new features (a side effect of this is that moving between >=1.0148 and <1.0148 will reset all settings to factory condition). In order to prevent data corruption stream will now abort DAC updates when a stream operation needs to be run. The DAC update will then be restarted after the stream operation is complete. Fixed an issue that could cause invalid stream overlap errors at certain combinations of channels and scan rate.

Known Issues:

  • Some brands and sizes of microSD cards do not work. (We've tested 2-4GB cards from 5+ mfrs, and are unable to establish SPI communication with some of them, but others work. Failure will manifest either as errors(1300) during firmware updates, or errors trying to create files from within Lua. Please contact us if you are having this issue)
  • Firmware 1.0216 - Ethernet will fail to start up properly when set to a static IP.
  • Firmware 1.0304 - The Ethernet interface may appear to start up properly, but fail to establish communications with the host.


Don't I need a matching "ljm_constants.json" file for new firmware? Where would I find the latest for that?