fp@270: -------------------------------------------------------------------------------
fp@270: 
fp@270: This is the FEATURES file of the IgH EtherCAT Master.
fp@270: 
fp@270: $Id$
fp@270: 
fp@1319: vim: spelllang=en spell
fp@1319: 
fp@270: -------------------------------------------------------------------------------
fp@270: 
fp@270: General Features:
fp@270: 
fp@1319: * EtherCAT master implementation conforming to IEC/PAS 62407.
fp@1319:   - Runs as kernel module for Linux 2.6.
fp@1319:   - Multiple masters possible on one machine.
fp@270: 
fp@1590: * Native EtherCAT-capable versions of standard Linux drivers for wide-spread
fp@1590:   Ethernet devices, as well as a generic driver for all chips supported by the
fp@1590:   Linux kernel.
fp@1590:   - Interrupt-less operation of Ethernet devices when using native drivers.
fp@1590:   - Easy implementation of additional native Ethernet drivers through common
fp@1590:     device interface.
fp@1319:   - Operation possible with any device supported by the standard drivers,
fp@1319:     including PCMCIA devices.
fp@1590:   - For any other hardware, the generic driver can be used. It uses the lower
fp@1590:     layers of the Linux network stack.
fp@270: 
fp@1319: * Supports any realtime environment through independent architecture.
fp@1319:   - RTAI, Xenomai, RT-Preempt, etc.
fp@2433:   - RTDM Interface for userspace realtime enviroments
fp@1320:   - Operation possible without any realtime extension at all.
fp@270: 
fp@1319: * Common API for Realtime-Applications in kernel- and userspace.
fp@1319:   - Requesting and releasing masters.
fp@1319:   - Dynamic slave configuration, even for slaves that are offline.
fp@1327:   - Detailed configuration of the slaves' PDOs and SDOs.
fp@1327:   - Creation of process data domains (see below). Registration of PDO entries
fp@1319:     for exchange within a domain.
fp@1319:   - Monitoring the states of masters, slave configurations and domains.
fp@1327:   - SDO handlers for application-triggered CoE transfers (see below).
fp@1319:   - VoE handlers for Vendor-specific mailbox protocols (see below).
fp@1319:   - Similar userspace implementation of the kernel API via a C-library.
fp@270:   - Avoidance of unnecessary copy operations for process data.
fp@270: 
fp@270: * Separating slave groups through domains.
fp@270:   - Handling of multiple slave groups with different sampling rates.
fp@270:   - Automatic calculation of process data mapping, FMMU- and sync manager
fp@270:     configuration within the domains.
fp@1319:   - Process data exchange can be monitored via a per-domain mechanism.
fp@270: 
fp@1083: * Master finite state machine (FSM).
fp@1320:   - The same state machine runs both in idle mode and in realtime operation.
fp@1320:   - Bus monitoring: Slave states are read cyclically. Automatic scanning of the
fp@1320:     bus after a topology change.
fp@1319:   - Automatic configuration of slaves, if a application-layer state change is
fp@1319:     requested.
fp@270: 
fp@1364: * Implementation of the "CANopen over EtherCAT" (CoE) mailbox protocol.
fp@1319:   - Configuration of CoE-capable slaves.
fp@1327:   - SDO information service (dictionary listing).
fp@1327:   - SDO transfers both via the application interface and the command-line tool.
fp@270: 
fp@1364: * Implementation of the "Ethernet over EtherCAT" (EoE) mailbox protocol.
fp@1320:   - Virtual network interface for any EoE-capable slave.
fp@1320:   - Both a switched and a routed EoE network architecture is natively supported
fp@1320:     and configurable with standard tools.
fp@1320: 
fp@1364: * Implementation of the "Vendor-specific over EtherCAT" (VoE) mailbox protocol.
fp@2421:   - Communication with vendor-specific mailbox protocols via the API.
fp@270: 
fp@1364: * Implementation of the "File Access over EtherCAT" (FoE) mailbox protocol.
fp@1364:   - Loading and storing files via the command-line tool.
fp@1364:   - Updating a slave's firmware can be done easily.
fp@1364: 
fp@1319: * Userspace command-line tool 'ethercat'.
fp@1319:   - Detailed information about master, slaves, domains and bus configuration.
fp@1364:   - Setting the master's debug level.
fp@1319:   - Reading/Writing alias addresses.
fp@1319:   - Listing slave configurations.
fp@1319:   - Viewing process data.
fp@1327:   - SDO download/upload; listing SDO dictionaries.
fp@1364:   - Loading and storing files via FoE.
fp@1319:   - Access to slave registers.
fp@1319:   - Slave SII (EEPROM) access.
fp@1320:   - Controlling application-layer states.
fp@1319:   - Generation of slave description XML from existing slaves.
fp@270: 
fp@1319: * Seamless integration in any GNU/Linux distribution.
fp@1320:   - "Linux Standard Base"-compatible init script for master control.
fp@1319:   - Master and Ethernet device configuration via sysconfig file.
fp@270: 
fp@1319: * Virtual read-only network interface for debugging and traffic monitoring
fp@1319:   purposes (using Wireshark, etc.). No additional hardware necessary.
fp@270: 
fp@270: -------------------------------------------------------------------------------