Documentation search search close
CONTENTS
https://www.speedgoat.com/help/slrt/page/icon_documentation.jpg
v10.0.1.x for R2026a
View other versions

Release Notes

Release Notes — Changes, rectifications and software support for new products.

About the Speedgoat I/O Blockset

The Speedgoat I/O Blockset contains all the driver blocks and functions required to use Speedgoat hardware with Simulink® Real-Time™. Each Speedgoat I/O Blockset is available for the last six MATLAB® releases and can be downloaded from the Speedgoat Customer Portal: speedgoat.com/login.

For additional information about new products, please contact Speedgoat Sales.

10.0.1.1 (21-Jul-2026)

This version is available for MATLAB R2026a and all releases back to R2023b, including the MATLAB R2026b prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IEC 61850: MMS Client Transceiver driver block

    • Fixed the following issues:

      • The client stopped transmitting control commands after receiving an Access Denied response when writing an unchanged value

      • The client failed to start control operations when responses to variable specification requests timed out

      • The client failed to retrieve all the variable specifications when too many control objects were configured

      • Trailing whitespaces in read, write, and control item names caused remote servers to report that the requested object did not exist

  • IO292: Setup driver block

    • Fixed: Real-time applications failed to load on Baseline real-time target machines when using IO292 modules with earlier firmware (typically supplied with modules purchased before August 2024)

  • Modbus TCP: Server driver blocks (MATLAB R2026a)

    • Fixed: The real-time application crashed when the remote client closed the connection

10.0.1 (18-Jun-2026)

This version is available for MATLAB R2026a and all releases back to R2023b, including the MATLAB R2026b prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • Modular Signal Conditioning Platform (MSCP)

    • Added support for the following new signal conditioning modules:

      • SC9502-SPDT-TTL: 16-channel relay module with SPDT relays rated up to 8 A and 60 V, controlled by TTL channels from an I/O module or via the MSCP driver blocks

      • SC9503-SPST-TTL: 8-channel HV relay module with SPST relays rated up to 3,500 V DC switching voltage, 2 A switching current, and 3 A carry current, controlled by TTL channels from an I/O module or via the MSCP driver blocks

      • SC9601: 12-channel CAN switching module that enables switching between the main CAN bus (including fault insertion) and a local CAN bus. Supports a software-selectable 120 Ω termination resistor

Feature Improvements

  • Battery Management Testing System (BMTS): BMTS Setup driver block

    • Added functionality to configure gain and offset correction values for each BCE cell

  • Configurable I/O: Introduced the following driver blocks

    • Cam and Crank Angle v4 driver block

      • Provides a common angular position reference for the Events Capture v4 and Variable Reluctance Sensor v4 driver blocks

    • Cam and Crank Events Capture v4 driver block

      • The new block introduces the following features:

        • Capturing cam- and crank-related digital pulses in the angular domain, including pulse duration in seconds

        • Sorting captured events based on the order of occurrence

        • Windowing to suppress pulses outside the defined angular range

    • Cam and Crank Variable Reluctance Sensor v4 driver block

      • The new block introduces the following features:

        • Emulates variable reluctance sensor analog output signals for cam and crank tooth wheels

        • Lookup table–based signal generation referenced to the crank angle

        • Switching between four lookup tables during runtime to emulate fault scenarios

        • Custom lookup table configuration or predefined cam or crankshaft patterns

  • ARINC 429 Parser

    • Added an ARINC 429 Parser tool that supports the IO682 module. The tool imports ARINC 429 communication databases and automatically configures driver blocks and message schedules in Simulink

    • The tool provides a graphical mapping application to associate Simulink signals with ARINC 429 signals

    • It also performs validation checks for database and mapping configurations to help detect configuration errors before deploying the model

    • The ARINC 429 Parser is particularly suitable for avionics and test engineers working with complex ARINC 429 networks who want to accelerate setup and ensure consistent, repeatable configurations

  • IO723: Driver blocks

    • Added support for non-physical CAN signals

    • Added support for the LIN automotive bus interface

    • FL3X Config feature support:

      • Added support to control signal manipulation and manipulation sequences

      • Added support to control global variables

  • Onboard Serial driver blocks: Custom baud rates (Pulse real-time target machine)

    • Added option to define custom baud rates for RS-232 and RS-422/485 communication within the supported range. A runtime license is required to use this feature

  • Performance PCIe+ real-time target machine

    • Added support for the Performance PCIe+ real-time target machine (Item ID 109400) on MATLAB R2026a

  • SCPI PSU: Utility driver block

    • Enhanced the block mask interface and usability

    • Added support for the TTi CPX400DP power supply via serial communication

Bug Fixes and Corrections

  • Configurable I/O:

    • BiSS Sniffer v2 driver block

      • Fixed: The RX outputs were wrong when the Channel Vector parameter did not:

        • Start with channel one; and

        • Contain consecutive channels only

    • Setup v3 driver block (Release Note Update 21-Jul-2026)

      • Fixed: Simulink models containing both configurable I/O and Simulink-programmable FPGA driver blocks failed to build due to symbol conflicts during code generation

  • OnBoard Serial: Setup driver block (Release Note Update 21-Jul-2026)

    • Added the missing RS-422/RS-485 port setup options for the Mobile real-time target machine

  • Pulse I/O: Interrupt Setup driver block (MATLAB R2026a)

    • Fixed the following issues:

      • Degradation in interrupt latency performance

      • Interrupts for Pulse I/O caused CPU overloads

  • Pulse real-time target machine: TET information screen

    • Fixed: Display issues affecting the presentation of model execution time, stop time, and rate information

  • Speedgoat API: speedgoat.setDefaultBootOption (MATLAB R2026a)

    • Reverted the default behavior changed in Speedgoat I/O Blockset 10.0.0.1

    • If AutoReboot is not provided, the function does not reboot the target automatically after selecting a new operating system. To trigger an automatic reboot, set AutoReboot to true

  • Target connectivity

    • Fixed: Migration messages were not displayed after reconnecting to a real-time target machine that had been rebooted to an incompatible MATLAB release

  • Unit real-time target machine (MATLAB R2026a)

    • Fixed: The target machine failed to boot after restarting using the power button

10.0.0.2 (13-May-2026)

This version is available for MATLAB R2026a and all releases back to R2023b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO3xx, Pulse I/O: Interrupt Setup driver block (MATLAB R2026a)

    • Fixed: Using interrupts for IO3xx I/O modules or Pulse I/O caused immediate CPU overloads

  • IO811: Setup driver block (MATLAB R2025b and earlier)

    • Fixed: The DMA transfer interrupt caused the real-time application to crash in Free Running mode

  • Pulse real-time target machine (MATLAB R2026a)

    • Fixed: The Pulse display failed to show the Speedgoat I/O Blockset version and serial numbers

10.0.0.1 (27-Apr-2026)

This version is available for MATLAB R2026a and all releases back to R2023b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • Speedgoat API: speedgoat.setDefaultBootOption (MATLAB R2026a)

    • Changed the function's default behavior in R2026a to automatically reboot the target to load the newly selected operating system

  • Target connectivity (MATLAB R2026a)

    • Fixed: Connection to real-time target machines failed on certain host system configurations

10.0.0 (17-Apr-2026)

This version is available for MATLAB R2026a and all releases back to R2023b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Major Changes in MATLAB R2026a

  • MATLAB R2026a introduces the following changes:

    • Introduction of Antelope RTOS™, the new Linux-based real-time operating system from Speedgoat, offering improved real-time performance, and support for cutting-edge software libraries

    • Introduction of the new Speedgoat Software Installer, which equips your host computer with all the Speedgoat software components required for building and running Simulink Real-Time applications

    • For more information about the changes in R2026a, refer to the MATLAB R2026a Major Update webpage

Discontinued Software Support

  • Software support for the following products ends as of MATLAB R2026a:

ProductAffected Items
I/O modulesIO101, IO103, IO105, IO112, IO114, IO183, IO322, IO331, IO394, IO511, IO629, IO706, IO712, IO811
I/O interface extensionsIO3xx-1-LV, IO3xx-3, IO3xx-5, IO3xx-7, IO331-2, IO331-6, IO331-8, IO331-21
Earlier-generation real-time target machinesEducation real-time target machine (Item IDs 108000, 108200), Mobile real-time target machine (Item ID 105200), Performance real-time target machine (Item IDs 109000, 109020, 109900)
Obsolete CAN driver block librariesspeedgoatlib_IO602_obsolete, speedgoatlib_IO611_obsolete, speedgoatlib_IO612_obsolete, speedgoatlib_IO613_obsolete, speedgoatlib_IO614_obsolete, speedgoatlib_IO691_obsolete

Product Examples

Feature Improvements

  • Battery Management Testing System (BMTS): New BCE AC SM Parameter Update block

    • Added the BCE AC SM Parameter Update block to update the AC Signal Modulation parameters during runtime

  • Ethernet Configuration Tool

    • Added a new column containing the EtherCAT Port information that must be entered in the EtherCAT Simulink driver block

  • IO107 and IO108: Analog output (DMA) v2 driver block

    • Added an external synchronization option to use a common DAC clock trigger source across multiple IO107 and IO108 I/O modules

  • Modbus TCP Server: New Fault Insertion driver block

    • Added a Fault Insertion block to manipulate Modbus server responses and reject connection requests from specific clients

  • SCPI PSU: Utility driver block

    • Added a new block that manages the commands of selected power supply units (PSU) using Standard Commands for Programmable Instruments (SCPI). The block can be used with the Speedgoat serial I/O interfaces (IO50x modules or Onboard Serial) for communication

    • Currently supported PSU: TDK Lambda GEN

  • Speedgoat API:

    • speedgoat.can.DbManagerConfig

      • Added a MATLAB class to manage CAN database (.dbc) configuration files for a Simulink model. The .dbc files configured can then be used with CAN DB Parser Read or Write blocks

    • speedgoat.can.DbParserBlockConfig

      • Added a MATLAB class to configure and interact with CAN DB Parser Read and Write blocks in Simulink. This class enables users to retrieve and modify block parameters

    • speedgoat.setDefaultBootOption

      • Added an AutoReboot option that enables the user to automatically reboot the real-time target to the operating system specified by the release argument

      • Updated the function so that it no longer prints status messages (e.g. applied boot option, default entry, timeout, completion) to the command window

    • speedgoat.setPassword

      • Updated the function to work with immutable target objects introduced in MATLAB 2026a

      • Added a 'SlrtTargetEntryOnly' flag to change the slrtExplorer target object password only, and not the target computer password

      • When calling tg = speedgoat.setPassword(___, 'TargetObject', tg), the function now returns a target object with the updated TargetSetting

    • speedgoat.showPtpInterfaces

      • The function now displays EtherCAT instead of EtherCAT Master in the Configuration column of the output when interfaces are configured for EtherCAT (both MainDevice and SubDevice)

  • Utilities driver block library:

    • Button Read driver block (MATLAB R2026a and later)

      • New block to read the key press state of:

        • A keyboard connected to any real-time target machine

        • The User button on the Pulse real-time target machine

    • Read serial number and Read MAC address driver blocks (Release Note Update 27-Apr-2026)

      • Changed the sample time from "continuous" to "inherited" to allow these blocks to be used in referenced models with discrete sample times

Bug Fixes and Corrections

  • Battery Management Testing System (BMTS): BMTS Setup driver block

    • Fixed: The EtherCAT Network Information (ENI) file was not found when the BMTS Setup driver block was used in a referenced model, and the top model was built without first loading the referenced model

  • IO171 and IO172: Setup driver block

    • Fixed: Interrupts on shared lines increased the task execution time (TET)

  • IO203: Write v2 driver block

    • Fixed the following issues:

      • Outputs failed to switch between high and low states in 5 V TTL mode and remained at a constant high level

      • When using the "1 port with a 64 elements vector" port configuration, the upper 32 channels did not behave as defined in the block mask

  • IO3xx: SSI Master v2 driver block

    • Fixed the following issues:

      • The time low (TL) duration on the SSI-Clock signal was longer than the value defined in the driver block mask

      • Synchronization issues occurred with the Synchronization no waiting time run mode, when the SSI frame time was longer than the model sample time

  • IO425: Driver blocks

    • Fixed: A gain error occurred on the output signal

  • IO50x/IO581: Setup driver block

    • Fixed: Incorrect parity bit value when selecting Mark or Space in the Parity parameter

  • IO723: Driver blocks

    • Fixed: No messages were transmitted after loading the real-time application following:

      • An update to the RBS application, or

      • The target boot-up

  • IO752: Setup v3 driver block

    • Fixed: The Station Name input data type in the Setup block was not correctly validated. Incorrect data types resulted in the station failing to appear during network scans

  • IO925-0125-3-04: Resistor Control driver block

    • Fixed: The module failed to operate in slots 6 and 7 of the Performance P3 real-time target machine

9.11.1.1 (18-Feb-2026)

This version is available for MATLAB R2025b and all releases back to R2023a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • Battery Management Testing System (BMTS)

    • BMTS Setup driver block

      • Fixed: Incorrect minimum limits for the following AC Signal Modulation Timer Sweep parameters: Update Step and Limit Value

    • BMTS Write driver block (Release Note Update 26-Mar-2026)

      • Fixed: When configured for FIU devices, log file accumulation during long simulation runs caused the real-time target machine disk to reach capacity

  • IO141 and IO142: Setup driver block

    • Fixed: Incorrect initial output values on analog channel 1 occurred after a target machine boot and the first load of a real-time application

  • IO143 and IO144: Setup v2 driver block

    • Fixed: The initial values of the analog and digital outputs were only correctly applied when specified as arrays. Now you can specify a scalar value to set the same initial value for all active channels or specify an array to address channels individually

  • IO672: Initialize driver block

    • Fixed: No data was sent on the redundant bus if an error occurred

  • IO682: Driver blocks

    • Fixed: Scheduled messages were immediately sent after loading a real-time application instead of when starting the application

  • IO723: Read and Write Interface driver blocks

    • Fixed: Persistent data was not saved after closing the block mask

  • IO941-SPST-16-2: Relay Control driver block

    • Updated to support the latest hardware revision

9.11.1 (15-Dec-2025)

This version is available for MATLAB R2025b and all releases back to R2023a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO337-650k: New Simulink-programmable FPGA and configurable I/O module with analog and digital I/O capabilities

    • The IO337 I/O module supports 32 fast, single-ended analog outputs, 8 differential simultaneous sampling analog inputs, and 4 LVDS digital I/O lines. The I/O capabilities can be increased by adding an I/O interface extension (-21, -22, or -24)

    • The module also features an AMD Zynq UltraScale+ MPSoC, and the programmable logic has 650k logic cells to accommodate large and complex designs

    • The IO337 is ideal for HIL applications requiring a high number of fast analog outputs, for example, in the automotive and power electronics industries

  • New EtherCAT SubDevice Emulator

    • Enables emulation of up to 256 EtherCAT subordinate devices in a single model on a single Ethernet interface for programmable logic controller (PLC) testing

    • Supports cyclic I/O through process data object (PDO) communication, and parameter access through service data object (SDO) communication

    • Allows straightforward configuration through EtherCAT network information (ENI) file imports

Product Examples

Feature Improvements

  • Configurable I/O

    • Setup v3, DMA Controller v1 driver blocks

      • Moved configuration options to the Setup v3 driver block to improve usability for the Optimize Data Transfer (DMA Controller) function

    • SPI MasterSlave v2 driver block

      • Added a new SYNC signal for which users can control the generated pulse length

      • NOTE: This functionality is only available for SPI code module v2.7 and later in the configuration file

    • SPI MasterSlave v2, SSI Master v2, SSI Sniffer v1, BiSS Decoder v1, PWM Capture v1, Quadrature Decoder v5, Quadrature Encoder v3 driver blocks

      • The Enable multi-channel acceleration (DMA) driver option has been removed and is now handled automatically in the Setup v3 driver block as part of the Optimize Data Transfer function

  • Documentation

    • Help History

      • Introduced the online Help History feature, providing access to Speedgoat documentation for the six latest MATLAB releases and their supported Speedgoat I/O Blockset versions

      • When Web is selected in the MATLAB Help Settings, an online Help History is accessible both locally and online from a dedicated landing page and from all help entry points in MATLAB

    • Pin mapping and connector information tables

      • Consistent table layouts and terminology are being applied to pin mapping pages. These pages will also feature both front connector and terminal board pin mappings when appropriate

      • Connector information tables, featuring relevant connector images, are also being added to pin mapping pages

      • These improvements are being rolled out incrementally across the help

      • The following pages already reflect the improvements made: IO132 pin mapping, IO337-650k pin mapping, and the IO504 pin mapping

  • IO50x, IO581, Onboard Serial: Serial Write driver block

    • Added a ModelStop message feature that enables the Serial Write block to transmit a user-defined message at model stop

  • IO624: New firmware available

    • Increases the bit time and cycle time time-factor range for PSI5 and Wheel Speed Control. The extended range applies to static configuration in the Setup block and to dynamic configuration through the Control block ports

    • The time-factor limit has been increased from 2^12 to 2^31, enabling cycle time values up to approximately 107 s with a resolution of 50 ns

    • A firmware update is required to use these new features. Please contact Speedgoat Support for any queries

Bug Fixes and Corrections

  • Configurable I/O: PWM v5 driver block

    • Fixed: Automatic I/O registration prevented the PWR-TPI6020 "Enable" and "nEnable" functional signals from being controlled using DIO signals

  • IO421: Driver blocks

    • Fixed: Help links in the driver block masks did not open the corresponding documentation

  • IO781: Driver blocks

    • Fixed: Loading a real-time application containing IO781 driver blocks onto the target machine took significantly longer than expected due to initialization delays

  • Modbus RTU: Client driver blocks

    • Fixed: The client waited for the full configured timeout before issuing the next request, even when corrupted or incomplete data had already been received

  • OPC UA: Client Read driver block

    • Fixed: The block returned a timestamp that did not match the time at which the corresponding node on the remote server was last written

9.11.0.1 (29-Oct-2025)

This version is available for MATLAB R2025b and all releases back to R2023a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • CAN DB Parser driver blocks

    • Fixed: Some valid .dbc files were incorrectly flagged as invalid

  • IO110 and IO111: Driver blocks

    • Fixed: Incorrect application of DAC correction values

  • IO3xx: PWM v5 driver block

    • Fixed: Communication problems occurred with the PWR-TPI6020 module when connected through an I/O interface extension

  • IO624: Wheel Speed Control driver block

    • Fixed: Out-of-range Bit Time or Cycle Time input values were not limited for the Square Wave, PWM, AK/VDA, and Custom Sensor Emulators, which could result in invalid timing behavior

  • IO682: Decode v4 driver block

    • Fixed: The label output was incorrect for numbers greater than 255

  • IO723: Driver blocks

    • Fixed: The I/O module was not available in the Simulink Library Browser

  • IO731: TSN Configurator

    • Fixed: During the reset procedure, the IO731 was not pingable when the host system language was not set to English

  • Pulse I/O: Setup v3 driver block

    • Fixed: Timeout errors occurred when loading a new application using an I/O interface extension

  • Pulse real-time target machine

    • Fixed: Checking the target time on a Pulse real-time target machine failed after the internal clock had reset due to loss of backup power

9.11.0 (11-Sep-2025)

This version is available for MATLAB R2025b and all releases back to R2023a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • Modular Signal Conditioning Platform (MSCP)

    • Added support for the following new signal conditioning modules:

      • SC2191: Digital input signal conditioning module for HTL-to-TTL conversion, featuring 16 isolated channels

      • SC4101-100-0.1: 8-channel programmable resistor module (0-102.3 Ω, 0.1 Ω resolution)

      • SC4191-5110k-10k: Single-channel programmable resistor module (0-5110 kΩ, 10 kΩ resolution)

Product Information for Future MATLAB Releases (R2026a and later)

The following I/O modules will no longer be supported on MATLAB R2026a and later. However, these modules will continue to be fully supported and maintained on MATLAB R2025b and earlier, and receive new features, bug fixes, and technical support.

  • Analog: IO101, IO103, IO105, IO112, IO114, IO183

  • Configurable and Simulink-programmable: IO322, IO331, IO394

    • I/O interfaces: IO3xx-1-LV, IO3xx-3, IO3xx-5, IO3xx-7

  • Serial: IO511

  • Communication: IO629, IO706, IO712, IO714

  • Vision: IO811

  • Others: IO976

If this change impacts your setup, please contact us to discuss the best available transition and replacement options.

Feature Improvements

  • Battery Management Testing System: BCE Firmware

    • Improved current regulation and voltage distribution for series-connected cell stacks operating in automatic current sink mode (firmware update required)

  • CAN DB Parser driver blocks

    • Added support for custom Simulink block libraries

  • Configurable I/O:

    • I2C Master read v1 and I2C Master write v1 driver blocks

      • Updated the block mask interface by replacing the manual Clock Divider parameter with a more intuitive way of selecting the bitrate. Users can now choose standard I²C speeds (100 kbit/s, 400 kbit/s) from a drop-down menu or specify a custom bitrate

    • SSI Master v2, SSI Slave v2, SSI Sniffer v1 driver blocks

      • Data type support has been increased to 64 bits for applicable configuration files

  • IO203, IO290, IO291 and IO292: Read and Write driver blocks

    • Added support for other data types and channel vectors on the block input and output ports

  • IO204: Driver blocks

    • Updated to support the latest hardware version

  • IO324, IO325, IO334 and IO336: Analog Setup v1 driver block

    • The analog output initial values are now always applied when the model is loaded on the real-time target machine, instead of on the first model run only. This ensures consistent behavior for every model run

  • IO624: Wheel Speed Control driver block

    • Added an optional input port to control the dynamic speed pulse level for the AK Protocol, specifically to support use cases such as the standstill protocol

  • IO643: Setup driver block

    • Added support for communicating with CANopen devices that only implement the PDO protocol

  • IO644: Transceiver driver block

    • Added support to directly send and receive raw CAN frames, bypassing the CANopen object dictionary and PDO mapping

  • IO751: Setup driver block

    • Increased data throughput on the acyclic communication channel for reading and writing the records of remote PROFINET devices

  • IO925-0125-3-04: Resistor Control driver block

    • Updated to support the latest hardware version

Bug Fixes and Corrections

  • Battery Management Testing System: Setup driver block

    • Fixed: Incorrect application of the AC Signal Modulation Timer Sweep Update Step and Timer Sweep Limit Value mask parameters

  • CAN DB Parser driver blocks

    • Fixed: .dbc files on the MATLAB path, and which were outside the current directory, were incorrectly reported as missing

  • CAN driver blocks

    • Fixed: In referenced models, using non-consecutive module IDs in Setup blocks triggered a build error

  • IO141, IO142 and IO145: Setup driver block

    • Added a check to ensure that the channels are enabled in sequential order within a single analog-to-digital converter

  • IO324, IO325, IO334 and IO336: Analog Setup v1 driver block

    • Fixed: Certain execution orders caused the "Analog input: No memory pool available" message to display

  • IO603: Digital Input and Digital Output driver blocks

    • Fixed: The digital input and output states were only updated when there was active communication on CAN channel 1

  • IO61x: LIN Read and Write driver blocks

    • Fixed: The Channel Mode parameter was not updated correctly in the block mask for slave mode

  • IO752: Setup driver block

    • Fixed: Importing GSDML files that did not define usable modules for the data access point caused an error

  • IO754: Message driver block

    • Fixed: An error occurred when the Init Value parameter was populated

9.10.1 (12-Jun-2025)

This version is available for MATLAB R2025a and all releases back to R2022b, including the upcoming MATLAB R2025b prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO424-RS: New LVDT, RVDT, Resolver and Synchro measurement I/O module

    • Supports up to 2 independent LVDT, RVDT and Resolver measurement channels, and up to 2 independent Synchro measurement channels

    • Provides 16-bit measurement data

    • Internal excitation (only for LVDT, RVDT, Resolver): 1 kHz to 20 kHz, 0 to 12 VRMS, up to 100 mA

    • Software-configurable input range

  • IO971-PT100-16-ext: New RTD simulation I/O module

    • New 16-channel PT100 version supports a broader resistance range of 40 to 900 Ω

  • Pulse I/O

    • Added configuration files for all possible hardware combinations comprising up to two I/O interface extensions. The configuration files are used for the available product examples and provide functionality support for all available digital and analog channels (depending on the corresponding I/O interface extension)

    • Added four examples demonstrating how to build and load Simulink models using Pulse I/O and I/O interface extensions specific to your real-time target machine:

      • Pulse I/O - Analog Loopback

      • Pulse I/O - Analog Loopback with Oversampling

      • Pulse I/O - Frame-Based Analog Loopback

      • Pulse I/O - Digital Loopback

  • Pulse-120 I/O interface extension

    • The I/O interface extension supports 16 differential analog inputs (up to 1.5 Msps) and 16 single-ended analog outputs (up to 10 MUPS)

    • The -120 is ideal for high-speed signal handling in component-/subsystem-level controller testing and control design prototyping

Feature Improvements

  • AUTOSAR E2E utility blocks

    • Added blocks supporting Protect and Check functionalities for AUTOSAR End-to-End (E2E) communication protocol profiles 1 and 2

  • IO425: Write driver block

    • Added optional output port for readback of the actual position from the I/O module

Bug Fixes and Corrections

  • Battery Management Testing Systems:

    • BMTS Setup driver block

      • Fixed: EtherCAT communication failed when the sample time was greater than 10 ms

    • Fault Insertion Unit (FIU) and Temperature Sensor Emulation (TSE) firmware version 1.0.4.0

      • Fixed: EtherCAT communication did not start until the interlock pins were connected for the first time (firmware update required)

  • CAN DB Parser driver blocks

    • Fixed the following issues:

      • Incorrect states of the IDs in hex button caused data-type conversion errors

      • The library status was incorrectly reported as up-to-date after moving a .dbc-file to a new absolute path

  • IO141 and IO142: Analog input driver block

    • Fixed: The block mask input for the maximum permitted conversion clock rate did not factor in the number of active channels per ADC device

  • IO143, IO144 and IO145: Driver blocks

    • Fixed: The analog output signal was incorrect when only one channel and the Simultaneous Channel Update parameter were enabled

  • IO3xx: Setup v3 driver block

    • Fixed: If the block was placed in a referenced model, then the configuration file was not added to the deployable mldatx file

  • IO425: Setup driver block

    • Fixed: The output voltage range failed to attain the defined maximum value

9.10.0 (20-May-2025)

This version is available for MATLAB R2025a and all releases back to R2022b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • Pulse real-time target machine (MATLAB R2025a and later)

    • A scalable and expandable system that adapts to your project needs

    • Offers broad I/O connectivity support and direct access to FPGA technology

    • Integrates with MATLAB and Simulink® for a seamless workflow

    • A versatile solution for RCP and HIL testing, combining compactness and modularity for a wide range of applications

    • Refer to the product web page for further information

Feature Improvements

  • Battery Management Testing System: BCE AC Signal Modulation

    • New feature for high-frequency signal modulation to enable advanced BMS feature testing such as electrochemical impedance spectroscopy (EIS) and electromagnetic noise and disturbance testing

    • Firmware update required: Refer to the help documentation

  • IO682: Decode v4 driver block

    • Added option to output SSM data

    • Changed the data type of the label output to octal

    • Added support for Simulink desktop simulation

  • Modbus TCP: Client Connection driver block

    • Added an option to send Modbus TCP request messages one after the other. This enables communication with servers that process only the first message received and discard subsequent ones

Bug Fixes and Corrections

  • CAN DB Parser driver blocks

    • Fixed: The Message Type parameter was not correctly applied for IO61x CAN I/O modules. This triggered an error message

  • CAN driver blocks

    • Fixed: Simulink bus objects used by the CAN I/O driver blocks were always recreated and overwritten, even when they already existed. This caused unnecessary modification flags in the associated data dictionary

  • IO107/IO108: Analog Output (DMA)

    • Fixed: High-voltage ranges were missing on the DMA blocks for the high-voltage build option

  • IO110: Setup driver block

    • Fixed: Changes to the analog output voltage range were not correctly applied

  • IO682: Decode v4 driver block

    • Fixed: No data was output when the driver block was configured in RAW and Discrete modes

  • Modbus TCP and RTU I/O driver blocks

    • When opening a model, empty block mask parameters referencing undefined workspace variables caused MATLAB to crash

  • Target Software Updates

    • Fixed: Updating the Speedgoat real-time target machine failed to remove previously installed applications. These were subsequently incompatible with the Speedgoat I/O Blockset on the host computer

9.9.2 (26-Mar-2025)

This version is available for MATLAB R2024b and all releases back to R2022a, including the MATLAB R2025a prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO424-R: New LVDT, RVDT and Resolver Measurement I/O module

    • Supports up to 4 independent LVDT, RVDT and Resolver measurement channels

    • Provides 16-bit measurement data

    • Internal excitation: 1 kHz to 20 kHz, 0 to 12 VRMS, up to 100 mA

    • Software-configurable input range

  • IO723: New Automotive Restbus Simulation Interface I/O Module

    • Supports various automotive bus interfaces, including CAN HS, CAN FD, 100BASE-T1, and 1000BASE-T1 Ethernet

    • Designed for AUTOSAR applications with seamless integration of AUTOSAR standards, OEM adaptations, and ARXML configurations

    • Includes SOME/IP support for service-oriented communication in automotive Ethernet networks

    • Implements robust security mechanisms like E2E, SecOC, IPSec, and MACSec

    • Enables mapping of automotive network signals directly in Simulink®

    • Provides high-precision 1 μs timestamp accuracy for synchronized data across bus interfaces

Discontinued Software Support

  • IO301-IO304, IO311-IO314, IO321, IO341, IO383 I/O modules

    • These modules are discontinued as of this Speedgoat I/O Blockset v9.9.2 release

    • Contact Speedgoat Sales for any queries

  • IO682: Driver blocks v3 and earlier (MATLAB R2026a and later)

    • These blocks will be discontinued as of the Speedgoat I/O Blockset release in March 2026

    • Migrate to the v4 blocks for continued compatibility and access to the latest features

    • Contact Speedgoat Support for any queries

Product Examples

  • Added four examples to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines. The new examples include the following:

    • IO424 - LVDT Measurement

    • IO424 - Resolver Measurement

    • IO723 - CAN Loopback

    • Serial - Onboard RS-232 Loopback

Feature Improvements

  • Battery Management Testing System: Fault Insertion Unit (FIU)

    • Increased the switching time to 20 ms to ensure electrical reliability. When switching between fault states, all the relays are opened for 20 ms before the new fault state is applied

  • IO3xx: Resolver Measurement v1 driver block

    • Improved the usability and scalability of the driver block mask. Users can now select vector-based parameters

  • IO3xx: Setup v3 driver block

    • Added functionality to verify if the connected I/O interface extension is compatible with the selected configuration file and settings in the Setup block. This additional check is performed for the latest configuration files only

    • Improved the configuration file download process. If a failure occurs, the block will automatically and repeatedly attempt to download the file again. Users are no longer required to reboot the target machine. If repeated failures occur, the module will be configured to the default state and users will receive a corresponding error message

Bug Fixes and Corrections

  • CAN DB Parser driver blocks

    • Fixed: When using database files with both CAN and CAN FD messages, a build error occurred due to a missing CAN bus object

  • IO104: Driver blocks

    • Fixed: Inconsistent system latency in continuous frame-based, closed-loop operations

  • IO112: Analog input (DMA) v2 driver block

    • Fixed: Sporadic CPU overloads occurred due to incorrect DMA interrupt triggering

  • IO17x: Analog input driver block

    • Fixed: The analog input reading showed an incorrect value after a certain time period

  • IO205: Setup driver block

    • Fixed: Initial output values were not set when loading the real-time application

  • IO3xx: Setup v3 driver block

    • Fixed: Configuration files previously used did not always appear in the mask drop-down list

  • IO602-2/IO602-4/IO603/IO691: CAN Read driver block

    • Fixed: The Message ID List vector size was limited to 255. Additional message IDs were truncated

  • IO752: Setup driver block

    • Fixed: The model required Send and Receive blocks to build. Models can now be built with only the Setup block

  • IO811: Setup driver block

    • Fixed: Real-time applications crashed when reloaded

  • IO907 driver blocks

    • Fixed: An error occurred when starting the real-time application with interrupts on the hardware (Speedgoat item ID 2G907)

  • Modbus RTU Client driver blocks

    • Fixed: The client frequently failed to exchange data when connected with more than one server

  • Modbus RTU Server driver blocks

    • Fixed: The byte swap option did not function. Even if selected, the bytes of the Modbus registers were not swapped

  • MQTT driver blocks

    • Fixed: Referenced models containing MQTT driver blocks failed to build

  • Target Platform Selector

    • Fixed: Configuring a Simulink model with the Target Platform Selector application caused the:

      • Simulink Real-Time Options to reset to default values

      • REAL-TIME tab to fail to open if a configuration set reference was used

9.9.1.1 (17-Jan-2025)

This version is available for MATLAB R2024b and all releases back to R2022a, including the MATLAB R2025a prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • Battery Management Testing System: Fault Insertion Unit (FIU)

    • Fixed: Undefined transitional states when switching relays

  • CAN Database Manager: Documentation

    • Clarified the description of the Set Path button

    • Provided additional details about the MATLAB path for the generated .slx library file

  • CAN DB Parser driver blocks

    • Fixed: Sorting table columns caused an error if no cell was selected beforehand

  • IEC 61850 driver blocks

    • Fixed the following issues:

      • The real-time application crashed when the client processed a server response to a write request

      • The client sporadically failed to connect to the server

      • Importing CID files containing sub-data objects failed

  • IO306, IO307, IO308: Setup v3 driver block

    • Fixed: The download procedure for the configuration file initialization was not executed on the IO306, IO307 and IO308 I/O modules. This caused an error during application start-up

  • IO61x: LIN Read driver blocks

    • Fixed the following issues:

      • When sending LIN slave messages with the enable response input port set to zero, the last enabled LIN message was not read

      • The value of the state output port failed to update and remained persistently at zero

  • IO752: Setup driver block

    • Fixed: When importing a GSDML file, data access points (DAP) with a FixedInSlots attribute different from 0 were assigned to the incorrect slot

  • IO926-0125-5-06: Resistor Control driver block

    • Updated to support the latest hardware version

9.9.1 (17-Dec-2024)

This version is available for MATLAB R2024b and all releases back to R2022a, including the MATLAB R2025a prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO3xx: ADBMS6832_33 Emulation v1 driver block

    • Emulate a Battery Cell Monitoring Unit (CMU) for HIL BMS Testing

    • The CMU Emulation code module functionality supports the most frequently used functions of the Analog Devices' chips ADBMS6832 and ADBMS6833

    • Supports up to 64 CMUs in a daisy chain

  • IO908: New 10 Gb shared memory I/O module

    • The module offers:

      • 10 Gbaud serial connection speed via fiber optics

      • 1 GB of onboard SDRAM for deterministic low-latency data transfer between nodes

  • Modular Signal Conditioning Platform (MSCP) (Release Note Update 12-Jun-2025)

    • New interface blocks are available to configure signal conditioning modules installed in the MSCP platform

Discontinued Software Support

  • Legacy all_dio and all_io configuration files for the IO306, IO307, IO316, IO317, IO318, IO322, IO323, IO331 and IO333 I/O modules

    • Removed legacy configuration files from the Speedgoat I/O Blockset. If you have models using one of these configuration files that can no longer be compiled after installing this release, contact Speedgoat Support for a replacement configuration file

Feature Improvements

  • CAN DB Parser driver blocks

    • Added support for parsing simultaneous definitions of CAN and CAN FD messages within a single database file

  • IO142: Setup driver block

    • To improve behavior, a redundant value check was removed when switching the output range from voltage to ampere

  • IO203: Driver blocks

    • Introduced new v2 Setup, Write and Read blocks offering 64-channel configuration

    • The Read and Write blocks will now only show the enabled input and output channels

  • IO3xx: Crank Encoder v3 driver block

    • Added a new mask parameter (Initial Angle Vector), which defines the angle of the crank shaft at model start. This parameter can be used to emulate multiple crank shafts, which each have different angle offsets

  • IO3xx: SENT Tx v1, SENT RX v1 driver blocks

    • SENT tick times can now be set to less than 1 us. We nonetheless recommend using SENT tick times as defined in the protocol specification: 3 to 90 us

  • IO3xx: Setup v3 driver block

    • Added a browse button to search for a configuration file in any location. All configuration files in the current directory or in an I/O configuration package can be selected from the drop-down menu. New configuration files (available in the same drop-down) can now also be installed using a dedicated installer script

    • Added automatic detection and checkbox activation of the I/O interface extension implemented in your configuration file

    • Enhanced the mask usability by ensuring that user options display more seamlessly

  • IO603: LIN Write block

    • The Enable Response option is now available to add an input port to the driver block that enables/disables LIN message transmissions

  • IO624: Frame driver block

    • Added a new block to build a PSI5 send frame with configurable data spaces, bit sequence control, and automatic CRC calculation

  • IO682: New v4 driver blocks introducing the following features:

    • SDI bits can be used as data

    • RAW data can be sent directly

    • The transmission rate of each message can be controlled individually

  • OPC UA Client driver blocks

    • Read and Write blocks can now manage multiple nodes

    • In addition to the node configuration via block mask parameters, node properties can be defined in workspace variables and data dictionaries, and then passed to the blocks

    • Multiple values received can be output as a single Simulink® Bus object

    • Subscription support enables unsolicited data transmission without the need for explicit read requests

  • Target Command-Line Tools

    • Added new speedgoat_setDefaultGateway command to set the default gateway of a Speedgoat target machine. This setting will persist even after a target machine reboot

Bug Fixes and Corrections

  • IO104: Analog input driver block

    • Fixed: Incorrect channels were assigned on certain Performance P2 real-time target machines (CL630) when using DMA with hardware interrupts

  • IO3xx: PWM Generation v5 driver block

    • Fixed: In certain scenarios, the PWM output signal incorrectly stayed HIGH, even when the input ports PWM A DC and PWM B DC were set to 0

  • IO603: LIN Write block

    • The Enable Response option is now available to add an input port to the driver block that enables/disables LIN message transmissions

  • IO61x:

    • CAN Read driver block

      • Fixed: The CAN channel stopped operating when the read buffer was full

    • CAN Status block

      • Fixed: The enable input of the status block occasionally failed to start the channel correctly

  • Modbus TCP: Client driver blocks

    • Fixed the following issues:

      • The Connection block did not attempt to reconnect to server devices when the connection was lost

      • The Write block ignored trigger conditions when placed in conditional subsystems, and continuously sent requests to the remote server device

  • Speedgoat API: speedgoat.getIoInterfaces

    • ModuleID values returned for Simulink-programmable and configurable I/O modules were incorrect when the target machine contained multiple I/O modules of the same type. In this scenario, and with the additional use of the auto-search feature, the mapping between the ModuleID and the corresponding Slot for these modules was incorrect. Refer to the description of the Module ID parameter in your Setup block documentation

9.9.0.1 (10-Oct-2024)

This version is available for MATLAB R2024b and all releases back to R2022a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO104: Setup driver block (MATLAB R2024a and R2024b)

    • Fixed: The real-time application crashed during load

    • NOTE: Initial values for analog and digital outputs are currently only supported in MATLAB R2023b and earlier

  • IO3xx: DMA Controller v1 driver block

    • Fixed: The model caused an error when a workspace variable was used for the global sample time of the model

  • IO3xx: Resolver Emulation v1 driver block

    • Fixed: The position output was wrong when the Channel Vector parameter did not:

      • Start with channel one; and

      • Contain consecutive channels only

  • IO421: Driver blocks

    • Fixed: When using multiple plug-in modules, only the first driver block in the execution order worked correctly

  • IO50x and IO581: Setup driver block

    • Fixed: Incorrect baud rate calculations when using a non-standard baud rate

  • IO602-2/IO691: Obsolete driver blocks

    • Fixed the following issues:

      • Missing files in the block library

      • Legacy blocks automatically updated to the current versions

  • IO752: Setup driver block

    • Fixed: The PROFINET communication did not start if the Bus Start parameter was set to On model start and the Send and Receive blocks were placed in a function-call subsystem driven by the Interrupt Setup block (typical configuration for PROFINET isochronous real-time communication)

  • IO752-32 Setup driver block

    • Fixed: The initialization of the startup real-time applications failed after power-on

  • IO907: Driver blocks

    • Fixed: I/O modules with the latest firmware version were not detected by the driver

  • Modbus TCP: Driver blocks

    • Fixed: The real-time application crashed sporadically when stopped

9.9.0 (12-Sep-2024)

This version is available for MATLAB R2024b and all releases back to R2022a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Speedgoat I/O Blockset Help

  • When you access the documentation from an installed version of MATLAB, the documentation now opens in your system web browser. Previously, the documentation opened in the Help browser (MATLAB R2024b)

  • From now on, to open product examples from the MATLAB documentation, click the Copy Command button next to the example. Then, paste the copied command into the MATLAB Command Window (MATLAB R2024b and earlier)

Software Support for New Products

  • IO717 10 Gigabit Ethernet I/O module

    • Provides a dual-channel 10 GbE interface supporting multiple data rates (100 Mbit/s, 1 Gbit/s, 2.5 Gbit/s, 5 Gbit/s, and 10 Gbit/s) using the auto-negotiation functionality

    • Compatible with the following protocols: DNP3, EtherCAT, IEC 61850, PTP IEEE-1588, Real-time UDP, TCP/IP, XCP master, Modbus TCP, and OPC UA

  • Modbus RTU Client and Server

    • Modbus RTU Client and Server connectivity is now available for Serial I/O modules (IO503, IO504, IO505, and IO581). A runtime license is required

    • Modbus RTU Client

      • Enables communication with up to 32 Modbus RTU servers for rapid control prototyping (RCP) and hardware-in-the-loop (HIL) simulation

    • Modbus RTU Server

      • Simulates multiple servers on a single real-time target machine, with up to 32 nodes per client, for industrial and automation applications

Discontinued Software Support

  • IO301-IO304, IO311-IO314, IO321, IO341, IO383 I/O modules (MATLAB R2025a)

    • These modules will be discontinued as of the Speedgoat I/O Blockset v9.10 in March 2025

    • Contact sales@speedgoat.com for any queries

  • speedgoatlib_fpga_obsolete.slx driver block library (MATLAB R2025a)

    • This library will be discontinued and removed from the Speedgoat I/O Blockset v9.10 in March 2025. The following driver blocks are affected:

      • Cam Encoder v1, PWM Generation v3, QAD v2, QAE v1, SPI read FIFO v2, SPI read RAM v2, SPI setup v2, SPI write FIFO v2, SPI write RAM v2, SPI MasterSlave v1, SPI Slave, SPI Slave Receive, SPI Slave Send, SSI Master v1, SSI Slave v1, Serial Read Frame v1, Serial Read HW FIFO v1, Serial Setup v1, Serial Write HW FIFO v1

      • Contact sales@speedgoat.com for any queries

Feature Improvements

  • CAN DB Parser driver blocks

    • Added functionality to simultaneously load multiple *.dbc files to the Database Manager

  • Ethernet Configuration Tool

    • Added check to prevent IP aliases being configured on the same subnet as other interfaces. This avoids the possibility of Ethernet packets being sent over the wrong interface

  • Inclusive Terminology

    • DNP3 Protocol

      • Replaced master/outstation with client/server to align with terminology use in the industrial automation and control systems' sector

  • IO425: Setup driver block

    • Added functionality to manually calibrate the measured input when using external excitation

  • IO624: Wheel Speed Control driver block

    • Added feature to tune the bit and cycle times during runtime for Square Wave, PWM, AK/VDA, and Custom Sensor Emulators

    • Changed the input data type from single vector to individual input ports per signal

  • IO643: Network Management driver block for CANopen Master

    • Added the NMT block to control the network state (OPERATIONAL, PRE-OPERATIONAL, INIT, STOPPED) of CANopen slave devices connected to the I/O module

  • IO752: Setup driver block

    • Added block mask parameters to define the module's identity attributes, which remote PROFINET controllers read for identification and maintenance

    • Added option for users to activate S2 redundancy support for a specific IO752 hardware version

  • MQTT: Client Connection driver block

    • Username and password authentication is now supported

  • OPC UA: Server driver blocks

    • Added the Enable input port to the Node block to allow event-based write operations

    • Additional namespaces can now be defined in the Setup block mask. As a result, Node driver blocks can now be assigned to different namespaces than 0 and 1

    • Node driver block can now process vectors as well as 1-by-n and n-by-1 matrices

Bug Fixes and Corrections

  • IEC 61850: SV Publisher driver block

    • Fixed: The time stamp was always appended to a broadcast message, which caused some external devices to throw an error

  • IO145: Analog input driver block

    • Fixed: The block mask input for the maximum permitted conversion clock rate did not factor in the number of active channels per ADC device

  • IO3xx: DMA Controller v1 driver block

    • Fixed: Inconsistent settings of the DMA Controller trigger time and model sample step settings prevented the real-time application from deploying

  • IO3xx: SPI MasterSlave v1 driver block

    • Fixed: Multiple-channel configuration was possible, despite the driver block only supporting single-channel configuration

  • IO425: Setup driver block

    • Fixed: Channel 1 and 4 relays were misconfigured when using external excitation

  • IO581: Setup driver blocks

    • Fixed: A code revision caused the module baud rate divisor to be misconfigured

  • IO61x: CAN and LIN Write driver blocks

    • Fixed: Excessive CPU load occurred when writing CAN and LIN messages

  • IO602-2/IO602-4/IO603/IO691: CAN Setup driver block

    • Fixed: The channel initialization functionality required channels with a lower index than the one being configured to be enabled

  • OPC UA driver blocks

    • Fixed: Referenced models containing OPC UA driver blocks failed to build

  • OPC UA Client driver blocks

    • Fixed: The Client failed to recognize a connection loss and simply issued repeat response timeout warnings

9.8.1.1 (09-Jul-2024)

This version is available for MATLAB R2024a and all releases back to R2021b, including the MATLAB R2024b prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • Battery Management Testing System: BMTS Bus Pack driver block

    • Fixed the following issues:

      • Opening the block mask caused an error in MATLAB R2023a and earlier

      • The Help link in the context menu did not work

  • Ethernet Configuration Tool

    • Fixed: An error occurred in some cases when configuring the default gateway

  • IEC 61850: MMS Server driver block

    • Fixed: No warning message was displayed if Java 8 runtime was missing on the host computer when converting a Configured IED Description (CID) file for the MMS Server

  • IO172: Analog input driver block

    • Fixed: The real-time application crashed when an IO172 I/O module was used in the Simulink model

  • IO3xx: PWM Capture v1 driver block

    • Fixed the following issues:

      • The Capture Timeout duration caused an error when a workspace variable was used

      • When the Channel Debounce Time parameter was set to 0, the debounce duration defaulted to the maximum supported time instead of being disabled

  • IO325/IO336: Analog input v1 driver block

    • Fixed: The block did not output any data samples when the analog inputs were configured to run in model-step-triggered mode in the IO336/IO325 Analog Setup block

  • IO50X/IO581: Setup driver blocks

    • Fixed: The baud rate calculation in the driver block mask displayed a blocking error message, rather than a warning message to inform users about rounding

  • IO752: Setup driver block

    • Fixed: Controller devices signaled "wrong device type" and refused connections with the I/O module due to a wrong device instance attribute in the identification message

  • Speedgoat API: speedgoat.setPassword

    • Fixed: Changing the password created a permission issue in the file system where no real-time applications could be installed anymore. The new version of this function, when executed, repairs the file system

  • Standalone Applications

    • Fixed: Standalone applications failed to communicate with a real-time target machine

  • Utilities driver block library: Read target time block

    • Added Sample Time parameter setting

9.8.1 (12-Jun-2024)

This version is available for MATLAB R2024a and all releases back to R2021b, including the MATLAB R2024b prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Feature Improvements

  • Battery Management Testing System: New BMTS Bus Pack block

    • Added the BMTS Bus Pack block to easily insert data into BMTS bus signals for use with the BMTS Write blocks

  • Documentation: "I/O interface" and "I/O interface extension" terminology updates

    • Throughout the documentation, the terms "front plug-in" and "rear plug-in" or "signal conditioning module" have been updated for improved clarity and consistency:

      • "Front plug-in" has been updated to "I/O interface"

      • "Rear plug-in" and "signal conditioning module" have been updated to "I/O interface extension"

  • IO3xx: SENT Rx v1 driver block

    • Added functionality to set the user-defined CRC polynomial value and initial value

    • NOTE: This functionality is only available for SENT Rx code module v1.7 or later in the configuration file

  • IO3xx: SENT Tx v1 driver block

    • Added functionality to:

      • Set the user-defined CRC polynomial value and initial value

      • Start the transfer of a SENT frame when the real-time application step is launched

      • Synchronize the real-time application to correctly switch between different enhanced serial messages

      • Switch between the high-time variable when the SENT signal is mainly HIGH, and the low-time variable when the SENT signal is mainly LOW

    • NOTE: These functionalities are only available for SENT Tx code module v1.5 or later in the configuration file

  • IO641, IO751, IO755: Setup driver blocks

    • SYCON.net configuration files are automatically loaded onto the target machine when the real-time application is deployed

    • Explicit download using the sg_IO64X_loadconfig and sg_IO75X_loadconfig commands is no longer required

    • The Setup blocks now offer parameters to select the configuration files

  • IO752: Setup driver block

    • Added support for the GSDML data type F_MessageTrailer5Byte

    • The type and dimensions of the F_MessageTrailer4Byte changed from uint32 to a vector of four uint8 values

  • OPC UA Client driver blocks

    • The Connection block now allows users to enter the URL of the remote server

  • Speedgoat API:

    • New API functions:

      • speedgoat.model.createFromEds

        • Added the function to read CANopen Electronic Data Sheets (EDS) and autogenerate communication interfaces for CANopen Slave devices for the IO644 module (Help)

      • speedgoat.setPassword

        • For security reasons, users should change the default passwords of their target machines. This new function allows users to easily do this (Help)

Bug Fixes and Corrections

  • IO3xx: I2C Slave write v1 driver block

    • Fixed: The wrong warning message displayed when using configuration files with I2C Slave version 1.10 or later

  • IO3xx: IO Sync and PWM Generation driver block

    • Fixed: The real-time application did not start when the configured frame time was less than 100 us

  • IO3xx: SENT Tx code module

    • Fixed: The rolling counter in the H4 message format did not transfer all 8 bits

  • IO301-IO304, IO311-IO314, IO321, IO341, IO383 I/O modules (MATLAB R2025a)

    • These modules will be discontinued as of the Speedgoat I/O Blockset v9.10.0

    • Contact sales@speedgoat.com for any queries

  • IO324/IO325/IO336: Variable Reluctance Sensor v3, Knock Generator v3, and Crank Encoder Analog v3 driver blocks

    • Fixed: The blocks triggered an error when updating or building the Simulink model as the voltage range settings of the corresponding Analog Setup driver blocks could not be retrieved

  • IO602/IO691: CAN driver blocks

    • The legacy CAN blocks are no longer displayed in the Speedgoat library, but remain available for use. They will be permanently removed in a future Speedgoat I/O Blockset release. If you are using these blocks, then you can already replace them with the appropriately configured current block versions

  • IO752: Setup driver block

    • Fixed the following issues:

      • The data module selector did not list modules that have the FixedInSlots attribute

      • Adding the data access point to the modules' table did not automatically add the corresponding data modules with the FixedInSlots attribute

  • speedgoatlib_fpga_obsolete.slx driver block library (MATLAB R2025a)

    • This library will be discontinued and removed from the Speedgoat I/O Blockset v9.10.0. The following driver blocks are affected:

      • Cam Encoder v1, PWM Generation v3, QAD v2, QAE v1, SPI read FIFO v2, SPI read RAM v2, SPI setup v2, SPI write FIFO v2, SPI write RAM v2, SPI MasterSlave v1, SPI Slave, SPI Slave Receive, SPI Slave Send, SSI Master v1, SSI Slave v1, Serial Read Frame v1, Serial Read HW FIFO v1, Serial Setup v1, Serial Write HW FIFO v1

      • Contact sales@speedgoat.com for any queries

  • Speedgoat API: speedgoat.getIoInterfaces

    • Fixed: The wrong ModuleID values were returned for configurable and Simulink-programmable FPGA I/O modules

  • Standalone Applications

    • Fixed: Warning messages displayed when building a standalone application using MATLAB Compiler™

9.8.0.3 (21-May-2024)

This version is available for MATLAB R2024a and all releases back to R2021b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO603: Digital input and output driver blocks (MATLAB R2024a)

    • Fixed: Incorrect access to the module registry caused an error when starting the real-time application

9.8.0.2 (07-May-2024)

This version is available for MATLAB R2024a and all releases back to R2021b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • Battery Management Testing System:

    • BCE Firmware

      • Fixed: The output voltage oscillated when using high oversampling values of 128, 256 or 512 samples. The output update rate has been tuned to ensure stable performance (firmware update required - refer to the help)

    • BMTS Write driver block

      • Fixed: The real-time application crashed when stopped and when a high number of BCE devices were connected

  • CAN DB Parser: Driver blocks

    • Fixed: The OK button occasionally failed to function when IDs were displayed in hexadecimal format

  • IO191: Driver blocks

    • Fixed: Setting the analog output voltage to the maximum value of 10 V caused the actual output to drop to 0 V

  • IO3xx: Crank Encoder Event Capture v3 driver block

    • Fixed: Incorrect access to the register by the driver caused: 1). A version error when loading the Simulink model to the target machine; and 2). Malfunction of the code module during model execution

  • IO324/IO325/IO334/IO336: Analog Setup v1 driver block

    • Fixed: An error message for maximum FIFO threshold was occasionally triggered. This issue only occurred if DMA Interrupt mode was enabled

  • IO331: Setup v3 driver block

    • Fixed: The built-in self-test error was asserted when starting a model including an IO331 I/O module

  • IO644: Setup driver block

    • Fixed: The real-time application crashed at startup

9.8.0.1 (05-Apr-2024)

This version is available for MATLAB R2024a and all releases back to R2021b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO316, IO317, IO318, IO322, IO323, IO332, IO333: Setup v3 driver block (Release Note Update 07-May-2024)

    • Fixed: The error "Setup block: board type unknown" was asserted when starting a model with one of the listed I/O modules

  • IO581: Setup driver block

    • Fixed: A wrong oscillator frequency was used for the IO581, resulting in a target error when loading the real-time application

  • IO619: Setup driver block

    • Fixed: Empty data elements in the header row caused an error when importing a device configuration from an Excel file

  • Modbus TCP: Driver block

    • Fixed: When sending an FC5 command, the payload (0xFF00) was not being converted to big-endian when enabling the swap bytes functionality

  • Referenced models in R2024a

    • Fixed: Certain combinations of driver blocks could cause build errors when used in referenced models

  • Speedgoat I/O Blockset installation

    • Fixed: speedgoat_setup.m failed on Japanese versions of MATLAB due to a datetime formatting issue

9.8.0 (22-Mar-2024)

This version is available for MATLAB R2024a and all releases back to R2021b.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Support for MATLAB R2024a

  • Change of behavior for specific I/O modules when loading a real-time application

    • Due to a change in Simulink Real-Time in R2024a, which enables initial condition parameter tuning, some I/O modules will exhibit an undesired change of behavior at the beginning of real-time application execution. These I/O modules will initialize when the real-time application starts, not when it is loading

    • The following I/O modules are concerned: IO104, IO107, IO108, IO110, IO111, IO113, IO116, IO171, IO172, IO207, IO290, IO291, IO292, IO421. The original behavior of these modules will be restored in future updates to the Speedgoat I/O Blockset

  • System Target File

    • A new system target file (STF), speedgoat.tlc, replaces slrealtime.tlc

    • Introduced the Target Platform Selector application to assist with the configuration of Simulink Real-Time models (Help)

Software Support for New Products

  • Speedgoat EV/EVSE CCS Charging Interface: New external communication module for EV charging testing

    • Available as an EV (Electric Vehicle) or EVSE (Electric Vehicle Supply Equipment) version

    • Supported charging protocols: IEC 61851, DIN 70121, ISO 15118-3

    • Charging parameters configurable using Simulink® in conjunction with the Speedgoat I/O Blockset

    • Use this external module to emulate one or both sides of the Green PHY PLC communication between an EV and EVSE

Speedgoat Product Examples

  • Added four examples to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines. The new examples include the following:

    • CAN - Working with the DB Parser

    • IO334 - Analog Loopback

    • IO334 - Analog Loopback with Oversampling

    • IO334 - Frame-Based Analog Loopback

Feature Improvements

  • Battery Management Testing System (BMTS): Setup driver block

    • Added feature to perform firmware updates of connected BMTS devices

    • The ENI (EtherCAT Network Information) file is now automatically generated in a temporary folder

  • IO132-IO135: Setup driver block

    • Added feature to specify the offset and gain correction values to manually calibrate ADC and DAC channels

  • Configurable I/O modules: Analog Setup v1 driver block

    • IO324:

      • Added individual trigger settings for each ADC group

      • Added option to use oversampling in all trigger modes

      • Changed the Analog Output FIFO Threshold unit to samples/channel instead of the total number of samples

    • IO325:

      • Added individual trigger settings for each ADC group

      • Changed the Analog Output FIFO Threshold unit to samples/channel instead of the total number of samples

    • IO334:

      • Introduced the Sample and Read option, which is enabled by default. This allows users to obtain the ADC sample immediately. The option can be disabled for higher sample rates

      • Added support for Analog code modules, for example, Resolver Emulation

      • Changed the Analog Output FIFO Threshold unit to samples/channel instead of the total number of samples

    • IO336: Analog Setup v1 driver block

      • Added individual trigger settings for each ADC group

      • Changed the Analog Output FIFO Threshold unit to samples/channel instead of the total number of samples

    • Note: To obtain the same behavior as with a previous Speedgoat I/O Blockset version, divide the old FIFO threshold by the number of active DAC channels to obtain the new FIFO Threshold value

  • IO421: LVDT write driver block

    • Added option to enable block input ports for the Phase Offset Vector, VLL Output Vector, and Expected Excitation Voltage (VREF) Vector parameters. When the input ports are enabled, these parameters are runtime tunable

  • IO425: Write driver block

    • Added option to control the input and output switches for fault insertion

  • IO50x and IO581: Setup driver blocks

    • Added a dropdown menu to select the installed oscillator frequency of the module. This allows for baud rate calculation within the driver block mask

  • IO644: New version of CANopen Slave device driver blocks

    • The new blocks allow users to simulate CANopen devices from other vendors or to design individual device types with a custom object dictionary

    • The new Setup block specifies the complete device identity and configures network monitoring services like heartbeat and node guarding

    • The Object block adds custom application objects to the module's object dictionary and allows remote master devices to access the object's value using the SDO and PDO protocols

    • The PDO block enables the cyclic and event-controlled exchange of mapped object data and allows synchronous data transfer

    • The new Network Status block provides the ability to control and monitor the local NMT state

    • The default IO644 EDS file no longer serves any purpose. Instead, users can export an application-specific EDS file from the Setup block

  • IO731: TSN Configurator

    • Added utility which guides users through the reset procedure

    • Updated TSN Configuration tool to support the new firmware version

  • MATLAB Project Dependency Analyzer

    • The analyzer now lists the Speedgoat I/O Blockset as a single dependency instead of listing all the files that the blockset uses internally

Bug Fixes and Corrections

  • Battery Management Testing System: BCE Firmware

    • Fixed the following issues:

      • ADC and DAC data correction values were not always applied (firmware update required)

      • ADC correction data for current measurement was sometimes incorrect (firmware update required)

      • The resistor values of the TSE channels were not updated when disabling and re-enabling the interlock during operation (firmware update required)

  • Help Preference Warning

    • Fixed: The GUI informing users about online and local help preferences pointed to the incorrect MathWorks® help page when clicking the How to install MATLAB documentation? button

  • IO132-IO135: Setup driver blocks

    • Fixed: The initial DMA values were occasionally wrong when starting the real-time application

  • IO3xx-08, IO32x, IO33x-07, and IO397: Analog driver blocks

    • Fixed: An error occurred when copying and pasting driver blocks in the same and across different Simulink models

  • IO3xx: I2C Slave read v1 driver block

    • Fixed: The real-time application crashed during the execution of tg.start when the Show data valid port parameter was selected

  • IO3xx: Interrupt (INTA) code module

    • Fixed: The Interrupt Service Routine (ISR) was called too early, which caused the real-time target machine to crash

  • IO324/IO325/IO336: Analog Setup v1 driver block

    • Fixed the following issues:

      • The oversampling factor always defaulted to one sample less than the value selected in the driver block mask

      • The digital input and output signals of the rear plug-in did not work as external trigger signals (configuration file update required)

      • When selecting an output signal as trigger for analog inputs or outputs, the rising and falling edges were used, instead of the rising edge only. This resulted in the wrong sample rates being generated (configuration file update required)

  • IO50x and IO581: Setup driver blocks

    • Fixed: The value for the Data Bits block parameter was always read as 8 data bits during the I/O module initialization, regardless of the value originally entered in the parameter field

  • IO602/IO603/IO691: CAN Read driver block

    • Fixed: When changing the protocol mode to CAN FD, this occasionally resulted in no CAN_FD_MESSAGE_BUS data type being created and subsequently a compilation error

  • IO781: Driver blocks

    • Added support for new types of SFP transceivers

  • MATLAB Compiler

    • Fixed: When using a deployed App Designer app with the ObfuscateArchive flag enabled, the warning message "switch only supports MAT-File v7.3 format" appeared

9.7.1.1 (26-Jan-2024)

This version is available for MATLAB R2023b and all releases back to R2021a, including the MATLAB R2024a prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • Battery Cell Emulator (BCE)

    • All BCE outputs now remain disabled for the first two seconds of the execution to ensure the cell configurations settle correctly

    • Fixed: Communication between the target machine and the BCEs failed if the network included more than five devices

  • CAN DB Parser driver blocks

    • An error is now triggered when editing a CAN DB Parser block inside a separately opened referenced subsystem

    • Fixed: Certain database file names caused an error during library generation, as they were not valid for the similarly named .slx library file

  • IO108: Setup driver block

    • Added missing voltage ranges for the high-voltage option

  • IO3xx: EnDat Decoder v1 driver block

    • Fixed: A compilation error occurred when building the Simulink model

  • IO603: Pin mapping

    • Fixed: The LIN VCC signal was assigned to the wrong pin

  • IO907 I/O Module

    • Driver blocks

      • Fixed: A memory map error occurred when using more than 16 bytes or DMA mode

    • Write driver block

      • Fixed: Unreasonably high task execution time (TET) for lower data volumes (less than 300 bytes per partition) in non-DMA mode

  • Simulink-Programmable FPGA I/O Module

    • Fixed: A 'MaskParameterCallback' error occurred when opening the DUT block mask due to incorrect handling of function arguments

9.7.1 (14-Dec-2023)

This version is available for MATLAB R2023b and all releases back to R2021a, including the MATLAB R2024a prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO334: New analog configurable I/O module

    • The IO334 is now available not only as a Simulink-programmable FPGA I/O module, but also as a configurable I/O module

    • The module supports:

      • Up to 16 differential analog inputs with up to 5 Gbps

      • Up to 16 single-ended analog outputs with <1 us settling time

    • The IO334 is ideal for control applications in various fields, for example, the automotive and power electronics industries

Speedgoat Product Examples

  • Added six examples to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines. The new examples include the following:

    • ARINC 825 and CAN - Loopback

    • BCE - Fault Insertion with FIU

    • BCE - Temperature Sensor Emulation with TSE

    • BCE - Simple Voltage Control

    • CAN - Working with CAN HS

    • IO611 - LIN Loopback

Feature Improvements

  • ARINC 825: Driver blocks

    • Added support for the IO603 I/O module

  • CAN DB Parser Write driver blocks

    • Added optional input port to disable selected CAN messages

    • Added support to define the cyclic transmission of the selected CAN messages based on the cycle time attribute specified in the database file

  • Fault Insertion Unit (FIU)

    • Changed the status output of the BCE Read block to uint8 data type, indicating the six relay switch states or an error state

  • IO3xx: DSHOT Tx v1, DSHOT Rx v1, EnDat Decoder v1, EnDat Encoder v1, EnDat Sniffer v1, SSI Slave v2, SSI Master v2, SSI Sniffer v1, SPI MasterSlave v2, SPI Sniffer v1, SENT Tx v1, SENT Rx v1, Serial Setup v2, Serial Read HF FIFO v2, Serial Write HW FIFO v2, Serial Read Character Timeout Status v1, Resolver Emulation v1, Resolver Measurement v1, Crank Encoder v3, Cam Encoder v3, Events Capture v3, Crank Encoder Analog v3, Knock Generator v3, Variable Reluctance Sensor v3, Crank Decoder v1, Cam Decoder v1, Crank Decoder Event v1, Pulse Counter v1 driver blocks

    • Optimized the module information sharing across driver blocks

    • Unified the code module version check

  • IO306, IO307, IO308, IO316, IO317, IO318, IO322, IO323: Setup v3 driver block

    • Introduced a timestamp mechanism to avoid the I/O module reconfiguration when not needed

  • IO60x, IO61x and IO691: CAN Write driver block

    • Changed the name of the Enable input port to TX Control

    • Added feature to control the cyclic transmission of each CAN message

  • IO603: Driver blocks

    • Added support for software-configurable 120 Ohm termination resistors on each CAN channel

  • IO624: Driver blocks

    • Added the option to change the wheel speed during runtime by setting the bit time and cycle time factors

  • IO992: Battery Control driver block

    • Improved task execution time (TET) for controlling voltage and current values

    • An open interlock no longer stops the real-time application from running. A corresponding warning appears in the console log

  • Modbus TCP

    • Client Transceiver driver blocks

      • The transceiver now supports the Update on Change mode. In this configuration, the transceiver only sends a write request (FC5, FC6, FC15 & FC16) when the data on the input port has changed. This mode is not available when using function codes FC1 through FC4

    • Documentation

      • Added the Modbus TCP error code explanations to the usage notes

  • OPC UA Client driver blocks

    • Read and Write blocks can now process vectors as well as 1-by-n and n-by-1 matrices

  • Speedgoat API

    • speedgoat.uninstall

      • Added the option to uninstall the Speedgoat I/O Blockset without user interaction required

  • Speedgoat I/O Blockset installation

    • Removed duplicated folder in the Speedgoat I/O Blockset which was causing long file paths. This resulted in extraction issues during installation

    • speedgoat_setup.m

      • Added a warning message to the installer script when run with administrative privileges

  • System Target File (MATLAB R2024a prerelease) (Release Note Update 26-Jan-2024)

    • A new system target file (STF), speedgoat.tlc, replaces slrealtime.tlc

    • Introduced the Target Platform Selector application to assist with the configuration of Simulink Real-Time models (Help)

  • Temperature Sensor Emulator (TSE)

    • Changed the status output of the BCE Read block to single data type, indicating the currently set resistance or an error state

    • Added switching modes for configurable deterministic switching behavior

Bug Fixes and Corrections

  • Battery Cell Emulator (BCE)

    • Fixed multiple issues, including device misconfiguration and output inaccuracies under certain operating conditions

  • IO132-IO135: Driver blocks

    • Fixed: The initial voltages of the analog outputs were briefly set to zero when starting the real-time application, instead of remaining at the defined voltage levels

  • IO3xx: DMA Controller v1 driver block

    • Fixed: The Simulink model failed to run if the TET was very low

  • IO3xx: Events Capture v3 driver block

    • Implemented configurable debounce functionality to filter glitches on noisy input signals

  • IO3xx: IO Sync and PWM Generation driver block

    • Fixed: The "single sample period" mode for the IO132-IO135 I/O module family did not correctly generate synchronization signals

  • IO324, IO325, IO336 Analog setup v1 driver block

    • Fixed: Some channels failed to work when using frame-based analog outputs and when the selected channels were not contiguous

  • IO624: Setup driver block

    • Fixed: The bit time calculation was incorrect for AK/VDA Sensor Emulator

  • IO750: Driver blocks

    • Fixed: The interrupt rate was too high and the synchronization of process data in DC mode was incorrect

  • IO752: PROFINET Device Setup driver block

    • Fixed: Incorrect input and output data lengths were calculated for specific GSDML files, which caused the PROFINET controller to indicate a type mismatch for the corresponding sub-module

  • IO821: Time Reference driver block

    • Fixed: The I/O module did not synchronize when IRIG AM was used as a time reference or 1PPS reference

9.7.0.2 (21-Nov-2023)

This version is available for MATLAB R2023b and all releases back to R2021a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IEC 61850: Client Transceiver and Server ReadWrite driver blocks

    • Fixed: The app Data Model Navigator generated the logical node name (lnName) with the wrong instance numbering from the CID config file

  • IO132-IO135: Driver blocks

    • Fixed: Setting the DMA frame size to automatic (-1) caused the real-time application to crash

  • IO132-IO135, IO907, CAN and Serial: Driver blocks

    • Fixed: Build errors occurred when combining these driver blocks in a Simulink model

  • IO145: Driver blocks

    • Fixed: Rebuilding the Simulink model led to sporadic errors with the sequence of analog current input channels

  • IO324, IO325, and IO336: Analog setup v1 driver block

    • Fixed: An error occurred when using configuration files with more than five analog code modules

  • IO50x: Setup driver block

    • Fixed: The calculation of the baud rate in the block mask ignored the different oscillator frequencies available

  • IO752: PROFINET Device Setup driver block

    • Fixed: GSDML import succeeded but did not update the hidden vendor and device IDs of the devices to be simulated

  • IO753/IO754: Modbus TCP driver blocks

    • Fixed: The real-time application did not start due to incompatible module firmware and protocol configuration

  • Simulink-programmable FPGA I/O module

    • Fixed: The parameter settings of the IO344 Setup block were not set correctly

  • Utilities driver block library: Interrupt Setup driver block

    • Documentation:

      • Clarified the relationship between interrupts used as a model trigger and the fixed-step fundamental sample time

      • Clarified the use of the Interrupt Setup block in referenced models

    • Fixed: The Interrupt Setup block did not obtain the right bus/slot information from the IO3xx Setup block when multiple modules of the same type were used

9.7.0.1 (29-Sep-2023)

This version is available for MATLAB R2023b and all releases back to R2021a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO17x: Setup driver block

    • Fixed: Manually assigning the PCI bus and slot numbers led to an error when loading the Simulink model onto a real-time target machine

  • IO132-IO135: Setup v2 driver block

    • Fixed: The incorrect unit for the Initial Values parameter in the Digital I/O tab

    • Fixed: The initial values of the analog and digital outputs did not work

  • IO206: Driver blocks

    • Fixed: There was no output signal generated

  • IO324: Analog Setup v1 driver block

    • Fixed: The application stopped with the following error message: "IO324 Analog Input: Failed to calculate conversion factors"

    • Fixed: Changes on the analog voltage range were not correctly applied

  • IO612 I/O module

    • Added PCIe form factor support for the legacy versions of the CAN driver blockset

  • IO61x: CAN Send blocks

    • Fixed: A threading issue caused a high CPU load when the CAN Send blocks were used

  • Speedgoat Hooks.m function

    • Fixed: "--> Speedgoat after_tlc hook" text in logs was redundant and therefore removed

9.7.0 (14-Sep-2023)

This version is available for MATLAB R2023b and all releases back to R2021a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO425: New LVDT/RVDT/Resolver Simulation I/O Module

    • The module supports up to 4 independent 4-Wire LVDT/RVDT/Resolver channels

    • Internal excitation available: 300 Hz to 20 kHz

    • Available with various input and output voltages

  • IO602-4 I/O module

    • Added support for the version in PCIe form factor

  • IO603: New CAN-HS, CAN-FD, LIN, and digital I/O module

    • Provides four isolated ports, which can be configured as CAN FD or High-Speed CAN; two LIN ports; and four general purpose input/output pins

    • Compatible with CAN 2.0A/B networks and supports SAE J1939 and ASAM XCP for bypassing

    • Ideal for in-vehicle or generic rapid control prototyping, as well as hardware-in-the-loop (HIL) simulations

  • IO926A-0125-4-06: New high-precision programmable resistor I/O module

    • An improved version of the IO926-0125-4-06 I/O module, with an accuracy of ±0.1 % instead of ±0.2 %

  • Speedgoat Battery Cell Emulator: New rack-mount electric and thermal Battery Cell Emulator solution

    • Battery Cell Emulator (BCE): High-precision bidirectional Battery Cell Emulator unit, with up to 8 V and 5 A per cell

    • Fault Insertion Unit (FIU): Programmable multichannel Fault Insertion Unit for cell failure emulation

    • Temperature Sensor Emulator (TSE): High-precision and isolated emulation of temperature sensors

    • All devices of a setup can be configured via one common setup block and accessed with individual read and write blocks

Speedgoat Product Examples

  • Added six examples to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines:

    • IO325 & IO336 - Analog Loopback

    • IO325 & IO336 - Analog Loopback with Oversampling

    • IO325 & IO336 - Frame-Based Analog Loopback

    • IO425 - LVDT/RVDT/Resolver Emulation

    • IO603 - CAN HS Loopback

    • IO603 - LIN and DIO Loopback

Feature Improvements

  • ARINC 825: Driver blocks

    • Added support for the IO602-2 I/O module

  • Ethernet Configuration Tool

    • Now supporting IP aliases in different subnets from the main IP address

    • Now supporting the option to define the subnet mask for IP aliases

  • IEC 61850: GOOSE Publisher and Subscriber driver blocks

    • The Publisher now supports setting the GOOSE control block reference (GoCbRef), the data set reference (DataSetRef), and the GOOSE ID (GoID)

    • The Subscriber now supports setting the GOOSE control block reference (GoCbRef)

  • IO191: Driver blocks

    • The Analog Inputs of the IO191 can now operate in Direct Memory Access (DMA) mode for faster data streaming

  • IO205/IO206: Driver blocks

    • The Module ID parameter now supports numbers 1 to 255

  • IO324, IO325 and IO336: Execution time reduction

    • Introduction of new DMA Controller driver block that configures and triggers model execution (in accordance with the Interrupt Setup block) and reduces task execution time for highly demanding closed-loop applications

    • Supported driver blocks (with corresponding configuration file): PWM Capture v1, Quadrature Encoder v3, Quadrature Decoder v5 (requires compatible configuration file)

    • More details on usage can be found here)

  • IO3xx: I2C Slave read v1 driver block

    • Extended slave buffer size up to 256 bytes for supported configuration files

    • Added a Valid port to indicate that a new value was received by the I2C slave for each register individually

    • Added a port indicating the last register index that has been received by the I2C slave

    • Added a Valid port to indicate if a transaction has occurred on any of the I2C registers since the last sample step

  • IO3xx: I2C Slave write v1, I2C Master read v1, I2C Master write v1

    • Extended slave buffer size up to 256 bytes for supported configuration files

  • IO3xx: Setup v3, Digital Input v1, Digital Output v1, CoS Interrupt v1, PWM Generation v5, PWM Capture v1, Quadrature Encoder v3, Quadrature Decoder v5, I2C Master read v1, I2C Master write v1, I2C Slave setup v1, I2C Slave read v1, I2C Slave write v1, BiSS Decoder v1, BiSS Sniffer v2, BiSS Encoder v1, IO397 A/D read v1, IO397 D/A write v1

    • Optimized the module information sharing across driver blocks

    • Unified the code module version check

  • New Speedgoat onboard serial driver blocks

    • The onboard serial blocks now support the Performance and Baseline real-time target machines

Bug Fixes and Corrections

  • IO145: Setup driver block

    • Fixed: The real-time application crashed during the execution of tg.start when the Frame Size was set to -1 in DMA mode

  • IO191: Analog output driver block

    • Fixed: The initial value of the Analog outputs was incorrect after the model's first execution

  • IO3xx: Setup v2 driver block

    • Removed deprecated driver block from the Speedgoat I/O Blockset

  • IO325/IO336 I/O modules

    • Analog input v1 driver block

      • Fixed: Scaling of the analog input values was wrongly calculated

    • Documentation of analog output pin mapping

      • Fixed: The order of the analog output channels was wrong in the documentation

  • IO421/IO422: Synchro/Resolver Measurement

    • Removed the Encoder Vector parameter because this functionality is not available on the front connector

  • IO50x and IO581: Driver blocks

    • Fixed: The same model was not able to be loaded consecutive times when more than one serial I/O module was used

  • IO61x: CAN driver blocks

    • Fixed: Wrong signals were shown on CAN channels when more than two IO61x I/O modules were used in one real-time target machine

  • IO672: Encode BC Message driver block

    • Fixed: The subaddress was incorrectly set in the command word when a mode command was used. For mode codes 17, 20, and 21, the T/R bit (Transmit/Receive bit) was inverted

  • IO753: Setup driver block

    • Fixed: The client did not send write commands on data change when the Cycle Time was -1

  • Modbus TCP: Client driver blocks

    • Fixed: The use of both function codes generated trailing bytes in the message payload

  • OPC UA Server driver blocks

    • Fixed: The server did not send data change notifications for monitored items with sampling interval -1

  • OPC UA Server Node driver block

    • Fixed: An empty numeric Parent Identifier caused MATLAB to crash while building the model

  • Speedgoat API

    • speedgoat.mex

      • This function is no longer needed and has been removed

    • speedgoat.model.createFromSycon

      • Fixed: The function did not add padding bytes for devices whose process data length had a gap of more than 1 byte to the next device

      • Byte alignment has been changed from 2 to 4

9.6.1.1 (19-Jul-2023)

This version is available for MATLAB R2023a and all releases back to R2020a, including the MATLAB R2023b prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • CAN DB Parser driver blocks

    • Fixed: If a sort option other than the default sort was applied to the Message table, the Signals table did not display the signals for the selected message

  • IEC 61850: Client and Server driver blocks

    • Fixed: Certain CID files caused the Transceiver and ReadWrite blocks to misinterpret the xml structure. Consequently, the data tree was not loaded correctly

  • IO130/IO131: Setup block

    • Added a checkbox in the Analog Inputs and Analog Outputs tabs to disable value checks for Sample Rate and Input Block Sample Time when the I/O module is configured as target for inter-module synchronization

  • IO134: Driver blocks

    • Fixed: Models were limited to a maximum of 10 modules. The Module ID parameter now supports numbers 1 to 255

  • IO324/IO325/IO336: Analog setup v1 driver block

    • Added a Trigger Resolution field in the driver block as information for the user

  • IO325/IO336: Analog input v1 driver block

    • Fixed: The driver block caused unexpected increases in the Task Execution Time (TET) under certain conditions

  • IO325/IO336: Analog setup v1 driver block

    • Fixed: There was a risk of a DMA timeout and therefore missing data from the analog input occurring in some cases, depending on the combination of activated ADC channels

    • Fixed: In frame-based mode, the analog input and output sample time was not adjusted in some cases. The adjustment is required if the defined sample interval is not an integer multiple of one FPGA tick

  • IO602-2 I/O module

    • Added support for MATLAB R2020a

  • Native Modbus TCP: Client Connection Block

    • Fixed: The Connection block did not fully display the error message due to bad formatting when a Modbus server returned an error code. This resulted in truncated strings and the loss of important information, such as the originating server of the error

  • OPC UA Client and Server driver blocks (MATLAB R2020b and later)

    • Fixed: The build failure that was caused by an unsupported linker flag

  • speedgoat.mex function

    • Fixed: speedgoat.mex produced an error due to a missing dependency

      Important: This function is no longer required and will be removed in the Speedgoat I/O Blockset v9.7.0 release in September 2023

9.6.1 (14-Jun-2023)

This version is available for MATLAB R2023a and all releases back to R2020a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO325: New configurable analog I/O module (MATLAB R2020b and later) (Release Note Update 14-Sep-2023)

    • The module supports 8 differential analog inputs, 4 single-ended analog outputs and 32 TTL I/O lines (of which 16 can be configured as 8 RS422 I/O lines)

    • The IO325 is ideal for control applications in various fields, for example, the automotive and power electronics industries, as well as low-latency audio applications

  • IO336: New configurable analog I/O module (MATLAB R2020b and later) (Release Note Update 14-Sep-2023)

    • The module supports 16 differential analog inputs, 8 single-ended analog outputs and 32 TTL I/O lines (of which 16 can be configured as 8 RS422 I/O lines)

    • The IO336 is ideal for control applications in various fields, for example, the automotive and power electronics industries, as well as low-latency audio applications

  • IO602-2: New CAN-HS and CAN-FD I/O module

    • Provides two isolated ports, which can be configured as CAN FD or High-Speed CAN

    • Compatible with CAN 2.0A/B networks and supports SAE J1939 and ASAM XCP for bypassing

    • Ideal for in-vehicle or generic rapid control prototyping, as well as hardware-in-the-loop (HIL) simulations

  • IO610: New CAN-HS and CAN-FD I/O module

    • Provides two isolated ports, which can be configured as CAN FD or High-Speed CAN

    • Compatible with CAN 2.0A/B networks

    • Ideal for in-vehicle or generic rapid control prototyping, as well as hardware-in-the-loop (HIL) simulations

Feature Improvements

  • CAN Database Manager

    • Added functionality to save and load a mapping table to and from either a .csv or .mat file. This allows the mapping table to be configured outside the CAN DB Parser application

  • Ethernet Configuration Tool (MATLAB R2020b and later)

    • Added configuration window for advanced interface settings

    • Added setting to manually define auto-negotiation/speed/duplex for the Ethernet ports

  • IEC 61850: MMS Client driver blocks (MATLAB R2020b and later)

    • Added a new parameter, Local IP Address, to the Setup block mask. The user can now decide which local IP address the MMS client should use

  • Inclusive Terminology

    • EtherCAT

      • Replaced master/slave with main device/subordinate device, or MainDevice/SubDevice in accordance with inclusive terminology updates from the EtherCAT technology group

      • In the IO750 driver block masks, EtherCAT SubDevice replaces EtherCAT Slave

  • IO191: Analog output driver block

    • Added support for firmware version 41099 and later, which reduces the TET of the Analog output block

  • IO324, IO325, IO332, IO333, IO336: Multi-channel acceleration (DMA)

    • Further optimized multi-channel/register acceleration, which results in a gain of approximately 1 µs in the task execution time for each code module supporting the acceleration mode

  • IO397: A/D read v1 driver block

    • Added additional trigger sources for the analog input channels: I/O Module clock, I/O Module Digital I/O, I/O Module Internal signals and Model Step

  • IO602 I/O module

    • Renamed the I/O module to the IO602-4 in order to make a clear distinction with the new IO602-2 I/O module. The previous IO602 driver blocks will automatically update to the new IO602-4 driver blocks when opening the Simulink model

  • IO61x LIN driver blocks

    • Improved usability by offering a unified LIN blockset for the IO61x I/O modules

    • A legacy version of individual driver blocks remains available. Please note that existing Simulink models opened with the Speedgoat I/O Blockset 9.6.1 and later will not automatically update to the new blocks

  • OPC UA Client and Server driver blocks

    • Added support for user authentication and message encryption

      • The blocks feature common security policies like Basic256Sha256 and Aes128_Sha256_RsaOaep

      • Common security types such as Sign&Encrypt are supported

      • Client and server allow for Anonymous access or username/password authentication

      • Security and authentication is based on X509 certificates and private keys

      • The server provides a trust list to filter and block external certificates

Bug Fixes and Corrections

  • CAN DB Parser driver blocks

    • Fixed: CAN DB Parser Write and Read functionality did not work with CAN channels 3 and 4 of the IO612, IO614 and IO602-4 I/O modules

  • IO104: Analog output driver block

    • Added a Simultaneous Outputs checkbox to the Setup block mask so that users can switch to immediately updating output to obtain lower latency for non-DMA operations

  • IO3xx: Resolver Emulation v1 driver block

    • Fixed: Compatibility issue with MATLAB R2020a and earlier

  • IO3xx: Setup v3 driver block (MATLAB R2020a)

    • Fixed: An "out-of-handle objects" error occurred when the user ran and/or loaded a model several times

  • IO3xx: Setup v3, Serial v2 driver blocks

    • Fixed: An error occurred when workspace variables were used as a mask parameter in the Serial Read HW FIFO v2 and Serial Write HW FIFO v2 driver blocks

    • Fixed: The Simulink model was marked "dirty" even when no changes were made and the model was updated

  • IO50x and IO581: Driver blocks

    • Fixed: The same model was not able to be loaded consecutive times when more than one serial I/O module was used

  • IO601: Driver blocks

    • Fixed: An error occurred when loading the same Simulink model repeatedly onto the real-time target machine

  • IO602-2/IO602-4/IO691: CAN Read block

    • Fixed: Messages with ID 0x00 were not being received

  • IO602-2/IO602-4/IO691: CAN Setup driver block

    • Fixed: User-defined baud rates were not persistent after closing and re-opening a Simulink model

  • IO682: Setup driver block

    • Fixed: It was not possible to use more than one Setup block in one Simulink model

  • IO926 and IO928: Resistor Control driver block

    • Updated to support the latest hardware versions

  • Native Modbus TCP

    • Client Connection driver block

      • Fixed: When the Auto Connect parameter was enabled, the Client could not reconnect to the server after the previous connection was lost

    • Client driver blocks

      • Fixed: The register quantity did not correctly reset to '1' when using Modbus function codes FC5 and FC6

      • Fixed: FC5 and FC6 request messages contained trailing bytes in the data payload

  • Protected Model Referencing (MATLAB R2020b and later)

    • Fixed: Build failed when protected Simulink models were used

  • Speedgoat API: speedgoat.model.createFromSycon

    • Fixed: Specific PROFINET configurations caused the Speedgoat API function to crash

  • "Uptime" function (MATLAB R2020b and later)

    • Fixed: The "uptime" function was not working

9.6.0.1 (14-Apr-2023)

This version is available for MATLAB R2023a and all releases back to R2020a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO3xx: Crank Decoder v1 and Crank Decoder Event v1 driver blocks

    • Fixed: The issue that caused wrong speed measurements on IO306, IO307, IO308 and IO324

  • IO324: Crank Encoder Analog v3, Knock Generator v3 and Variable Reluctance Sensor v3 driver blocks

    • Fixed: The issue that caused wrong analog output signal amplitudes on the IO324

  • IO324: Analog Setup block

    • Fixed: The issue that caused an error message when used with analog code modules without analog input signals

  • IO50x and IO581: Setup driver block (R2020b and later)

    • Fixed: The same model was not able to be loaded consecutive times

  • IO602/IO691: CAN Setup block

    • Fixed: Several parameter fields of the driver block did not support workspace variables

    • Fixed: Selection of a channel using the initialization or termination structures array did not have any effect. Only Channel 1 was ever used for sending initialization or termination messages

  • IO731: TSN Configurator

    • Fixed: Compatibility issue with MATLAB releases older than R2021b

  • IO755: Setup driver block

    • Fixed: New firmware (version 3.8.0.1) now allows the EtherNet/IP Scanner I/O module to communicate with up to 64 EtherNet/IP adapter devices

  • IO811: BitFlow Neon-CLB driver block

    • Fixed: The unclear error message shown when BitFlow SDK was not installed

    • Fixed: The error message when opening the IO811 block mask in MATLAB R2022a and later

  • Speedgoat API: speedgoat.model.createFromSycon

    • Fixed: Missing padding bytes for PROFINET devices with an even number of process data bytes

  • Utilities driver block library: Interrupt Setup block (R2020b and later)

    • Fixed: The Interrupt Setup block caused an unexpected model build failure in certain configurations

9.6.0 (17-Mar-2023)

This version is available for MATLAB R2023a and all releases back to R2020a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Speedgoat I/O Blockset Help in MATLAB R2023a

  • The default MATLAB installation is now done without local documentation

  • To search the Speedgoat I/O Blockset help locally, you must also install the MathWorks documentation locally. After installation, restart MATLAB to complete the documentation setup

  • Refer to the MathWorks Install Documentation page for further information on installing MathWorks documentation

Software Support for New Products

  • IO172: New mPCIe temperature and strain gauge measurement I/O module

    • The IO172 I/O module offers 6 independent measurement channels that can be connected to various types of thermocouples, RTDs, strain gauges, and other resistive sensors

    • The Simulink blocks of the IO171 have been updated to work in an identical way as with the IO172 I/O module

    • The IO17x Table Builder application for configuration of custom sensors has been integrated into the Speedgoat I/O Blockset; a download and installation via the Speedgoat Customer Portal is no longer necessary (MATLAB R2020b and later)

  • New IEC 61850 protocol support (MATLAB R2020b and later)

    • IEC 61850 connectivity is now available with onboard Ethernet interfaces and plug-in Ethernet I/O modules

    • Multiple MMS servers and clients can be simulated on one Ethernet port

    • Multiple GOOSE, Sampled Values publishers and subscribers can be simulated on one Ethernet port

    • IEC 61850 enables data transmission to SCADAs and intelligent electronic devices (IEDs) for the purpose of real-time simulation of distribution networks and digital substations

  • New MQTT protocol support (MATLAB R2020b and later)

    • MQTT connectivity is now available with onboard Ethernet interfaces and plug-in Ethernet I/O modules

    • Multiple MQTT clients can be simulated on one Ethernet port

    • MQTT enables data transmission to IoT data platforms and machine-machine communication in various industries

Speedgoat Product Examples

  • Added twelve examples to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines (MATLAB R2020b and later):

    • IEC 61850 - 1 Client 2 Servers Loopback

    • IO17x - Temperature Sensor Measurement

    • IO323 - Analog Loopback

    • IO323 - Analog Loopback External Triggered

    • IO3xx BiSS - Loopback

    • IO3xx Plug-in (-21,-22,-24) Digital Loopback

    • IO3xx Serial - Loopback

    • IO3xx Serial - Loopback Halfduplex

    • IO3xx Serial - Loopback Interrupt

    • IO3xx SPI - Loopback Master Sync

    • IO3xx SPI - Loopback Master Sync MultiSlave

    • MQTT Loopback

Feature Improvements

  • IO3xx: Quadrature Encoder v3 driver block

    • Added initial position parameter option to allow the Quadrature Encoder to start with any initial position rather than with always position zero

    • NOTE: The corresponding QAE code module functionality implemented in the configuration file must be v3.3 or later if you want to use this feature

  • IO61x and IO602/IO691 I/O modules (MATLAB R2020b and later)

    • CAN DB Parser Read driver block

      • Added signal labels to the unpack blocks in the generated library to ease the instrumentation of models

    • CAN DB Parser Write driver block

      • Improved the database parsing tool to support mapping Write block inputs to CAN signals defined in the database file

    • New CAN Status driver block

      • The new Status block allows users to monitor channel and bus status information for CAN and CAN-FD messages

      • Added an option to disable a CAN channel using a block input

  • IO624 I/O module

    • PSI5-D Synchronous Daisy Chain Mode

      • Added functionality to reassign the address of a PSI-5 sensor channel

    • PSI5-V (Variable Time Triggered Synchronous Operation Mode)

      • Added functionality of the PSI5 protocol for PSI5-V communication mode

    • Support for wheel speed sensor emulation

      • In addition to the PSI5 protocol support across its 8 channels, the IO624 can now also emulate wheel speed sensors using Square Wave, PWM, AK/VDA protocols, plus any other wheel speed sensor using different current levels up to 75mA

      • The extended support for wheel speed makes the IO624 an ideal solution for not only automotive applications, such as ABS and traction control systems, but also for aerospace and industrial automation systems that require measurement of rotational speed

      • The following sensors and protocols are now additionally supported:

        • 2-level (7/14 mA) wheel speed sensors (Square Wave)

        • PWM encoded 2-level sensors with support for airgap warning, assembly position and direction of rotation

        • 3-level (7/14/28 mA) VDA or “AK-protocol” sensors

        • Any other sensor type using custom current levels

  • IO642/IO642-32: Setup driver block

    • New PROFIBUS Slave firmware (version 2.11.1.0) allows users to simulate PROFIBUS devices that support the parameter block structure included in the Set Parameter message (Prm_Block_Structure_supp)

  • IO682: Setup driver block

    • Added functionality that allows the receive and transmit bit rate to be tuned before loading a Simulink real-time application without rebuilding the model

  • IO750: New Emergency driver block for EtherCAT Slave

    • The Emergency block allows users to send emergency messages to EtherCAT master devices

  • IO901/IO902: Scramnet Shared Memory I/O module

    • Improved block design and integrated documentation into the Speedgoat I/O Blockset help

    • When a model is opened with a previous version of these blocks, the blocks will automatically be updated to the new version

Bug Fixes and Corrections

  • IO171: Driver blocks

    • Fixed: Swapping sensors to different channels in between model runs was not supported

  • IO3xx: IO Sync and PWM Generation

    • Fixed: The Sync signals remained inactive all the time, which caused the ADC trigger not to be generated

  • IO3xx: PWM driver blocks

    • Corrected the drawing for the "Inverted" section in the help usage notes

  • IO3xx: Serial Setup v2 driver block

    • Fixed: In half-duplex mode, manual wiring of Tx and Rx signals was required, and the Tx message was redundantly mirrored in the Rx reception

    • NOTE: The half-duplex option is now only available if the version of the Serial (UART) code module functionality in the configuration file is v2.11 or later

  • IO61x I/O module (MATLAB R2020b and later)

    • Read driver block:

      • Fixed: In CAN FD mode, the Status Output signal was constantly set after the first message

    • Write driver block:

      • Fixed: The first value of the Enable Input signal array was used for all the messages

      • Fixed: Enable Input data type switched from int8 to boolean

  • IO602/IO691 I/O modules (MATLAB R2020b and later)

    • CAN driver blocks

      • Added error message for when current Read, Write or Status blocks try to link to a Setup block from the legacy blockset

    • CAN Setup driver block

      • Fixed: Bit timing parameter vector for predefined baud rates was displaying incorrect values

      • Fixed: Formula in usage notes to calculate the nominal bit time using the bit timing parameters was incorrect

      • Extended BRP range for user-defined bit timing parameter vector to values between 1 and 1024 for CAN (HS)

  • IO642-32: PROFIBUS Slave Setup driver block

    • Fixed: The error that occurred when starting a real-time application accessing four IO642-32 modules

  • IO750: EtherCAT Slave Setup driver block

    • Fixed: Network scan with TwinCAT returned wrong data types for the PDO variables

    • Fixed: Minor firmware bug (version 4.9.0.1)

9.5.1.1 (15-Feb-2023)

This version is available for MATLAB R2022b and all releases back to R2020a, including the MATLAB R2023a prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO104: Analog input driver block

    • Fixed: The Analog input block sporadically swapped the input channels (introduced in Speedgoat I/O Blockset 9.2.2)

    • Fixed: The block returned the wrong results when the Analog output block was not included in the Simulink model

  • IO112: Analog input (DMA) v2 driver block

    • Fixed: Interrupts generated by the I/O module were received twice, which caused CPU overloads

    • Added supplemental checks to ensure that the number of channels configured does not exceed the number of channels available for the specific version of this I/O module

  • IO145: Driver blocks

    • Fixed the following issues:

      • The Reset to Initial Values parameter did not function correctly in MATLAB R2020a and earlier

      • Changing the voltage range of analog outputs caused undesired voltage output effects during the download of the Simulink real-time application onto the target machine

  • IO206: Pin mapping

    • Fixed: The wrong pin mapping was read for certain hardware versions of this module

  • IO3xx: IO Sync and PWM driver block

    • Fixed: The inter-module synchronization did not work as the synchronization signal was not correctly generated

  • IO3xx: Resolver Emulation v1 driver block

    • Fixed: The sample time of the resolver emulation was off by one FPGA clock tick, which led to a 1 % speed error

  • IO3xx: Resolver Measurement v1 driver block

    • Fixed: The speed and position data of resolver measurement channel 2 failed to update when using an external trigger signal

  • IO3xx: SPI MasterSlave v2 driver block

    • Fixed: A compilation error occurred when building a Simulink model in MATLAB R2020a

  • IO50x: Driver blocks

    • Fixed: An error occurred when loading a Simulink model onto a Mobile real-time target machine containing a serial I/O module

  • IO61x: CAN and CAN-FD Status driver blocks

    • Fixed: The blocks did not provide any data on the bit rate output ports

    • Fixed: When enabling bit rate output ports, signals appeared on the wrong output ports

  • IO602/IO691: CAN I/O module

    • Fixed: The driver initialization caused MATLAB to crash when five IO602 I/O modules were used in a single real-time target machine

  • IO64x-32/IO75x-32: Driver blocks

    • Fixed: The initialization of the real-time application on the target machine terminated with a DDP state error when loading protocol firmware onto the I/O module

  • IO901/IO902: Driver blocks

    • Fixed: The sample time field of the driver blocks did not support workspace variables

  • Native Modbus TCP

    • Client driver blocks:

      • Fixed: The client crashed when the Transceiver block requested more than 255 coils with function code FC1 (Read multiple coils)

    • Server driver blocks:

      • Fixed: The server returned fewer bits than the client requested with function codes FC1 (Read multiple coils) and FC2 (Read multiple discrete inputs), and processed fewer bits than the client sent with function code FC15 (Write multiple coils)

  • Speedgoat API

    • speedgoat.getIoInterfaces

      • Fixed: The mapping of slot numbers for the 19-slot PXI expansion chassis was incorrect

    • speedgoat.SetDefaultBootOption

      • Fixed: The function triggered an incorrect statement when the default boot option was changed from MATLAB R2020b and later to MATLAB R2020a and earlier

      • Fixed: An incorrect warning message

9.5.1 (15-Dec-2022)

This version is available for MATLAB R2022b and all releases back to R2020a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO710-10 PCIe Ethernet I/O module

    • Added support for the IO710-10 I/O module featuring an Intel I210 Ethernet controller

  • IO992: Battery Control driver block

    • Added support for new battery emulation I/O module with current and voltage measurement

    • The module offers 6 channels, which can source or sink up to 300 mA and output up to 7 V

Speedgoat Product Examples

  • Added 49 examples to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines. The new examples include the following:

    • IO110 - Analog Output Test

    • IO421-1 - LVDT/RVDT Measurement

    • IO3xx I2C - Loopback

    • IO3xx SSI - Loopback

    • IO324 - Analog Loopback

    • IO324 - Analog Loopback with DMA and Frame-Based Processing

    • IO397 - Analog Loopback

    • IO811 - Stream Video over UDP

    • IO907 - Shared Memory Loopback

    • IO992 - Battery Emulation

Feature Improvements

  • IO145: Setup driver block

    • After setting a voltage range on the Analog Inputs tab for an entire channel group, the same voltage range appears on each channel when enabling the "Set Voltage Range per Channel" checkbox. This allows users to set a global voltage range first, and then fine-tune individual channels

  • IO3xx: Setup v3 driver block

    • Added functionality to verify if the selected code modules are located on a disabled Rear I/O Conditioning module

  • IO324, IO332, IO333: SPI MasterSlave v2, SSI Master v2, SSI Sniffer v1, BiSS Decoder v1 driver blocks

    • Added checkbox option to enable multi-channel/register acceleration (DMA). This improves the execution time for blocks using frames with more than 3 channels

    • NOTE: This option is only available if the DMA functionality is supported by the configurable I/O module and the corresponding configuration file

  • IO624: PSI5-D Synchronous Daisy Chain data frames

    • Frame 2a "Long" (4-Bit Data Nibbles) now supported

    • Frame 2b "Long" (8-Bit Data Word) now supported

    • Frame 3 "XLong" now supported

    • New Sync Pulses block mask parameters allow users to select frame data content reads from the ECU. The options for Data Field Frame 2a/2b/3 are RAdr and Data

    • Frame format 4 for pulse width method and capable of reading Frame 2a/2b/3 now supported

  • IO751: New Record Read and Write blocks for PROFINET Controller

    • Record blocks allow users to read and write data records of remote PROFINET devices, such as motor controller parameters

  • IO752: New version of PROFINET Device driver blocks (R2020b and later)

    • The Setup block allows users to import device description files (GSDML) of PROFINET devices from other vendors

    • The Send and Receive blocks' port configuration is automatically derived from the imported GSDML

  • IO752: PROFINET Record block

    • Added a checkbox to hide the Length ports and disable the explicit handling of data sizes

    • Added support for all fundamental data types, from boolean to double

  • Mobile real-time target machine onboard serial ports

    • Added Speedgoat driver blocks supporting RS232, RS422 and RS485 with baud rates up to 115.2 kbaud

  • OPC UA: Documentation

    • Added a remark about how to handle special characters such as " and \ in node identifiers

  • Speedgoat API (MATLAB R2020b and later)

    • speedgoat.getIoInterfaces

      • New API: Provides a list of all I/O interfaces available on a specific target machine. Use this function to display a formatted list or provide an output argument to receive a table. Each interface is now listed with the slot number printed on your target machine, the name of the interface and the module ID. The traditional PCI bus and slot numbers are no longer displayed by default. Use ("Advanced", true) if you still want to see them (Help)

    • speedgoat.showInstalledIoModules

      • The functionality of this API has been enhanced with the new speedgoat.getIoInterfaces. It will be removed in a future release

  • Utilities driver block library:

    • Read CPU temperature block

      • Added Sample Time parameter setting

    • Read MAC address block

      • Removed sample time (-1) back-inheritance warning during build

    • Read serial number block (MATLAB R2020b and later)

      • Removed sample time (-1) back-inheritance warning during build

Bug Fixes and Corrections

  • IO114: Pin mapping

    • Added explanation of the voltage output channels' functionality

  • IO145: Driver blocks

    • Fixed the following issues:

      • An error with the conversion formula caused inaccurate measurements

      • Wrong configuration of the +-48 V voltage range for single-ended inputs

      • "Available channels" was incorrectly displayed in the Setup block mask

      • Debug information that was not required appeared in the target screen output

  • IO3xx: I2C Master read v1, I2C Master write driver blocks

    • Fixed: Functionality did not work correctly when multiple blocks were used with different rates or in explicitly partitioned models

    • Added: Option to read values from previous model step. This option reduces the TET of the driver

  • IO3xx: IO Sync and PWM driver block

    • Fixed: An error occurred when the value of the Number of Samples parameter was increased

    • Fixed: An error occurred when switching between the IO132-IO135 and IO106 in the I/O Module Family parameter

  • IO3xx: Setup v3 driver block

    • Added supplemental checks to verify correct configuration when multiple configurable or Simulink-programmable FPGA I/O modules are used in the same application

    • Changed the mask parameter check of the block to resolve an issue that occurred using referenced models, where the configuration file was not added to the Simulink real-time application

  • IO3xx-24: Resolver Measurement v1 driver block

    • Fixed: The outputs were incorrect when only the second channel was active

  • IO421: Usage notes

    • Extended explanation about Synchro/Resolver functionality and added Output voltage graphics

  • IO750: EtherCAT Slave Setup block

    • Fixed: Several issues with the ESI export function prevented the ESI files from being imported into the Acontis EC-Engineer tool

  • IO752: PROFINET Device driver blocks

    • Fixed: Communication with the PROFINET controller failed when the "Bus start" parameter was set to "Application controlled" and the simulated device provided at least one record

  • IO92x: Resistor Control driver block

    • Fixed: RB resistance value (Between CHn Terminal B and CHn Wiper) was wrong for potentiometer cards with a 24-bit resolution

  • Utilities driver block library: Read CPU temperature block

    • Fixed: Initialization of the Read CPU temperature block when the real-time application is loaded for the second time on a Baseline real-time target machine

9.5.0.1 (16-Nov-2022)

This version is available for MATLAB R2022b and all releases back to R2020a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • Custom build hook (MATLAB R2019b and R2020a)

    • Fixed: Error occurred when building a Simulink model using Simulink Desktop Real-Time

  • IO171: Analog input driver block

    • Fixed: The description of the status port in the help documentation did not indicate the meaning of the signal values

    • Fixed: The output ports were disconnected when building a Simulink model if more or less than two channels were enabled

  • IO3xx: I2C Master read v1 driver block

    • Fixed: For specific slave devices, the combination of an I2C stop and start command between the register address write and the following read led to problems. This sequence of stop and start commands was therefore replaced by a single I2C re-start command. For this change to become effective, the corresponding I2C Master module on the IO3xx device must also be upgraded to v1.8

  • IO3xx: PWM v5 driver block

    • Improved the task execution time when the option "Show PWM generation halt input port" is not selected

  • IO3xx: Setup v3 driver block

    • Improved the configuration file download time

  • IO3xx: Setup v3 driver block (MATLAB R2020a)

    • Fixed: Restarting a model (+tg) without reloading caused the DMA engine to be incorrectly initialized. The following modules were affected: IO324, IO332, IO333

    • Fixed: Restarting a model (+tg) without reloading caused the I/O direction and pull-resistor settings to be incorrect. The following modules and plugins were affected: IO316, IO317, IO318, IO323, IO3xx-21, IO3xx-22

  • IO324: Analog driver blocks

    • Fixed: Various errors occurred when the drivers were used in frame mode, especially when the frames were small (1-10 samples) and the frame rates were fast (> 20 kHz)

  • IO61x: CAN driver blocks

    • Fixed: Wrong help references in block masks

  • IO61x, and IO602/IO691: CAN Read driver blocks

    • Fixed: The timestamp in RX messages is now extracted from the I/O module clock and uses the simulation start as a reference. The timestamp now also notates in seconds rather than in microseconds

  • IO612 I/O module

    • Added support for version in PCIe form factor

  • IO619: Driver blocks

    • Fixed: The port address from the bus administrator configuration file was not correctly parsed when using a port data size other than 2 bytes in the Process Data block

  • IO624 I/O module

    • Setup driver block

      • Fixed: The Cycle Time parameter triggered an error when a correct value was applied for asynchronous mode

    • Sync Pulses driver block

      • Fixed: The Sync Pulses block did not detect the start condition of the 31 consecutive logical ones, and did not read the broadcast instruction

  • IO791 mPCIe Ethernet I/O module

    • Added support for the IO791-11 I/O module featuring Intel I211 Ethernet controllers

  • IO982-10-06-2: Fault Insertion Control module

    • Fixed: The I/O module was not detected by the real-time target machine

  • Mobile real-time target machine - Onboard serial ports (MATLAB R2020b and later)

    • Adapted the driver initialization to enable RS232/RS422/RS485 protocol communication

  • Utilities driver block library: Get disk space driver block (MATLAB R2020b and later)

    • Fixed: Error occurred when accessing file system information

9.5.0 (16-Sep-2022)

This version is available for MATLAB R2022b and all releases back to R2020a.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Software Support for New Products

  • IO3xx: Resolver Emulation v1 driver block

    • Added support for the resolver emulation functionality

  • IO3xx-24: Resolver Measurement v1 driver block

    • Added support for the IO3xx-24 rear plug-in featuring 2 resolver measurement channels and 40 TTL I/O lines, 16 lines of which can be configured as RS422/RS485 differential I/O lines

    • The IO3xx-24 is ideally suited for electric motor control applications as it can interface control algorithms to multiple-position sensors and power-converter gate drivers

  • IO602/IO61x/IO691: CAN driver blocks

    • New database parsing blocks are available for the transmission and reception of *.dbc-defined CAN(-FD) messages

Speedgoat Product Examples

  • Added further examples to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines:

    • IO135 - IO316 Inter-Module Synchronization Loopback

    • IO3xx Resolver Emulation - Setup

    • IO611, IO612, IO613 and IO614 - CAN HS Loopback

Feature Improvements

  • IO171: Analog Input driver block

    • Changed the Error Value parameter to dedicated status end error outputs which can be enabled in the mask

    • Added the option to output the onboard and the external temperature sensor values

  • IO3xx: Pulse Counter v1 driver block

    • Added support for external hardware input to control the count direction

  • IO324-200k: Analog setup v1, Analog input v1, Analog output v1 driver blocks

    • Added support for gain and offset corrections for the analog input and analog output values

  • IO324, IO332, IO333: Quadrature Encoder v3 driver block

    • Added checkbox option to enable DMA transfers. This improves the execution time for blocks using more than three channels

    • NOTE: This option is only available if DMA functionality is supported by the configurable I/O module and the corresponding configuration file

  • IO611/IO612/IO613/IO614: CAN driver blocks (MATLAB R2020b and later)

    • Improved usability by offering a unified CAN blockset for the IO61x I/O modules

    • Added functionality to read and write specific IDs from and to the CAN bus

    • Added functionality to write multiple CAN messages with one CAN write block

    • Added functionality to read multiple CAN messages with one CAN Read block and to use multiple CAN read blocks for each CAN channel

    • Added support for remote frame transmission and reception in FIFO mode

    • A legacy version of individual driver blocks remains available. Please note that existing Simulink models opened with the Speedgoat I/O Blockset 9.5.0 and later will not automatically update to the new blocks

  • IO602/IO691: CAN driver blocks (MATLAB R2020b and later)

    • Improved build times

  • IO624: PSI5-D Synchronous Daisy Chain Bus Topology

    • Frame format 1 for tooth gap method now supported

    • New Setup block mask parameter allows users to select PSI5-D in Communication mode

    • New Setup block mask parameter allows users to define the default payload value of the Send block outputs. The default payload is transmitted until the sensor address is received from the ECU

    • New Sync Pulses block mask parameters allow users to select the different frame data content reads from the ECU. The options are Sync Pulses, Start Bits, Sensor Address, Data Field, and CRC

  • IO821: Time Reference driver block

    • Added support for MATLAB R2020b and later

    • Initial Module Time parameter is initialized earlier to ensure the internal clock is aligned before the real-time application starts for the first time after target boot

  • Speedgoat API

    • New function: speedgoat.model.createFromSycon

      • Read configuration files exported from SYCON.net and autogenerate communication interfaces in Simulink Real-Time are now ready for use with the following I/O modules: IO641 PROFIBUS Master, IO643 CANopen Master, IO751 PROFINET Controller and IO755 EtherNet/IP Scanner.

        These new features facilitate data exchange with devices connected to the modules (Help)

    • speedgoat.doc

      • Added functionality to open specific documentation pages, for example, speedgoat.doc("IO131")

    • speedgoat.IpAliasConfiguration

      • Added the new method removeAll(ethernetInterfaceName) to the IpAliasConfiguration class, which allows all alias entries for a specific Ethernet interface to be removed simultaneously (Help)

  • Utilities blocks: (MATLAB R2020b and later)

    • Get memory info

      • New block in the Speedgoat Utilities driver block library

      • Get the current amount of memory available to and used by the application in bytes [double] and percentage [double] (Help)

    • Get disk space

      • New block in the Speedgoat Utilities driver block library

      • Get the current amount of disk space available to and used by the application in bytes [double] and percentage [double] (Help)

Bug Fixes and Corrections

  • ARINC825, IO602, IO691, IO92x, IO94x, IO97x, IO98x, IO991: Driver blocks

    • Fixed: Build error occurred when the blocks were used in a masked subsystem

  • IO206: Pin mapping

    • Fixed: I/O connector pin mapping did not match the documentation

  • IO324-200k: Analog setup v1 driver block

    • Fixed: A memory leak caused the application to crash (MATLAB R2020b and earlier)

  • IO324-200k: Analog setup v1, Analog input v1, Analog output v1 driver blocks

    • Extended driver mask checks to avoid unsupported configurations

    • Fixed: Analog output init values were not set correctly for all selected channels

    • Fixed: A signal spike occurred on the analog output signals at model restart

  • IO397-50k: D/A write v1 driver block

    • Fixed: The Analog Output occasionally did not work for the first model execution

  • IO397-50k, IO332-200k, IO333-325k, IO333-410k: Setup v3 driver block

    • Fixed: The configuration file download procedure occasionally failed and forced the user to restart the target machine

  • IO781: Driver blocks

    • Fixed: The real-time application crashed during the execution of tg.load (MATLAB R2020b and later)

  • IO975: Thermocouple Simulation driver block

    • Updated to support all versions of the IO975 I/O module

  • Target Software

    • Fixed: An issue with the target identification system caused the target screen to remain blank

9.4.1.1 (04-Aug-2022)

This version is available for MATLAB R2022a and all releases back to R2019b, including the MATLAB R2022b prerelease.

Unless otherwise indicated, release note entries concern all supported MATLAB releases.

Bug Fixes and Corrections

  • IO324: Code module driver blocks

    • Fixed: When the IO324 was selected in the IO3xx Setup v3 driver block, the help buttons of the code module driver blocks didn't work

  • IO332: IO3xx Setup v3 driver block

    • Improved the reliability of the configuration file (bitstream) download to the IO332

  • IO602, IO61x, IO691: CAN driver blocks

    • Fixed: Build error that occurred when multiple CAN I/O modules are used in separate subsystems

  • IO624: Product example

    • Fixed: The help documentation link to the Synchronous Pulses block was broken

  • IO926: Resistor Control driver block

    • Fixed: Updated to support the latest hardware versions

9.4.1 (06-Jul-2022)

This version is available for MATLAB R2022a and all releases back to R2019b, including the MATLAB R2022b prerelease.

Unless otherwise indicated, release note entries concern all six supported MATLAB releases.

Speedgoat Product Examples

  • Introduced new product examples (MATLAB R2020b and later) to support you in building and loading Simulink models using I/O interfaces specific to your real-time target machines. The examples demonstrate best practices for getting started with your system and provide information on optimal use of the interfaces

  • The examples use MATLAB Live Scripts, which contain documentation and code, and provide step-by-step instructions to run the examples

  • To open examples, the following new Speedgoat API function is available: speedgoat.openProductExample (Help)

Software Support for New Products

  • IO290: New digital I/O module

    • The IO290 features 8 isolated inputs and 8 High-Side FET outputs, as well as 8 LVTTL I/O lines

    • This I/O module is ideal for 12, 24, and 28 VDC actuator control and HIL applications in the automotive, aerospace and industrial automation sectors

  • IO324: New analog configurable I/O module

    • The module supports up to 16 differential or 32 single-ended analog inputs, 8 single-ended analog outputs and 32 TTL I/O lines (of which 16 can be configured as 8 RS422/RS485 I/O lines)

    • The IO324 is ideal for control applications in various fields, for example, the automotive and power electronics industries

  • IO624: New PSI5 I/O module

    • The IO624 provides eight PSI5 sensor interface channels with synchronous and asynchronous data transmission, and supports PSI5-A, PSI5-P, and PSI5-U bus topologies, as well as both 125 kbit/s and 189 kbit/s transmission rates

    • The IO624 is ideal for PSI5 sensor emulation in automotive HIL applications such as airbags, chassis and safety control, and powertrains

  • IO731: New Time Sensitive Networking (TSN) I/O module (MATLAB R2020b and later)

    • The IO731 I/O module can be used as a TSN Bridge or a TSN Endpoint. It provides two SFP Ethernet ports, one internal Ethernet port and supports 1000 Mbit/s transmission rates for full-duplex operation

    • TSN capabilities can be configured using the Ethernet Configuration Tool

Feature Improvements

  • ARINC825: Driver blocks

    • Added support for ARINC825-4 which enables use of CAN-FD messages

  • IO3xx: PWM v5 driver block

    • The maximum selectable time settings are now taken from the configuration file rather than a fixed setting. Consequently, the maximum time settings can now be customized when creating configuration files

    • Based on the PWM v5 driver block, a new I/O synchronization driver block is available with dedicated synchronization signal generation for the IO106 and IO132-IO135 analog I/O modules

  • IO602 and IO691: CAN I/O modules (MATLAB R2020b and later)

    • Added support for remote frame transmission and reception in FIFO mode

    • Added support for CAN frames over CAN-FD

  • IO643: New SDO Read and Write blocks for CANopen Master

    • SDO blocks allow users to read and write service data objects of remote CANopen slave devices, such as motor controller parameters

  • IO716: Documentation

    • Added usage notes containing information about the connector, pin mapping and master/slave configuration

  • IO752: PROFINET Device driver blocks

    • The new Record block allows you to define local PROFINET records and the distributed access to the values of these records

    • Added a parameter to the Setup block mask that determines whether the module should throw an error on read/write requests from remote stations that refer to undefined records

  • IO975: Thermocouple Simulation driver block

    • Updated documentation for using the Remote Sense parameter with the Vcold input

  • Speedgoat API

    • Improved the usability of Speedgoat APIs by supporting auto-suggestions and completions for input arguments: press the Tab key after opening the bracket

Bug Fixes and Corrections

  • Code generation

    • Improved handling of cross-checks for variant subsystems and referenced models in code generation, including models in accelerator mode

  • IO61x: LIN Status blocks

    • Fixed: The block outputs did not provide any data

  • IO602 and IO691: Driver blocks

    • Removed redundant "No 'CAN FD Unpack/Pack' block" warning message that appeared when the CAN/CAN-FD Unpack/Pack block was not directly connected to the CAN Read/Write block

  • IO643: Setup driver block

    • Fixed: The module did not initiate the CANopen communication when the "Start of bus communication" parameter was set to "Controlled by application"

    • Fixed: The configuration file was not transferred to the target machine when using the IO643 Setup block in custom libraries

  • Native Modbus TCP Client (MATLAB R2020b and later)

    • Fixed: Read requests from the client caused the server to trigger a Modbus exception error

  • OPC UA: Server Node driver block (MATLAB R2020b and later)

    • Fixed: Build error that occurred when the Initial Value parameter was defined

    • Fixed: BadTypeMismatch communication error occurred when the Initial Value parameter was undefined and the Operation parameter was not set to "Read" or "Write"

  • Target configuration

    • Fixed: Setting a startup application in Simulink Real-Time Explorer was not possible due to an issue in the file system access privileges

9.4.0.3 (03-May-2022)

This version is available for MATLAB R2022a and all releases back to R2019b.

Unless otherwise indicated, release note entries concern all six supported MATLAB releases.

Bug Fixes and Corrections

  • IO61x: LIN Read and Write blocks

    • Fixed: The checksum calculation used the enhanced algorithm by default for all LIN versions

    • Changed mentions of "Protected Identifier" in the documentation to "Identifier"

  • Speedgoat API

    • Fixed: speedgoat.getMemoryInfo crashed on MATLAB R2020b

9.4.0.2 (29-Apr-2022)

This version is available for MATLAB R2022a and all releases back to R2019b.

Unless otherwise indicated, release note entries concern all six supported MATLAB releases.

Bug Fixes and Corrections

  • Code generation

    • Fixed: Issue generating code for custom system target files and non-Simulink Real-Time system target files

    • Fixed: Issue generating code with referenced models configured for accelerated mode (MATLAB R2021b and R2022a with Speedgoat I/O Blockset v9.4.0.1)

  • Documentation (MATLAB R2021b and earlier)

    • Fixed: Speedgoat help was not searchable within MATLAB. MATLAB R2020a users must continue to set help preferences to web to search the Speedgoat help documentation

  • Deployed standalone applications (Release Note Update 06-July-2022)

    • Fixed: Deployed standalone applications created with MATLAB Compiler could not connect to the real-time target machine

  • IO113-20: Setup driver block

    • Fixed: An error occurred when a Simulink model contained a IO113-20 Setup block as well as an Interrupt Setup block

  • IO141 and IO142: Driver blocks

    • Fixed: The analog output signal was incorrect when only one channel and the simultaneous channel update parameter were enabled

  • IO191: Analog input driver block (MATLAB R2020b and later)

    • Fixed: The Simulink model failed to stop the application if three differential inputs were used on a Baseline real-time target machine

  • IO3xx: Knock Generator v3 driver block

    • Fixed: It was not possible to use Multiple Knock Generator v3 channels linked to the same Crank Encoder v3 channel

  • IO3xx: QAD v5 driver block

    • Fixed: The Clear Position and Clear Index Found Flag block input ports did not function since Speedgoat I/O Blockset v9.3.2

  • IO3xx-21 and IO3xx-22: Digital input and output blocks

    • Fixed: The I/O lines were incorrectly configured if no Digital input v1 or Digital output v1 blocks were used in the Simulink model

  • IO421-3: LVDT write driver block

    • Fixed: The phase offset between excitation and output did not change when entering a value above or below 0 in the mask

  • IO50x: Read driver block (R2020b and later)

    • Fixed: A FIFO overflow could occur in a connected FIFO Write block if legacy mode is enabled and a null-terminated data type is selected

  • IO61x: LIN Read and Write blocks

    • Fixed: The checksum calculation used the enhanced algorithm by default for all LIN versions

    • Changed mentions of "Protected Identifier" in the documentation to "Identifier"

  • Utilities driver block library: Read serial number block (R2020b and later)

    • Fixed: Issue introduced in the Speedgoat I/O Blockset v9.3.2 made the Read serial number block link to the wrong documentation

9.4.0.1 (15-Mar-2022)

This version is available for MATLAB R2022a and all releases back to R2019b.

Unless otherwise indicated, release note entries concern all six supported MATLAB releases.

Bug Fixes and Corrections

  • IO602 and IO691: CAN driver blocks (R2020b and later)

    • Fixed: System crash that occurred when initializing/starting a real-time application

9.4.0 (10-Mar-2022)

This version is available for MATLAB R2022a and all releases back to R2019b.

Unless otherwise indicated, release note entries concern all six supported MATLAB releases.

Software Support for New Products

  • IO716: New Single-Pair, Automotive Ethernet I/O module (R2020b and later)

    • The IO716 I/O module provides a single-channel 1000BASE-T1 physical Ethernet interface and supports 1000 Mbit/s transmission rates for full-duplex operation

  • IO975: New isolated thermocouple simulation I/O module

    • Low-voltage module to simulate thermocouples

  • New Modbus TCP Client protocol support (R2020b and later)

    • Modbus TCP client connectivity is now available with onboard Ethernet interfaces and plug-in Ethernet I/O modules

    • Multiple Modbus TCP client nodes can be simulated on one Ethernet port

  • New OPC UA protocol support (R2020b and later)

    • OPC UA connectivity is now available with onboard Ethernet interfaces and plug-in Ethernet I/O modules

    • Multiple OPC UA servers and clients can be simulated on one Ethernet port

    • OPC UA allows data transmission to IoT data platforms, communication with industrial equipment for the purpose of RCP and HIL, and convenient data exchange between real-time target machines

Compatibility

  • Linux (R2022a and later)

    • Linux development computers can now be used to communicate with Speedgoat real-time target machines

Feature Improvements

  • DNP3: Examples

    • Added a DNP3 master-slave loopback example model

  • IO110: Driver blocks

    • Increased the maximum selectable module ID number to allow more IO110 I/O modules to be used in the same real-time target machine

  • IO3xx: QAD v3 driver block

    • Added a version compatibility check to avoid a conflict between the driver block used in the Simulink model and the configuration files

  • IO33x-06: Knock Generator v3, Crank Encoder Analog v3 and Variable Reluctance Sensor v3

    • Added driver block support

  • IO602 and IO691: CAN driver blocks (R2020b and later)

    • Improved usability by offering a unified CAN blockset for the IO602 and IO691 I/O modules

    • Added functionality to read and write specific IDs from and to the CAN bus

    • Added functionality to write multiple CAN messages with one CAN write block

    • A legacy version of individual driver blocks remains available. Please note that existing Simulink models opened with the Speedgoat I/O Blockset 9.4.0 and later will not automatically update to the new blocks

  • Speedgoat API

    • The following additional information is now displayed for Ethernet Controller devices after calling speedgoat.showInstalledIoModules

      • Controller type

      • Interface label or I/O module name and interface index (R2020b and later)

    • New function: speedgoat.getMemoryInfo (R2020b and later)

      • Get information on the physical memory usage of your Speedgoat real-time target machine (Help)

Bug Fixes and Corrections

  • Ethernet Configuration Tool (R2020b and later)

    • Fixed: In certain specific cases, the Ethernet Configuration Tool crashed if no IP address was configured for the default real-time target machine (Speedgoat I/O Blockset v9.3.2.1)

  • IO104: DMA Interrupt (MATLAB R2020b and later)

    • Fixed: The module occasionally failed to operate in DMA interrupt mode

  • IO145: DMA Interrupt (MATLAB R2020a and earlier) (Release Note Update 29-Apr-2022)

    • Fixed: The module could not be used in DMA interrupt mode

  • IO3xx: SSI Master v2 driver block

    • Fixed: Time low parameter remained permanently visible

  • IO130 and IO131: Driver blocks (Release Note Update 15-Mar-2022)

    • Data was very occasionally corrupted when the DMA engine was not fully reset

  • IO5xx: Driver blocks

    • Fixed: Real-time target machines crashed after reloading a model in combination with other I/O modules (IO104, IO106, IO130, IO131, IO183, IO3xx, IO61x, IO672, IO907, and ARINC825)

  • IO61x: CAN Read block

    • Fixed: CAN Unpack blocks with CAN-ID: 0 failed to output messages assigned for CAN-ID: 0 exclusively

  • Real-Time Target Machines

    • Fixed: Real-time target machine updates failed on Japanese language versions of MATLAB

  • Speedgoat API (R2020b and later)

    • Fixed: speedgoat.showPtpInterfaces crashed when unsupported devices were detected. A warning message is now displayed to indicate such devices

  • Utilities driver block library: Interrupt Setup block (R2020b and later)

    • The Interrupt Setup block can now be used inside variant subsystems with MATLAB R2022a and R2021b update 3. The same will also apply in MATLAB R2021a update 7 and R2020b update 8

9.3.2.1 (25-Jan-2022)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Bug Fixes and Corrections

  • IO75x-32: Setup driver block

    • Fixed: MAC address assignment that caused an error on the real-time target machine

  • IO98x: Fault Insertion Control driver block

    • Fixed: System crash that occurred when initializing/starting a model

9.3.2 (24-Dec-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Software Support for New Products

  • Performance Core real-time target machine

    • Added support for the new Performance Core real-time target machine (ItemID 109202)

    • Adapted the Speedgoat Software Migration Tool (R2020b and later) and the Real-Time Kernel Configuration and Transfer Tool (R2020a and earlier)

Feature Improvements

  • Ethernet Configuration Tool (R2020b and later)

    • Added an Ethernet Interfaces Index for Raw Ethernet (planned for release in R2022a)

    • Improved overall usability

  • IO332, IO333: PWM Capture v1 and Quadrature Decoder v5 driver blocks

    • Added checkbox option to enable DMA transfers. This improves the execution time for blocks using more than three channels

    • NOTE: This option is only available if DMA functionality is supported by the configurable I/O module and the corresponding configuration file

  • IO308: Interrupt and documentation

    • Added full support for the I/O module

    • Added pin mapping to the help content

  • IO602, IO61x, IO691: Driver blocks

    • Added CAN bus signal support for CAN Read and Write blocks

  • Native Modbus TCP Server (R2020b and later)

    • Updated the Customer MATLAB Live Script Example to use the new Speedgoat toolbox commands

  • Speedgoat API (R2020b and later)

    • New API class: speedgoat.License

      • Some protocols require runtime licenses to be purchased from Speedgoat and installed on the target machine

      • This is currently only required for Modbus TCP, DNP3 and ARINC 825

      • To simply install a runtime license you have received from Speedgoat, refer to this documentation

      • Otherwise, for general management of your real-time target machine licenses, use this new API

    • New function: speedgoat.getTargetTime

      • Get the date and time of your Speedgoat real-time target machine (Help)

  • Utilities block: Read target time (R2020b and later)

    • New block in the Speedgoat Utilities driver block library

    • Get the date and time of your Speedgoat real-time target machine in datenum format [double] (Help)

Bug Fixes and Corrections

  • IO3xx: CoS Interrupt v2 driver block

    • Fixed an issue where the unsupported Event output port would appear when older Simulink models were migrated to the latest Speedgoat I/O Blockset. This issue occurred in MATLAB R2020b and later. For MATLAB R2020a and earlier, the Event output port is still supported and required

  • IO3xx: Driver blocks

    • Fixed an issue that triggered an error if configuration file-related functionalities were not mapped to physical pins

  • IO64x and IO75x: Driver blocks

    • Fixed an issue that prevented blocks from being used in custom library models

  • IO92x: Resistor Control driver block

    • Fixed an issue that prevented the latest hardware version from being detected

  • Simulink-programmable FPGA I/O modules

    • Fixed a code generation error that occurred when using Simulink-programmable FPGA I/O modules on MATLAB R2020a and earlier

9.3.1 (26-Nov-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Software Support for New Products

  • IO512: New SDLC, HDLC I/O module

    • The IO512 features four independent serial channels configured for SDLC and HDLC communication, with a high-speed Integrated Universal Serial Controller for the protocol-specific overhead. Each serial channel has independent, 32 kByte, transmit and receive FIFOs to reduce data loss at high clock rates

  • IO602: New CAN-HS and CAN-FD I/O module

    • Provides four isolated ports configurable to CAN FD and High-Speed CAN

    • Compatible with CAN 2.0A/B networks and supports SAE J1939 and ASAM XCP for bypassing

    • Ideal for in-vehicle or generic rapid control prototyping, as well as hardware-in-the-loop (HIL) simulations

    • The module's functionalities can be extended with the ARINC825 standard CAN bus protocol for avionic applications

Feature Improvements

  • ARINC825: Driver blocks

    • Added support for the IO691 I/O module

  • Ethernet Configuration Tool (R2020b and later)

    • Added support for IP alias addresses

      • Ethernet interface configuration is persistent except for the Host Link (supported as of MATLAB R2022a)

      • Functionality available through a new Speedgoat API: speedgoat.IpAliasConfiguration (Help)

    • Added button to restore factory settings

    • Added capability to remove IP addresses from an Ethernet interface

    • Improved overall usability

    • Added support for the new PCIe version of the IO715 Gigabit Ethernet I/O module

  • IO3xx: CAP driver block

    • Added adjustable debounce filter for capture and hardware trigger inputs

  • IO682: Encode v2 driver block

    • Added the option to enable a port on the Encode block for the SSM data input

  • IO821: Driver blocks

    • Added support for the PCIe version of the I/O module

  • IO907: Driver blocks

    • Improved the performance of read and write blocks when DMA mode is disabled

  • IO92x and IO97x (resistor control), IO94x (relay control), IO974 (thermocouple simulation), IO98x (fault insertion), IO991 (battery management): Driver blocks

    • Improved error reporting by using a descriptive text instead of an error code

  • Native Modbus TCP Server: Setup driver block (R2020b and later)

    • Added the option to delay Modbus responses

  • Speedgoat Tools: Runtime license documentation (R2020b and later)

    • Introduced a new help page that explains how to install runtime license files for protocols such as ARINC825, Modbus TCP and DNP3 (Help)

  • Utilities driver block library: Interrupt Setup block (R2020b and later)

    • Added option to select an interrupt channel for I/O modules supporting multiple interrupt sources

    • Added support for using interrupts with referenced models (refer to the usage notes)

Bug Fixes and Corrections

  • Ethernet Configuration Tool (R2020b and later)

    • Fixed an issue where two or more IO701 or IO710 I/O modules were not represented correctly

  • IO116: Setup driver block

    • Fixed several issues that occurred when the current transceiver of the analog inputs was set to "On"

      • The setting in the Setup block mask did not correctly indicate the available current channels for the analog inputs

      • The Analog input block did not update the correct unit for either voltage [V] or current [A]

  • IO132-IO135: Analog Output driver block

    • Fixed an issue that caused voltage spikes on the Analog Outputs during model download and before model start

  • IO141, IO142 and IO145 I/O modules

    • Current Outputs

      • Fixed an issue that restricted the analog current outputs to half the maximum output value. For the "4-20 mA" range, the output was incorrectly set to between 8-12 mA

    • DMA

      • Fixed an issue that caused the Simulink model to run faster than real time when using DMA mode

  • IO3xx: CoS Interrupt v2 driver block (R2020b and later)

    • Fixed an issue where two simultaneous interrupts generated by one I/O module caused CPU overloads

    • Removed the event vector port from the driver block

    • NOTE: customers will need to update existing Simulink models supporting multiple interrupt channels. Functionality for interrupt sources is now triggered using a dedicated Interrupt Setup block instead of the CoS Interrupt block event vector. The usage notes provide an example of how the new setup should be modeled (Help)

  • IO3xx: Crank Encoder Analog v3 and Knock Generator v3 driver blocks

    • Adapted the initialization callback function of the blocks which was causing the wrong analog output waveforms

  • IO3xx: I2C Master read v1, I2C Master write v1, I2C Slave setup v1, I2C Slave read v1, I2C Slave write v1 driver blocks

    • Adapted the parameter fields so that variables from the model workspace can be entered

  • IO3xx: PWM Capture v1 driver block

    • Added adjustable debounce filter for PWM Capture and hardware trigger inputs

  • IO3xx: SPI MasterSlave v2 driver block

    • Fixed an issue that caused MATLAB to crash when using a non-existing variable in the Words per Frame Vector field

  • IO643 and IO644: Driver blocks

    • Fixed an issue that prevented blocks from being used in referenced models

  • IO821: Time Reference driver block

    • Fixed an issue that prevented the time output year from being updated when IRIG AM or DCLS were set as a time input source

  • Utilities driver block library: Read serial number block (R2020b and later)

    • Fixed an issue that prevented the Read serial number block from building correctly

9.3.0.1 (27-Oct-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Bug Fixes and Corrections

  • Documentation

    • Restored direct access to interface and protocol (code module) driver block help content by reinserting relevant links in the left-hand navigation menu. Also introduced a new Configuration Files page to further improve access to interface and protocol content

  • Native Modbus TCP Server: Driver blocks (R2020b and later)

    • Fixed an issue that caused the server to return an exception when receiving requests with unit ID 255

    • Changed the highest possible unit ID to 255 in the block masks and the documentation

  • IO191: Analog output driver block

    • Fixed an issue that prevented the channel 3 analog output values from being generated correctly

  • IO3xx: Crank Encoder Analog v3 and Knock Generator v3 driver blocks

    • Adapted the initialization callback function of the blocks which was causing the wrong analog output waveforms

  • IO3xx: SPI MasterSlave v2 driver block

    • Adapted the parameter fields so that workspace variables can be entered

  • IO50x: Driver blocks (R2020b and later)

    • Added support for the 48 MHz base clock option

  • IO61x: CAN Status block

    • Fixed an issue causing the Bus-Off recovery not to function correctly

    • Optimized task execution time, and time consumption at initialization

    • Removed a misleading log message regarding a direct memory access initialization error

  • IO619: Process Data driver block

    • Fixed an issue that resulted in the wrong data on the bus if the TIMEDATE48 variable was used

  • IO691: Driver blocks

    • Fixed an issue preventing two CAN channels from sending CAN messages if one of the channels had no receiving device

  • IO907: Driver blocks

    • Fixed an issue that caused an error when the 'any' NodeID was used in the initialization structure

9.3.0 (23-Sep-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Software Support for New Products

  • IO145: New analog I/O module

    • Combines voltage and current capabilities on one board making the module an ideal solution for accurate measurements and output generation in various application areas such as industrial automation, aerospace and automotive

    • Provides 8 current inputs with a range of +-25 mA, 8/16 voltage inputs of up to +-96 V (differential) and 8 combined current/voltage outputs with 0-24 mA or +/- 12 V respectively

Feature Improvements

  • Documentation

    • Introduced two new help pages: "Simulink-Programmable FPGA I/O Modules" and "Configurable I/O Modules". These replace the following legacy sections of the Speedgoat I/O Blockset help: "FPGA Technology", "FPGA I/O Modules" and "FPGA Code Modules"

  • Enhancement for referenced models

    • The Referenced Models Supervisor block is no longer required and has been removed from the utilities block library. The consistency of the Setup blocks of all I/O modules used in more than one referenced model is now checked during code generation, which reduces the time required to update the model

  • IO3xx: Cam Encoder v3 driver block documentation

    • Updated code module, as well as cam tooth start angle and tooth length parameter and input descriptions

  • IO3xx: Crank Encoder v3 driver block

    • Added optional position output port

    • Improved the synchronization of parallel Crank Encoder modules running at the same speed

    • Updated documentation: Extended code module, as well as initial speed and duty cycle parameter descriptions

  • IO907: Driver blocks

    • Added the option to write data using Direct Memory Access

    • Added support for multi-rate use with the Read and Write blocks

    • Added support for referenced models

    • Added status output port to the Read Interrupt driver block

    • Changed error status port to board status port

Bug Fixes and Corrections

  • IO143 and IO144: Setup driver block

    • Fixed an issue that caused the analog output channel 1 to be set to 0 V when building and starting the real-time application several times in succession

  • IO3xx: PWM Capture v1 driver block

    • Fixed an issue where I/O pins could be simultaneously selected as DIO and CAP Trigger channels

  • IO3xx: Quadrature Encoder v3 driver block

    • Fixed an issue where I/O pins could be simultaneously selected as DIO and QAE channels

  • IO3xx: Setup v3 driver block

    • Fixed an issue that resulted in duplicate entries appearing in the configuration file drop-down list when I/O Configuration Packages are installed in different MATLAB releases

    • Fixed an issue with older IO316, IO317 and IO318 configuration files (bitstreams) where a configuration mismatch error was incorrectly displayed

  • IO3xx: Variable Reluctance Sensor v3 driver block

    • Fixed an issue that could lead to the minus sign being removed from data written to the VRS lookup table (R2020a and earlier)

    • Adapted the initialization callback function of the block which was causing a build error

  • IO611, IO612, IO613 and IO614: CAN Write documentation update

    • Added a note about using the data input port when RAW as a message type is selected

  • IO619: Setup driver block

    • Fixed an issue that caused an error when more than one device was selected from the configuration file

  • IO781: Driver blocks

    • Fixed an issue that caused the real-time target machine to freeze during initialization

9.2.2.1 (02-Sep-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Bug Fixes and Corrections

  • IO3xx: Digital Output v1 and Digital Input v1 driver blocks

    • Fixed an issue that caused the system to crash when running the Simulink Real-Time application for several hours

  • IO3xx: Setup v3 driver block

    • Fixed an incompatibility issue that occurred when using configurable I/O modules and Simulink-programmable FPGA I/O modules in the same Simulink model

    • Fixed an issue that caused the detection of all Simulink-programmable FPGA I/O modules to fail in MATLAB releases R2021a and R2020b

9.2.2 (11-Aug-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Software Support for New Products

  • New ARINC 825 protocol support (R2020b and later)

    • Allows CAN messages to be scheduled based on hardware timestamps

    • ARINC 825 connectivity is available with the IO602 I/O module

  • New Modbus TCP Server protocol support (R2020b and later)

    • Modbus TCP connectivity is now available with onboard Ethernet interfaces and plug-in Ethernet I/O modules

    • Multiple Modbus TCP server nodes can be simulated on one Ethernet port

Bug Fixes and Corrections

  • IO104: Analog Output driver block

    • Fixed an issue that prevented the application of initial values

  • IO141 and IO142: Setup driver block

    • Fixed an issue that prevented the user from only activating Input Group 1 of the Analog Input Channels

    • Fixed an issue causing the Analog Inputs tab (in Single-Ended mode) to show the wrong voltage range for the last two channels in each Input Coupling group

  • IO171: Analog input driver block

    • Fixed an issue where the number of block inputs did not change correctly in line with the number of channels selected

  • IO3xx: I2C Master read v1, I2C Master write v1, I2C Slave read v1, I2C Slave write v1 driver blocks

    • Fixed an issue that caused build errors due to a missing default buffer size parameter. The default buffer size is set to 64 words

  • IO3xx: Setup v3 driver block

    • Fixed an issue where the selected bitstream was unselected during model build in a Simulink project

  • IO32x: Driver blocks (R2020a and earlier)

    • Added support for serial interrupts

  • IO643: Setup driver block

    • Fixed an issue that prevented the Setup block from locating the SYCON.net configuration file if the specified file path was relative to the current working directory

  • IO691: Setup driver block

    • Replaced a message to clarify the sourcing of the I/O module firmware file if no such file is present on the target machine disk

  • IO97x: Resistor Control driver block

    • Added support for the IO972-6-1000 and IO973-6-3000 I/O module variants

  • Utilities driver block library: Read CPU Temperature block (R2020b and later)

    • Fixed an issue that caused an error when repeatedly loading the model on the target

9.2.1.1 (30-Jun-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Bug Fixes and Corrections

  • IO104, IO106, IO183, IO3XX, IO50X, IO511, IO601, IO61X, IO619, IO672, IO811: Persistent memory path update (R2021b)

    • Fixed an issue that prevented the I/O modules from loading persistent module data after the data had been saved in the first Simulink model run

  • IO132-IO135: Interrupt-triggered subsystems (R2020b and later)

    • Fixed an issue that caused the interrupt of only one I/O module to be received with Simulink models containing multiple interrupt-triggered subsystems. This only occurred with I/O modules belonging to the IO132-IO135 I/O module family

  • IO191: Analog I/O module

    • Analog and digital output blocks

      • Fixed an issue that prevented the Analog and Digital output blocks from using the correct values when the Initial Value and Reset to Initial Value parameters were defined

    • Analog input block

      • Fixed an issue that prevented the Analog input block from operating when multiple IO191 I/O modules were installed in a machine

  • IO611, IO612, IO613, IO614: CAN driver blocks

    • Fixed an issue that could cause build errors due to undefined library references in R2021a and the R2021b prerelease

  • IO712: Gigabit Ethernet I/O module (R2020b and later)

    • Fixed an issue that prevented the module from being configured correctly with the Ethernet configuration tool

  • IO92x: Resistor Control driver block

    • Added missing support for the IO926-0125-5-06 I/O module

  • Release Notes (R2020a and earlier)

    • Fixed an issue where the release notes were not displayed correctly when installing the Speedgoat I/O Blockset

9.2.1 (15-Jun-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Software Support for New Products

  • IO3xx: FPGA QAD v5 driver block

    • New version of the quadrature decoder featuring:

      • Dynamic moving average filter to calculate speed with a maximum filter width of 256 samples

      • Adjustable input signal glitch filter

      • Output port indicating the time since the last signal edge detection

      • Improved driver block usability offering simplified sampling modes compared to previous versions

  • IO3xx: FPGA QAE v3 driver block

    • New version of the quadrature encoder featuring:

      • Improved signal generation resolution supporting low-speed configurations

      • Output port indicating current position within a slot

      • Missing slot signal emulation

  • New DNP3 protocol support (R2020b and later)

    • Distributed Network Protocol 3 (DNP3) connectivity available with onboard Ethernet interfaces and plug-in Ethernet I/O modules

    • Master and outstation supported

  • New IO715 Gigabit Ethernet I/O module featuring:

    • Four 10BASE-T/100BASE-TX/1000BASE-T Ethernet channels

    • I210 Gigabit Ethernet Controllers

Feature Improvements

  • IO672: RT Initialize driver block

    • Added the option to enable/disable bus A and bus B separately

  • IO682: Decode v2 driver block

    • Added the option to enable a status output port indicating receipt of a data word containing a label selected by the user

  • IO750: Setup driver block

    • New block mask parameters are available to assign specific node addresses and unique device IDs

Compatibility

  • IO50x and IO581: Driver blocks

    • Added support for workspace variables in order to specify parameters across multiple locations of a Simulink model

  • IO623: Driver blocks

    • Added support for MATLAB R2020b and R2021a

  • IO811: Driver blocks

    • Added support for MATLAB R2021a Update 2

  • IO94x: Relay Control driver block

    • Added support for the IO942-SPDT-64 I/O module

Bug Fixes and Corrections

  • IO10x, IO3xx, IO925: Driver blocks (R2020b and later)

    • Fixed an issue where users were able to accidentally configure the wrong I/O module when the bus and slot IDs were explicitly defined. This only occurred with I/O modules belonging to the same I/O module family

  • IO104, IO115, IO117, IO130 and IO131, IO132-IO135, IO143 and IO144, IO183, IO191: Setup blocks

    • Fixed an issue that prevented content from data dictionaries being used as mask parameter values

    • Added support for Simulink parameters when used in a data dictionary

  • IO3xx: Digital Input v1 and Digital Output v1 driver blocks

    • Fixed an issue causing the direction settings of digital inputs and outputs to be incorrectly configured after real-time application restart

  • IO3xx: FPGA PWM v5 driver block

    • Fixed an issue that prevented PWM signals from being generated during initialization of the real-time application on the target if dynamic inputs were used

  • IO3xx: I2C Slave read v1 and I2C Slave write v1 driver blocks

    • Fixed an issue that prevented users from selecting more than 64 I2C registers

  • IO61x LIN: Master and Slave Read and Write driver blocks

    • Fixed an issue causing a system crash during Simulink model initialization

  • IO642 and IO642-32: Setup v2 driver block

    • Changed the PROFIBUS address boundaries to allow addresses 0 and 1

  • IO92x and IO97x (resistor control), IO94x (relay control), IO974 (thermocouple simulation), IO98x (fault insertion), IO991 (battery management): Driver blocks

    • Fixed an issue where the Simulink model failed to stop when an I/O module error was detected

  • IO942: Documentation update

    • Added missing pin mappings for the IO942 series of I/O modules

9.2.0.1 (10-April-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Bug Fixes

  • Ethernet Configuration Tool (R2020b and later)

    • Removed the limitation to ten Ethernet interfaces

  • IO106: Analog input driver block

    • Fixed an issue that altered the analog input channel sequence. The last four channels, for example, showed the input values of the first four channels

  • IO132-IO135: Inter-module synchronization

    • Fixed an issue that prevented the model execution from starting when using the model trigger option

  • IO141 and IO142: Setup driver block

    • Fixed an issue that caused the clock settings to be set back to default after closing and reopening the model

  • IO183, IO191 and IO39x: Documentation update

    • Corrected statement concerning the use of I/O grounds and power supply grounds

  • IO191 analog I/O module

    • Fixed an issue where the IO191 I/O module did not function correctly when the real-time application was run a second time without reloading

    • Added missing support for the 250-kSPS variant of the module

  • IO3xx: Setup block v3

    • Added missing parameter documentation for the pin mapping button and time stamp parameter

    • Fixed an issue that caused multiple pin mapping windows of the same instance to open in different positions

    • Changed the bitstream edit field to a combo box to illustrate the installed and available bitstream files. For more details, refer to the Setup block documentation

    • Fixed an issue with the IO318-100k. Users were unable to configure the rear plug-in as the relevant configuration tabs were invisible

    • Fixed an issue that caused inconsistent rear plug-in tabs when selecting a different module

  • IO3xx: SPI MasterSlave v2

    • Fixed an issue that prevented the SPI Slave from being used without Chip Select and when the CPHA setting = 0

  • IO50x: Read driver block (R2020b and later)

    • Fixed an issue that prevented the Read block receiving data from the serial port

  • IO6xx and IO75x I/O modules (R2020a and earlier)

    • Fixed an issue that could cause an error when downloading firmware or configuration files

  • IO643: Setup driver block

    • Fixed an issue that caused a target error when the IO643 I/O module was used together with other IO64x or IO75x I/O modules

  • IO751: Driver blocks

    • Corrected the maximum input and output data lengths of the Send and Receive blocks

  • IO923: Resistor Control driver block

    • Fixed an issue that prevented the latest hardware version from being detected correctly

  • Speedgoat API (R2020a and earlier)

    • Fixed an issue where speedgoat.disableUsbKernelTransfer did not function correctly due to missing files

  • Support Information (R2020a and earlier)

    • Fixed the version information in the report created by SimulinkRealTime.getSupportInfo

  • Utilities driver block library (R2020b and later)

    • Interrupt Setup driver block

      • Added missing support for the Serial v2 interrupt for the IO32x, IO33x and IO39x FPGA I/O modules

    • Read serial number driver block

      • Fixed the output port data type

9.2.0 (10-Mar-2021)

Unless otherwise indicated, release note entries concern the last six MATLAB releases.

Software Support for New Products

  • IO191: New multi-function analog I/O module

    • The IO191 I/O module is a mPCIe, 16-bit analog module with either 8 single-ended or 4 differential analog inputs, 4 analog outputs and 16 digital I/O lines configurable as inputs or outputs

    • This I/O module is supported on the Unit and Baseline real-time target machines and replaces the IO183 I/O module

Feature Improvements

  • IO3xx: Code module driver blocks (interacting with the FPGA Setup v3 driver block)

    • Added functionality to verify correct model configuration. The following tests are performed:

      • Test for existing implementation of code module in the bitstream file

      • Test for duplicate and invalid channels within the code module

      • Test for conflicts with the I/O direction settings

  • IO3xx: FPGA Setup v3 driver block

    • Added functionality to exchange information between the Setup block and code module driver blocks so that additional checks can be performed

  • IO682: New block versions

    • New v2 Encode and Decode blocks now support the use of multiple labels, and custom data types. The Decode block also provides the option to not hold the last data value received

    • New v3 Setup, Send, Receive and Update Scheduled Messages blocks now enable users to manually configure scheduled messages

  • Speedgoat API (R2020a and earlier)

    • Documentation for Speedgoat API functions is now also included in the help for earlier Speedgoat I/O Blocksets

  • Target Migration Software Tool (R2020b and later)

    • Added additional steps for users of some target machine types to revert the boot device settings in BIOS in order to enable USB kernel transfer for R2020a and earlier

    • Added a missing BIOS setting for the Education real-time target machine

    • Further refined descriptions in the step-by-step guide

Compatibility

  • IO811: FileLog driver block

    • Compatibility issues with the FileLog block in MATLAB R2021a will be fixed in an update release

  • Performance Core+ Real-Time Target Machine

    • Added support for R2021a. Compatibility with R2020b remains limited

  • Speedgoat API

    • Removed deprecated Speedgoat functions starting with "speedgoat_ "

  • Switching between MATLAB R2020b and R2021a

    • Use tg.update in R2021a to update your target from R2020b to R2021a

    • Use tg.update in R2020b to revert your target from R2021a to R2020b

      IMPORTANT: Ensure you use MATLAB R2020b update 5 and the latest version of the support package before executing tg.update

  • Target Software Migration Tool (R2020b and later)

    • Added support for older real-time target machines: Mobile (105200) and Education (108000)

Bug Fixes

  • IO106: Analog input driver block

    • Fixed an issue that caused the Analog Input block to read the first sample as +10 V, instead of the actual voltage value

  • IO682: Driver blocks

    • Fixed an issue that caused models to appear as if they had changed after building an executable

  • IO781: Setup driver block

    • Fixed an issue that prevented a workspace variable being used as a path definition for the configuration file

9.1.3.1 (03-Mar-2021)

Driver blocks, tools and APIs for Simulink Real-Time, compatible with MATLAB R2020b and backwards compatible to R2018a.

Bug Fixes

  • IO107: Setup driver block

    • Fixed an issue that prevented the Analog output block from updating the number of channels when the number of outputs was adapted in the Setup block

  • IO141/IO142: Setup driver block

    • Fixed an issue that prevented content from data dictionaries being used as mask parameter values

  • Serial I/O Modules (R2020b and later)

    • IO50X and IO581: Driver blocks

      • Fixed an issue that prevented a model from being built when a serial I/O module was used in combination with an IO672 I/O module

    • IO50X and IO581: Read driver block

      • Fixed an issue that caused the number of available messages to remain at the previous value instead of switching to a count of 0 if no new messages were received

    • IO50X and IO581: Read and Write driver blocks

      • Fixed broken links to the help documentation

    • IO511: Read v4 driver block

      • Fixed an issue that caused the target machine to crash if no IO511 I/O module was installed

      • Fixed an issue that caused a segmentation fault on the driver

  • IO92x, IO97x, IO98x and IO991 I/O modules

    • Fixed an issue that caused the application to crash when more than one module was used (R2020b only)

9.1.3 (28-Jan-2021)

Driver blocks, tools and APIs for Simulink Real-Time, compatible with MATLAB R2020b and backwards compatible to R2018a.

Minor Usability Changes and Corrections

Non-functional extensions:

  • IO132-IO135 analog I/O modules

    • Inter-Module Synchronization

      • Multiple IO132-IO135 analog modules can now be synchronized to send and read data simultaneously using DMA. Refer to the help documentation or Speedgoat support for further information

    • Analog input v2/Analog output v2 driver blocks

      • Upon selecting DMA mode in the Analog Input or Analog Output tab of the Setup block, the Sample Time in the respective blocks is now automatically set to '-1' (inherited)

  • IO619: Setup driver block

    • Changed the file format of the configuration files from .cdb to .csv in order to configure the module and set up the bus administrator

Products Now Supported in R2020b

  • IO811: Driver blocks

    • Added support for the IO811 I/O module in R2020b

Bug Fixes

  • IO3xx: Setup v3 driver block

    • Renamed internal defines and macros which occasionally caused linking conflicts with external s-functions

  • IO391, IO393 and IO397: Setup v3 driver block (Release Note Update 03-Mar-2021)

    • Fixed an issue that caused the "pull-down" and "floating" settings to be inverted

  • IO682: Receive v2 driver block

    • Fixed an issue that caused the number of available messages to remain at the previous value instead of switching to a count of 0 if no new messages were received

  • Simulink Integration

    • Fixed an issue that created errors during code generation when using Speedgoat blocks in a model containing protected referenced models in R2020b

  • Target Software Migration Tool

    • Adapted the migration process so that it can be rerun on real-time target machines already operating R2020b

    • Fixed an issue where the creation of the USB image was reported to have completed successfully, even though it actually failed owing to the user path containing spaces

9.1.2 (10-Dec-2020)

Driver blocks, tools and APIs for Simulink Real-Time, compatible with MATLAB R2020b and backwards compatible to R2018a.

Software Support for New Products

  • IO3xx: Variable Reluctance Sensor v3

    • New extension to the Cam and Crank code module to generate VRS analog output signals

Minor Usability Changes and Corrections

Non-functional extensions:

  • IO132-IO135: Setup block

    • Changed the position of the resulting Sample Clock Frequency in the DMA Options section of the mask

  • IO3xx: PWM Capture v1

    • Adjusted the maximum signal duration that can be captured and configured to 224 ms (before: 57 s) for performance optimization

  • IO3xx: PWM Generation v5

    • Adjusted the maximum selectable time settings to 224 ms (before: 57 s) for performance optimization

  • IO3xx: SPI MasterSlave v2

    • Added an optional input port to change the Tx data length parameter

  • IO821: Timing Reference

    • External Hardware Trigger – Two GPO rising edge bursts can be configured independently in the driver block

  • Speedgoat API:

    • New function: speedgoat.setTargetTime

      • Persistently set date and time on a target machine (R2020b only)

    • New function: speedgoat.disableUsbKernelTransfer

      • Disabling USB kernel transfer eliminates the need to disconnect USB devices from the Baseline real-time target machine during startup (R2020a and earlier)

    • speedgoat.setDefaultBootOption: added cross-platform support

      • Allows users to change the default boot option from a MATLAB release that does not match the software currently running on a target configured for dual boot. Refer to the help for information on supported releases

  • Target Software Migration Tool

    • Added troubleshooting information to assist with common connection issues

Products Now Supported in R2020b

  • IO672: Driver blocks

    • Added support for the IO672 I/O module in R2020b

Bug Fixes

9.1.2.1 (07-Jan-2021)

  • IO2xx: Driver blocks

    • Increased the maximum selectable module ID from 10 to 20

  • IO3xx: PWM Generation v5

    • Fixed an issue that caused the PWM to not work correctly when PWM Period is not selected as an input port

  • IO3xx: Setup block v3

    • Fixed an issue that prevented explicit partitioning and model references. NOTE: Unique bitstreams within the application directory (including sub-directories) must always be given a unique filename

9.1.2 (10-Dec-2020)

  • Ethernet Configuration Tool

    • Fixed an issue where the tool crashes when attempting to load a configuration containing a subnet mask with less than 8 digits

    • Fixed an issue that prevented the IO710 from appearing in the Ethernet Configuration Tool

  • IO3xx: Setup v3

    • Reincorporated Setup block error handling which is functional again as of MATLAB R2020b Update 2

  • IO3xx: SPI MasterSlave v2

    • Fixed a broken link to the help documentation

  • IO141: Analog Inputs

    • Updated the pin mapping with the correct ground pins

    • Fixed an issue that caused the Analog inputs to not work correctly

  • IO141/IO142: Setup driver block (Release Note Update 28-Jan-2021)

    • Adapted the Clock Divider field so that workspace variables can be entered

  • IO142: Digital I/O

    • Fixed an issue that caused the digital input and output channels to reference the wrong s-function

  • IO619: MVB Process Data driver block

    • Fixed an issue that caused variables to have incorrect values depending on their location in the memory

  • IO98X: Fault Insertion driver blocks

    • Fixed an issue that caused the relay state to be inverted on fault insertion modules with normally open break relays

  • Target Software Migration Tool

    • Fixed an issue in the authentication step where the connection to the target machine failed for some Windows language settings

9.1.1 (11-Nov-2020)

Driver blocks, tools and APIs for Simulink Real-Time, compatible with MATLAB R2020b and backwards compatible to R2018a.

Software Support for New Products

  • IO623: New FlexRay I/O module

    • Provides up to four FlexRay controllers (A and B channels) with data rates of 10 Mbit/s per channel

    • Important: The new IO623 I/O module is only supported on MATLAB R2020a and earlier

Minor Usability Changes

Non-functional extensions:

  • IO107/IO108: Analog output (DMA)

    • Grouped the parameters of the Analog Output (DMA) block into a single tab

  • IO754/IO754-32: Modbus TCP Message block

    • New block mask parameter allowing users to define the default values of the block outputs until data is initially received from the master. This applies only to "Read Coils" and "Read Holding Register" operations

  • Speedgoat_setup

    • The Speedgoat I/O Blockset can only be installed if the Target Support Package for Simulink Real-Time is present

  • Target Software Migration Tool

    • Added a target authentication step to verify the target machine before starting the migration process

Products Now Supported in R2020b

  • IO781: Driver blocks

    • Added support for the IO781 I/O module in R2020b

  • IO976: Driver blocks

    • Added support for the IO976 I/O module in R2020b

Bug Fixes

9.1.1 (11-Nov-2020)

  • Ethernet Configuration Tool (Release Note Update 28-Jan-2021)

    • Fixed an issue where some Ethernet interfaces were not shown correctly for certain real-time target machines

  • IO104: Driver blocks

    • Fixed an issue that caused the inputs and outputs to not work when the Use Frame Burst Trigger checkbox was not activated in the Analog Input and Analog Output tabs of the Setup block

  • IO113-20: Driver blocks

    • Fixed an issue triggering the "autocalibration failed" error message

  • IO141/IO142: Driver blocks

    • Fixed an issue that caused the digital channels 2, 4, 6 and 8 to only work as inputs

  • IO203/IO204: Driver blocks

    • Fixed an issue in the IO204 Write block where the external power supply was incorrectly distributed between channels 1-4 and 9-12 in MATLAB R2020b

    • Fixed an issue that caused the bar pointers to be assigned the wrong data type in MATLAB R2020b

  • IO3xx: FPGA BiSS Decoder v1 and BiSS Encoder v1 driver blocks

    • Fixed an issue that caused an error when all 64 bits are used

    • Fixed an issue that caused incorrect data transmission and reception if the total transmitted data was higher than 54 bits

  • IO3xx: I2C code module

    • Updated the description of the Clock divider parameter for the I2C Master read v1 and I2C Master write v1 driver blocks

  • IO323: FPGA Interrupts

    • Fixed an issue where multiple IO323 interrupt sources in the same machine were incorrectly identified

  • IO3xx: FPGA Knock Generator v3

    • Updated the knock pulse formula in the documentation

  • IO3xx: FPGA SENT Rx driver block

    • Fixed an issue that caused errors when opening the mask in MATLAB R2018a

  • IO3xx: FPGA Serial code module

    • Updated the description of the Channel parameter in the Read HW FIFO v2 and Write HW FIFO v2 documentation

  • IO3xx: FPGA Setup v3 and RS232 driver blocks

    • Fixed an issue that caused compilation problems when both of these blocks were in the same model

  • IO50x/IO581: Serial driver blocks

    • Fixed an issue that caused Even/Odd parity to be inverted

    • Fixed an issue that caused missing data when the Receive FIFO Interrupt level was set to a low number

    • Updated the usage notes

  • IO619: Process Data driver block

    • Fixed an issue that caused variables smaller than one byte to have the wrong endianness on the bus

  • IO642/IO642-32: Driver blocks

    • Fixed an issue that caused the module to ignore incoming acyclic frames from the PROFIBUS master

  • IO750/IO750-32: Setup driver block and ESI file generation

    • Fixed an issue that caused the module to block EtherCAT communication if the overall PDO input and output length was not aligned to 4 bytes

    • Fixed an issue that caused the stack configuration to fail if too many process data objects were defined

  • IO754/IO754-32: Message block

    • Fixed an issue that caused the block to output random values

  • Target Software Migration Tool

    • Added a missing BIOS setting for the Performance Core+ real-time target machine

    • Updated IP addresses in screenshots to comply with the common default values

  • Unit real-time target machine: Interrupt support

    • Fixed an issue that prevented interrupts from working correctly in R2020b

9.1.0 (18-Sep-2020)

Driver blocks, tools and APIs for Simulink Real-Time, compatible with MATLAB R2020b and backwards compatible to R2018a.

Support for MATLAB R2020b

  • Target Software Migration Tool

    • This tool is required to migrate a target machine to MATLAB R2020b. You can optionally use the tool to install a dual-boot system to make your target machine compatible with your previous release as well (video tutorial, and help)

  • Ethernet Configuration Tool

    • Configure all Ethernet interfaces using this new tool (Help)

  • Speedgoat API

    • New Speedgoat API functions have been added

    • Documentation for the Speedgoat API functions is now included in the help

  • Interrupt Setup Block

    • New Utilities block replacing the Simulink Real-Time IRQ Source block

    • Allows hardware interrupts from I/O modules to be used to trigger a subsystem or drive the model's base rate (Help)

  • Documentation

    • New Speedgoat Tools section containing information about the new tools for Ethernet configuration and target migration, as well as the Speedgoat API (Help)

    • Removed the Software Configuration Guide: Refer to the MathWorks web documentation, as well as the Simulink Real-Time release notes to get started

Functional Improvements

  • IO753 Modbus TCP Master: v2 blocks

    • Master configuration in Setup block - The SYCON.net tool is no longer required

    • Allows communication with up to 16 Modbus TCP slaves

    • Adapted the input and output interface of the IO753 Send and Receive blocks

    • The Network Status block shows the communication status for each Modbus slave and indicates command errors

    • Important: New Modbus TCP master blocks are only supported by MATLAB R2019b and later

Minor Usability Changes

Non-functional extensions:

  • Utilities block: Read CPU temperature

    • New block in the Speedgoat Utilities driver block library reads the temperature of the CPU package on all variants of Speedgoat real-time target machines (Help)

  • Utilities block: Read serial number

    • New block in the Speedgoat Utilities driver block library reads the serial number of Speedgoat real-time target machines (Help)

    • Compatible with R2020b and future releases

  • IO821 Time Reference block amendments

    • Retained periodic Interrupt interval - Corrected an issue with unstable periodic interrupt

    • Added time stamps based on edge detection - Datenum and array format [YYYY,mm,dd,hh,mm,ss] block outputs

    • Option to Enable/Disable IRIG and GPI timestamping

    • Added mask parameter to specify pulse width of GPIO outputs

    • Not yet available for MATLAB R2020b

  • Speedgoat API

    • New speedgoat.getDiskSpace function reads the amount of free, used and total space on the target machine's main drive (Help)

Products Not Yet Supported in R2020b

The following driver blocks will be supported in a future version of the Speedgoat I/O Blockset for R2020b:

  • Analog I/O modules – IO105, IO115, IO976

  • Communication Protocols – IO672, IO781

  • Timing and Synchronisation – IO811, IO821

Products No Longer Supported in R2020b

The following driver blocks are no longer supported with R2020b:

  • Analog I/O modules – IO121

  • FPGA – IO383

  • LVDT, RVDT, Synchro, Resolver Measurement – IO422

  • Serial – IO501, IO502

  • Communication Protocols – IO671, IO681, IO903

Driver Block Versions No Longer Supported in R2020b

Only the latest versions of the following driver blocks are available. When you open a model with previous versions of these blocks in R2020b, they will automatically be updated to their latest version.

  • Analog I/O Modules – IO102, IO104, IO106, IO107, IO108, IO109, IO112, IO132, IO133, IO134, IO135, IO143, IO144

  • Serial – IO503, IO504, IO505, IO511

  • Communication Protocols – IO601, IO682, IO981, IO982, IO983, IO984

Bug Fixes

9.1.0.1 (02-Oct-2020)

  • IO105: Driver blocks

    • Added support for the IO105 I/O module in R2020b

  • IO113-20: Digital I/O

    • Fixed an issue that prevented the two groups of channels from being selected as input or output

  • IO115: Driver blocks

    • Fixed an issue that caused an error when building a model containing an IO115 I/O module

  • IO3xx: FPGA QAD v3 driver block

    • Fixed an issue that caused incorrect RPM measurements

  • IO3xx: FPGA SSIM v2 driver block

    • Fixed an issue that caused the driver to generate an error during the build process

  • IO50x/IO581: Setup block

    • Fixed an issue that caused a malfunction if more than one XON or XOFF character was used

  • IO901/IO902: Driver blocks

    • Fixed an issue introduced in version 8.28.4 that caused the real-time application to freeze

  • Target Software Migration Tool

    • Fixed an issue that caused the host link setup to fail after the migration

    • Fixed an issue that caused the migration to fail for target machines with hard disks

9.1.0 (18-Sep-2020)

  • IO3xx: FPGA Setup v3 driver block (Release Note Update 02-Oct-2020)

    • Fixed an issue with multiple IO39x modules in the same model causing the model to fail to initialize

  • IO691: CAN Setup

    • Fixed an issue that caused an error in the Setup block when using external mode

  • IO9xx: Documentation

    • Amended incorrect description of the Module ID parameter

  • IO907: Driver blocks (Release Note Update 02-Oct-2020)

    • Fixed an issue introduced in version 8.28.2 that caused the real-time application to freeze

    • Fixed an issue introduced in version 8.28.2 that caused incorrect output data if the partition size exceeded 16 bytes

8.28.4 (19-Aug-2020)

Driver blocks and functions for Simulink Real-Time, compatible with MATLAB R2020a and backwards compatible to MATLAB R2017b.

Software Support for New Products

  • IO113-20: New analog I/O module

    • Analog I/O module 20-bit resolution. 8 single-ended or 3-wire differential analog outputs, 8 bidirectional digital TTL I/O lines

  • IO141/IO142: New analog I/O module

    • Fast sampling Analog I/O module with 16-bit resolution, 16/21 single-ended or 8/16 differential analog input channels, 4/8 analog output channels and 8 digital TTL I/O lines

  • IO643: New CANopen master I/O module

    • I/O module with one CANopen master channel to communicate with multiple slaves

  • IO644: New CANopen slave I/O module

    • I/O module with one CANopen slave channel

Minor Usability Changes

Non-functional extensions:

  • IO103, IO114A/B, IO61X, IO682: Minor driver block change

    • PCI slot auto-search for multiple I/O modules (Refer to the documentation of the respective Setup blocks for further details)

  • IO50X, IO581: Minor driver block change

    • IRQ numbers assigned automatically

  • IO611: Minor driver block change

    • Option to enable/disable LIN slave responses during application runtime

Bug Fixes

8.28.4 (19-Aug-2020)

  • IO3xx: FPGA Setup v3 driver block:

    • Fixed an issue that caused an error message to be shown when a new setup block was added to a model

    • Fixed an issue that caused FPGA interrupts not to be recognized after a model was reopened and immediately built

    • Fixed issues related to block priority inversion when the Setup block was used in combination with certain other FPGA code module blocks

  • IO3xx: PWM v3, QAD, QAE, SSIM, SSIS, Analog Input, Analog Output, BISS Encoder, BISS Decoder, BISS Sniffer, Cam Decoder, Cam Encoder, Crank Encoder, Crank Decoder, Crank Event, Crank Knock Generator, Digital input, Digital output, Dshot RX, Dshot TX, I2C Master, I2C Slave, INTA, PWM Capture, PWM, SENT RX, SENT TX, Serial, SPI, SPI Sniffer code module driver blocks:

    • Fixed warnings during compilation caused by an unreferenced variable

  • IO318-100k: Interrupt of Serial code module

    • Fixed module detection for the use of the serial interrupt

  • IO50X: Send/Receive driver blocks v3

    • Fixed an issue that caused the Tx message monitoring in RS485 Half-Duplex mode to be enabled if the checkbox was not set and to be disabled if the checkbox was set

    • Fixed an issue that caused the Baud rate divisor not to be checked for errors (correct range and data type) (Release Note Update 11-Nov-20)

  • IO601: Setup block

    • Fixed an issue that caused incorrect handling of the baud rate setting

  • IO61X: Setup block

    • Fixed an issue that caused incorrect handling of the Filter Mask parameter

    • Fixed an error when selecting Module ID 10 and extended IDs to be selected in the range from 1 up to 20

  • IO64X/IO75X: Download of firmware and configuration files

    • Fixed an issue that caused sg_download_FW(), sg_IO64X_loadconfig() and sg_IO75X_loadconfig() to crash while attempting to rename files on the target drive

  • IO64X-32/IO75X-32: Firmware update process

    • Fixed an issue that caused the real-time application to freeze while writing protocol firmware to the multi-node module (this only affected real-time applications built with Microsoft Visual Studio 2019 compiler)

  • IO691: Read and Write block

    • Added a warning message for when the block port 'CAN Msg' of the Read/Write block is not correctly connected

  • IO754: Setup driver block

    • Minor firmware bug fixes (version 3.0.0.3)

      Important: Run sg_download_FW() in order to copy the firmware file to the target machine

Previous Versions

Release notes for previous versions of the Speedgoat I/O Blockset can be obtained by contacting support@speedgoat.com.