R2026a

New Features, Bug Fixes

Instrument Explorer app support for icdevice interface with MDD drivers

The Instrument Explorer app now supports MATLAB® instrument drivers (.mdd files) using code based on the icdevice interface. In the Instrument Explorer Driver menu, the list of drivers now includes discovered MDD drivers applicable for the specified resource.

To add an existing MDD file that is not on the MATLAB path, click Browse Driver to locate your driver. To generate an MDD driver for an installed IVI-C driver, click Generate Driver.

Legacy compatibility layer

The legacy compatibility layer now provides an easier path to transitioning your code from the legacy API to the latest supported interface. For each device interface, you must transition your code to use the new object, but several of the legacy properties and functions are now supported in the new interface for compatibility and easier code migration. This feature reduces the amount of change necessary to update your code.

For example, where your code originally calls the serial function to create an object, you should update it to call serialport instead. Further updates for lines of code using these objects might not be necessary. The MATLAB editor might provide warnings on impacted lines of code, even if they will execute properly.

Improved udpport write performance

The udpport interface has been enhanced to significantly improve performance of its write capabilities.

Index measurement group array by HwName property

With the icdevice interface when LegacyMode=false, you can now index into an array of measurement groups using HwName property names. This is useful when the array element sequence does not match the measurement name or hardware index. For example:

dev = icdevice("tektronix_tds2024.mdd", ...
        visadev("USB0::0x0699::0x0368::C011800::0::INSTR"), LegacyMode=false)
dev = 

  Driver with properties:

         DriverName: 'tektronix_tds2024'
         DriverType: 'MATLAB interface object'
    InstrumentModel: 'TDS2024'
       Manufacturer: 'Tektronix'
             Status: 'closed'

Connect to the device and examine the first element of the measurement group array.

connect(dev);
dev.measurement(1)
ans = 

  Group with properties:

       Name: 'measurement'
    HwIndex: 6
     HwName: 'MEAS5'

In this case, the HwIndex value (6) and HwName value ('MEAS5') do not correspond to the array index (1). Now you can index into the array using the HwName value:

dev.measurement('MEAS5')
ans = 

  Group with properties:

       Name: 'measurement'
    HwIndex: 6
     HwName: 'MEAS5'

Note: The ividev interface already supported this functionality.