master/foe.h
author Patrick Bruenn <p.bruenn@beckhoff.com>
Tue, 12 Apr 2016 11:17:36 +0200
branchstable-1.5
changeset 2654 b3f6b3e5ef29
parent 2524 6d9865c37b6f
permissions -rw-r--r--
devices/ccat: revert "limit rx processing to one frame per poll"

revert "limit rx processing to one frame per poll", which caused etherlab
frame timeouts in setups with more than one frame per cycle.
1335
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     1
/******************************************************************************
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     2
 *
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     3
 *  $Id$
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     4
 *
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     5
 *  Copyright (C) 2006-2008  Florian Pose, Ingenieurgemeinschaft IgH
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     6
 *
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     7
 *  This file is part of the IgH EtherCAT Master.
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     8
 *
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     9
 *  The IgH EtherCAT Master is free software; you can redistribute it and/or
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    10
 *  modify it under the terms of the GNU General Public License version 2, as
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    11
 *  published by the Free Software Foundation.
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    12
 *
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    13
 *  The IgH EtherCAT Master is distributed in the hope that it will be useful,
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    16
 *  Public License for more details.
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    17
 *
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    18
 *  You should have received a copy of the GNU General Public License along
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    19
 *  with the IgH EtherCAT Master; if not, write to the Free Software
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    20
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    21
 *
1363
11c0b2caa253 Improved and added license headers.
Florian Pose <fp@igh-essen.com>
parents: 1336
diff changeset
    22
 *  ---
11c0b2caa253 Improved and added license headers.
Florian Pose <fp@igh-essen.com>
parents: 1336
diff changeset
    23
 *
11c0b2caa253 Improved and added license headers.
Florian Pose <fp@igh-essen.com>
parents: 1336
diff changeset
    24
 *  The license mentioned above concerns the source code only. Using the
11c0b2caa253 Improved and added license headers.
Florian Pose <fp@igh-essen.com>
parents: 1336
diff changeset
    25
 *  EtherCAT technology and brand is only permitted in compliance with the
11c0b2caa253 Improved and added license headers.
Florian Pose <fp@igh-essen.com>
parents: 1336
diff changeset
    26
 *  industrial property and similar rights of Beckhoff Automation GmbH.
1335
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    27
 *
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    28
 *****************************************************************************/
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    29
2524
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    30
/** \file
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    31
 * FoE defines.
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    32
 */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    33
1335
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    34
#ifndef __FOE_H__
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    35
#define __FOE_H__
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    36
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    37
/*****************************************************************************/
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    38
2524
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    39
/** FoE error enumeration type.
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    40
 */
1335
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    41
typedef enum {
2524
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    42
    FOE_BUSY               = 0, /**< Busy. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    43
    FOE_READY              = 1, /**< Ready. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    44
    FOE_IDLE               = 2, /**< Idle. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    45
    FOE_WC_ERROR           = 3, /**< Working counter error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    46
    FOE_RECEIVE_ERROR      = 4, /**< Receive error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    47
    FOE_PROT_ERROR         = 5, /**< Protocol error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    48
    FOE_NODATA_ERROR       = 6, /**< No data error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    49
    FOE_PACKETNO_ERROR     = 7, /**< Packet number error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    50
    FOE_OPCODE_ERROR       = 8, /**< OpCode error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    51
    FOE_TIMEOUT_ERROR      = 9, /**< Timeout error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    52
    FOE_SEND_RX_DATA_ERROR = 10, /**< Error sending received data. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    53
    FOE_RX_DATA_ACK_ERROR  = 11, /**< Error acknowledging received data. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    54
    FOE_ACK_ERROR          = 12, /**< Acknowledge error. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    55
    FOE_MBOX_FETCH_ERROR   = 13, /**< Error fetching data from mailbox. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    56
    FOE_READ_NODATA_ERROR  = 14, /**< No data while reading. */
6d9865c37b6f Some more doxygen documentation.
Florian Pose <fp@igh-essen.com>
parents: 1363
diff changeset
    57
    FOE_MBOX_PROT_ERROR    = 15, /**< Mailbox protocol error. */
1335
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    58
} ec_foe_error_t;
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    59
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    60
/*****************************************************************************/
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    61
09c6fce1ae45 merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    62
#endif