# X2C Changelog

## Version 6.5.3189 (04.04.2024)

## Libraries & Blocks

- Basic
  - TaskLabel block added (MATLAB/Simulink only)

- General
  - Constant & uConstant simulation files for MATLAB/Simulink updated
  - Gain & uGain simulation files for MATLAB/Simulink updated
  - LookupTable1D, LookupTable2D & LookupTable3D simulation files for MATLAB/Simulink updated
  - LoopBreaker simulation files for MATLAB/Simulink updated
  - Selector simulation files for MATLAB/Simulink updated
  - Missing connections in Simulink library inserted (TypeConv, uSaveSignal)

- Math
  - Acos block added
  - Asin block added

- Control
  - P, PLimit added
  - I, ILimit adjusted
  - D, DLimit added
  - PI, PILimit adjusted
  - PID, PIDLimit adjusted
  - Typecast in FiP8 & FiP16 implementations of uI block corrected
  - Delay block adjusted (direct feed throug flag set)
  - Revert function for TF2 block implemented

- Filter
  - Fix of gain correction bug in floating point implemention of AdaptiveNotch block

- StateControl
  - TFlipFlop block added
  - DFlipFlop block added
  - RSFlipFlop block enhanced with /Q output

- MotorControl
  - Overflow bug in compare statement in FiP implementation of JerkLimiter block fixed
  - Calculation of CPU compensation in conversion function of CurrentControl block fixed

- MotorSimulation
  - VSI enhanced with modulation limit/scaling
  - Nonlinear power supply added

- MotorSensorless
  - HFInjectionSquare updated and renamed to PINAC
  - HFInjectionSine updated renamed to SINAC
  - HFInjSquare added, updated and renamed to PINEC
  - TrackingLoop added
  - Predefined macro INV_SQRT_THREE to TWO_OVER_SQRT_THREE in FASE_Float32 changed
  - Angle wrapping in floating point implementations of InitPosDetect block added

- Update of pre-built libraries
  - Update from compiler version v2.1 to 4.21 for PIC32MX170F256 CUnit-Test programs
  - STM libs for Keil removed
  - STM libs for STMCubeIDE added
  - XMC libs for DAVE added
  - Additional Microchip libs added

- CUnit-Test targets added
  - STM32F072RB
  - STM32G474RE
  - TMS320F379D
  - XMC4800-F144K2048

- CUnit-Test targets removed
  - STM32F407ZG
  - TMS320F2808

## Features
- Execution Time Estimator (ETE) added
- Implementation of color coding of MATLAB blocks according to its sample time
- Grouping of Subsystems into tasks implemented (MATLAB/Simulink only)
- CLA code generation implemented (TI C2000 targets and MATLAB/Simulink only)

## Core
- MATLAB scripts createActivationScript.m, setup.m, AnalyzeModel.m, getPrevX2CBlocks.m, createX2CSimulinkBlock.m updated
- JavaScript support updated: added Nashorn JS engine JAR files
- Fix of ordering issue of code generator
- Update of CFSO code generator
- Update of error messages in MATLAB and Scilab
- Parameter editor used in Scilab/Xcos updated
- Pre-liminary support for Scilab 2023 and 2024 implemented
- Communicator startup options enhanced

## Demos
- Blinky Atmel ATSAM3X8E-ArduinoDue demo updated: Link to LoopBreaker fixed
- Blinky demo for STM32 STM32F051R8TX Discovery board ported from uVision to STM32CubeIDE
- Blinky demo for STM32 Nucleo-F072RB board ported from uVision to STM32CubeIDE
- Blinky demo for STM32 Nucleo-G474RE board added
- Update of TM320F28096 blinky demo with CPU load measurement
- Fix of ClrWdt problem with new compiler/MPLAB X inMicrochip dsPIC33F Blinky demo
- Update of all Blinky demos
  - Delay block replaced with LoopBreaker block
  - Init of integrator updated

## Documentation
- Update of ProjectDocu generation
- Update of BlockDocu generation
- X2C documentation updated
  - Introduction
  - Code conventions
  - Angle signal description
  - Description of uVision related items removed
  - Description of STM32CubeIDE added
  - BlockGeneration How-To

## Hardware Templates
- Adding of TMS320F2800137_BOOSTXL_DRV8305 template
- Adding of TMS320F28379D_BOOSTXL_DRV8305 template
- Adding of STM32G474RE_NUCLEO_IHM07M1 template
- Update of dsPIC33CK256MP_MCLV2 template
- Update of TM4C123GXL_BOOSTXL_DRV8305 template
  - Rotor alignment at startup implemented by X2C blocks only -> no need for reset of encoder in frame program
  - Nonlinear power supply model
  - Encoder macro made available for SyMSpace
  - Implementation of Inter-Processor-Communication (IPC)
- Update of TMS320F28379D_BOOSTXL_DRV8305 template
- Update of SKAI_40_A2_MD15 template to current X2C version
- Update of SKAI_60_A2_MD10 template to prevent warnings by compiler
- Absolute links changed to relative links in Wolfspeed CRD300DA12E-XM3 hardware template
- Update of LCM-ECU-3HB-20A-48V template: Switched to floating point implementation
- Update of LCM-FU-3HB-2A-230V template: Switched to floating point implementation
- Update of LCM-ECU-10HB-10A template
- Update of LCM-ECU-4HB-100A-75V template
- Updated EELoadSave block to use Int8 implementation instead of Float32 to avoid possible float comparison issues updated to current X2C version

## Bootloader
- Added TMS320F280039 bootloader
- Added TMS320F280037 bootloader
- Added TMS320F2800137 bootloader
- Update CAN Bootloader STM32F407ZE and STM32F407ZG
- Added CAN bootloader for TMS320F280049
- Update of STM32F407ZG bootloader baudrate: 500k and 1M added
- Update of STM32F407ZE bootloader baudrate: 500k and 1M added



---

*Coverage: SVN revisions ~2561 through 3189 (April 2024)*
