Changelog EtherCAT Library

V1.8.3 (2024-08-15)

  • EtherCAT Library:

    • fixed write access to Register MII Management PDI Access State

    • extended check of PDO MApping objects to full address ranges
      (0x1600 .. 0x17FF, 0x1A00 .. 0x1BFF)

    • check if Mailbox Sync Managers are in Mailbox mode

    • process fragmented CoE responses before sending EOE frame
      (don't interrupt Segmented SDO DOwnload or Upload)

    • improved LED Emulation for Error LED on ET1100

    • optionally support early access check for SDO Downloads
      (Abort invalid access early, after first chunk was received)

    • Added EtherCAT Bootloader mode (FoE only)
      (No CoE, SDO, DC, PDO)

    • reworked LED emulation to properly support STATUS indicator

    • fixed handling of NMT SPlit state if DC is enabled and active

    • increase DC Sync loss check time to 100 ms

    • distinguish between loss of DC event and loss of PDI event when reporting error

  • Drivers:

    • XMC4800: support log message printing on Relax EtherCAT Kit

    • LAN9253: added optional SPI communication check during initialization

    • Linux: support LAN9253 SPI driver as a build option

    • AM64XX: added support for TI AM64XX with FreeRTOS

  • Examples:

    • AM64XX: added examples for TI AM64XX with FreeRTOS

V1.8.2 (2023-07-06)

  • EtherCAT Library:

    • fixed EEPROM Emulation initialization for non-SPI targets

  • Drivers:

    • updated XMC4800 Relax-Kit V1

    • added XMC4800 Automation Board V2 incl. FreeRTOS

  • Examples:

    • updated XMC4800 Relax-Kit V1

    • added XMC4800 Automation Board V2 incl. FreeRTOS

V1.8.1 (2023-04-27)

  • EtherCAT Library:

    • fixed PDO mapping check for objects of MDP modules

    • extended PDO mapping to support:

      • gaps

      • bit data types

      • string data types (also objects bigger than 31 bytes)

      • safety data bigger than 16 bits

    • made object dictionary API threadsafe
      (driver must provide a Mutex)

    • dynamically created CoE objects can now be freed
      (if supported by the target)

    • marked EtherCAT API as C functions for C++ projects

    • fixed processing of Process Data Watchdog events if NMT Split feature is activated

    • reworked EEPROM Emulation Relead command to work with ESC LAN9253

    • fixed SDO Info service GetEntryDescription for objects larger than 64 kbits

    • support storing CoE object descriptions in ROM

  • Drivers:

    • AM335x: fixes for current stack version

    • added support for Microchip LAN9255

  • Examples:

    • added examples for Microchip LAN9255

V1.8.0 (2022-04-27)

  • EtherCAT Library:

    • Extended SPI driver API to pass stack instance handle to driver

    • Fixed possible NULL pointer access for dynamically created objects

    • fixed handling of SDO Info Service GetEntryDescription request that have reserved bits set

    • extended MDP module to support more than one slot
      (but only one active instance of each module)

    • support more than 4 Sync Managers and multiple Sync Units (multiple pairs of Output/Input Sync Managers)

    • added optional extended PDO user API (ec_applSyncInd and ec_applPdoInd)

    • added function to set number of Sync Managers in dynamic config mode (default value: 4)

    • fixed overflow bug for periodic timers
      (handle overflow of time value for newly created and updated timers)

  • Drivers:

    • Adjust all SPI drivers to updated SPI driver API

    • Linux: support spidev user space API as SPI PDI

V1.7.2 (2022-01-25)

  • EtherCAT Library:

    • fixed PDO Mapping for configurations with alignment gaps

    • fixed writing of non-numeric SDO objects if not all bytes are written

    • added initialization function for common SPI drivers

  • Drivers:

    • SPI for LAN9253: support direct mapped mode

    • Added support for ST STM32F4xx

  • Examples:

    • Template: updated to work with current stack version

    • add examples for ST STM32F4xx

V1.7.1 (2021-05-31)

  • EtherCAT Library:

    • EoE is now dynamically configurable (if dynamic configuration is activated)

    • Fixed handling of PDO mappings with gap entries

    • Added extended object attributes to support Safety flags

    • Added support of MDP profile for devices with only one slot

    • FSoE can now be supported (3rd party FSoE stack is required)

    • Support LED emulations for targets that have dynamic configuration disabled

  • Drivers:

    • SPI for ET1100: use Waitstate byte to support higher SPI speeds

    • Added support for TI TMS320F28388X (CM4 Core)

  • Examples:

    • Added examples for TI TMS320F28388X (CM4 Core)

V1.7.0 (2021-01-31)

  • EtherCAT Library:

    • fixed SDO Abort Code if Complete Access Response exceeds Mailbox size

    • merged header files from "source" folder into header files of "include" folder

    • reimplemented Dynamic Objects to have them behave like normal objects (new API)

    • Timer callbacks now support arguments

    • improved access to Object dictionary

    • allow devices that have only dynamic objects

    • new API to generate Debug messages

    • debug messages now contain function name and line number

    • moved all global variables to one EtherCAT handle (changed all API)
      (required for instantiation of EtherCAT stack in multiprotocol devices)

    • added compatibility mode for applications and drivers that use the old API of 1.6.

    • support dynamic configuration of stack during startup

    • reworked ESC access

    • fixed Download of non-numeric objects

    • support objects that do not have a default value or a minimum and maximum value

    • added timeout when waiting for Sync0 during SafeOp to Op transition

    • added timeout for Read Mailbox (release Mailbox if it is not read by master)

    • fixed deadlock of Input Only slaves that received a SM Change Request

    • support Emulation of RUN and ERR LEDs in CPU

    • fixed Complete Access SDO Download if object size check is enabled

    • fixed limit check for SDO access to UNSIGNED64 and INTEGER64 objects

    • improved Mailbox handling if multiple Mailbox protocols are enabled

    • fixed SDO Info service for objects with gaps

    • several small improvements

  • Drivers:

    • ALL: cleaned up include headers & use new API

    • added support for GOAL

    • added generic modules for SPI access to ET1100 and LAN9252

    • added support for SPI access to ESC on Linux (ET1100 and LAN9252)

  • Examples:

    • ALL: use new API

    • RIN32M3: updated IAR projects

V1.6.3 (2018-03-23)

  • EtherCAT Library:

    • Several bugfixes

    • Use register “Watchdog Status Process Data” to monitor watchdog instead of “AL Status”

    • Added more AL Status Code macros

    • added ec_esmFinishTransition() that allows abortion of ESM state transitions for application specific reasons

  • Driver:

    • added support for STM32F7XX (SPI)

  • Examples:

    • added examples for STM32F7XX with Keil RTX

V1.6.2 (2018-03-01)

  • Driver:

    • updated driver for TI TMS320F2837x to work with EMIF
      (parallel Interface)

  • Examples

    • added examples for TI TMS320F2837x with EMIF as PDI

V1.6.1 (2017-11-28)

  • EtherCAT Library

    • set ERROR LED depending on AL Status Code

    • support DSPs (16 bit RAM access)

  • Driver:

    • TMS320f2837x: added support for TI TMS320f2837x

  • Examples:

    • TMS320f2837x: added examples for TI TMS320f2837x

V1.6.0 (2017-08-03)

  • EtherCAT Library

    • added MII Management API (Phy access via ESC registers)

    • added support for Input Only slaves with Sync Manager 2 as Inputs

    • CoE: added timeout when waiting for a Master to read response from a Mailbox

    • SDO: Complete Access - allow writing less than all Subindices

    • fixed waiting for DC during SafeOP to OP when feature NMT Split is activated

    • added support for UNSIGNED64 and INTEGER64 data types

    • MBOX: fixed bug "deadlock of Rx Buffers in case of asynchronous traffic"

    • added support for TCP/IP stack "lwIP" over EoE

    • TIMER: renewed Timer API

    • fixed clang compiler warnings

    • added support for GOAL

  • Driver:

    • RZ/T1_M3: added support for GOAL on Renesas RZ/T1 (M3 core)

    • RZ/T1_R4F: added support for GOAL on Renesas RZ/T1 (R4F core)

  • Examples

    • ALL: updated all examples to work with newest EtherCAT Design Tool

    • ALL: use new Timer API

V1.5.2 (2017-01-03)

  • EtherCAT Library

    • accelerated process data exchange if PDI is SPI

  • Driver:

    • STM32L4XX: access ESC RAM via Process RAM registers instead of CSR registers

    • PIC32MX: added support for Microchip PIC32MX

  • Examples

    • PIC32MX: added support for Microchip PIC32MX

V1.5.1 (2016-12-06)

  • Driver:

    • AM335X: fixed recognition of writing last byte in Mailbox

    • STM32L4XX: added support for ST STM32L4XX

  • Examples

    • STM32L4XX: added support for ST STM32L4XX

V1.5.0 (2016-07-05)

  • EtherCAT Library

    • added support for data type BYTE

V1.4.0 (2016-06-22)

  • EtherCAT Library

    • merged lib_type.h into ec_type.h

    • removed obsolete ec_fct.h

    • new init function for ECAT Lib: ec_initLibrary() -> ec_initEtherCAT()

    • new CoE State Machine, fully supporting Complete Access
      (automatic padding of bit types)

    • new Mailbox handler

    • new FoE State Machine, supporting Busy Requests

    • new EoE State Machine, supporting Set & Get IP Parameter

    • new non-blocking debug message generation

    • support of dynamic PDO Configuration

    • fully support objects with gaps

    • fully support SDO Info service

    • Virtual Objects are now also allowed in Profile Area of Object Dictionary

    • new ESM state change indication ec_newNmtStateInd -> ec_newEsmStateInd
      (indicating new state, error state, and error code)

    • Process Data Watchdog is now mandatory

    • extended API for Virtual objects

    • Virtual & Dynamic Objects are now recognized by SDO Info service

    • supporting EEPROM Access via PDI

    • EtherCAT Library now conforms to EtherCAT Conformance Test 2.0.40.0

  • Driver:

    • updated all drivers to run with ECAT Lib 1.4.

    • added driver for Microsemi SmartFusion2 (ESC: Trinamic TMC8461)

  • Examples:

    • updated all examples to run with ECAT Lib 1.4.

    • added examples for Microsemi SmartFusion2 (ESC: Trinamic TMC8461)

V1.3.13 (2016-01-12)

  • EtherCAT Library

    • added support for feature “Acknowledgement by write”

    • moved declaration of ESC memory struct to ecmain.c

  • Driver:

    • All: removed obsolete declaration of ESC memory struct

    • XMC4800: added support for Infineon XMC4800

    • RIN32M3: added support for IAR Starter Kit

  • Examples:

    • XMC4800: added examples for Infineon XMC4800

V1.3.12 (2015-11-20)

  • EtherCAT Library

    • simplified generation of debugging messages

    • fixed FoE state machine to handle connection losses

    • fixed recognition of Repeat Requests for Mailbox Read

  • Driver:

    • AM335X: cleaned & refactored driver, removed unused files

  • Examples:

    • AM335X: added more examples

V1.3.11 (2015-10-15)

  • EtherCAT Library

    • fixed checking of Sync Managers for Process Data

  • Driver:

    • AT91SAM7X: added support for Atmel AT91SAM7X

  • Examples:

    • AT91SAM7X: added sample applications for Atmel AT91SAM7X

V1.3.10 (2015-05-08)

  • EtherCAT Library

    • Fixed recognition of deactivated DC when DC was active before

  • Driver:

    • K2X: added support for Freescale Kinetis K2X

  • Examples:

    • K2X: added sample applications for Freescale Kinetis K2X

V1.3.9 (2015-04-14)

  • EtherCAT Library

    • new EtherCAT State Machine

      • debug level EC_DBG_LVL_NMT replaced by EC_DBG_LVL_ESM

      • Support for Explicit Device Identification (Register 0x134)

      • new User Indication UNSIGNED16 ec_getDeviceID(void)

      • support DC as only synchronization mode

      • changed function prototype of ec_confirmNewNmtState()

  • Driver:

    • XMC4500: added support for Infineon XMC4500

  • Examples:

    • XMC4500: added sample applications for Infineon XMC4500

V1.3.8 (2015-02-17)

  • EtherCAT Library:

    • fixed access to ESC PD RAM for Big Endian architectures

    • fixed copying of Output Process data if Output PDO Bypass is activated (Big Endian only)

    • DC: fixed calculation of checktimer period

    • MBOX: printMboxHdr is now deactivated by default when debugging

    • EOE: query TCP/IP stack for new packet before trying to send out EOE message

    • MAIN: check if SM0 is pending, when no AL Event bit is set

  • Driver:

    • Generic: adapted driver to new Library version

    • AM335X: adapted driver to new Library version

    • Linux(PCI): adapted driver to new Library version

    • R-IN32M3: adapted driver to new Library version

  • Examples:

    • Linux (PCI): cleaned and unified all examples

    • R-IN32M3: cleaned and unified all examples

V1.3.7 (2015-01-09)

  • EtherCAT Library:

    • Fixed handling of invalid state requests during state Operational

V1.3.6 (2014-11-11)

  • DRIVER

    • added STM32F2XX driver module

V1.3.5 (2014-10-14)

  • EtherCAT Library:

    • moved function prototypes of CoE Indication Functions from ec_usr.h to
      ec_coe.h

    • all files have reformatted code & improved comments

    • added support for EEPROM Emulation

    • added support for reading & writing EEPROM via PDI

    • check address assigned to a Sync Manager

      • is address within Process Data RAM ?

      • does assigned memory area interfere with other Sync Managers?

    • added support for ESC Process Data Watchdog

    • extended ESC register access structure

    • only compile debugging messages, if debugging is active

    • moved print function for debugging to driver module (ec_drvPrint())

  • DRIVER:

    • AM3359:

      • adapted driver to new stack version

      • use new EEPROM Emulation

    • Linux:

      • adapted driver to new stack version

    • RIN32M3:

      • adapted driver to new stack version

V1.3.4 (2014-09-01)

  • added driver package for Renesas R-IN32M3

  • added examples for Renesas R-IN32M3

V1.3.3 (2014-07-24)

  • Drivers:

    • update TI am335x driver and examples for adaption and test with ICE Board
      Rev. 2.1A

V1.3.2 (2014-06-23)

  • removed german comments

  • fixed PDO mapping validation

  • fixed handling of emergency message queue

  • fixed handling of SDO Info Request

  • fixed bug 660: renamed member bitSize to byteSize of struct EC_PDO_MAP_T

  • added driver package for ti am335x

V1.3.1

  • fixed possible crashes when using virtual objects and gaps in records/arrays

  • fixed XILINX microblaze driver with new Design Tool

  • adaption of examples for DesignTool 1.1

V1.3.0

  • ObjectDictionary: objects can now be defined dynamically

  • EoE: ec_eoeInitInd() is now called on startup

  • Virtual objects: applied naming conventions to some functions

  • NMT: Added support for BOOTSTRAP mode

  • Support for compiling with GNU C++ compiler improved

  • DC: Improved supervision of sync events

  • Synchronization:

    • Reworked, application synchronization is now done on SM2, SM3 or DC, depending
      on the configuration

    • When no output data is available, the application synchronizes on SM3-event

    • When output data is available, the application synchronizes on SM2-event

    • Changed signature of function ec_syncInd() regarding update of input data

  • DC: Separate ISR for PDI and SYNC, optionally can be unified

  • HAL: Fixed byte order for process data on big endian targets

  • DC: Additional options for the user, callback function introduced

  • Optimizations in ISR *functions

  • Removal of sprintf function calls

  • Bugfix: for mailbox transmission, could lead to wrong length calculation

  • Bugfix: Removed unused variables and warnings

V1.2.2

  • PDI supervision (cyclic check for process data) added

  • Fixed getObjectName function, when no names are supported

  • Added missing prototypes

  • Added new error codes

V1.2.1 (2011-11-04)

  • add STM32 driver with SPI access

V1.2 (2011-09-22)

  • add void parameter to function prototypes to avoid compiler warnings

  • add SPI access mode

  • routines for access to sii-prom

  • foe indication parameter changed

  • eoe indication added

  • octet string handling added

  • add check of PDO parameter mapping handling

V1.1 (2010-07-30)

  • first version