include/ecdb.h
author Florian Pose <fp@igh-essen.com>
Thu, 02 Nov 2006 19:08:06 +0000
changeset 473 e34754cd973e
parent 416 4f007cd2a79d
child 640 16e9ad7d8e12
permissions -rw-r--r--
Added device module for kernel 2.6.17. Still slow?
325
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     1
/******************************************************************************
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     2
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     3
 *  $Id$
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     4
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     5
 *  Copyright (C) 2006  Florian Pose, Ingenieurgemeinschaft IgH
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     6
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     7
 *  This file is part of the IgH EtherCAT Master.
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     8
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     9
 *  The IgH EtherCAT Master is free software; you can redistribute it
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    10
 *  and/or modify it under the terms of the GNU General Public License
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    11
 *  as published by the Free Software Foundation; either version 2 of the
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    12
 *  License, or (at your option) any later version.
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    13
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    14
 *  The IgH EtherCAT Master is distributed in the hope that it will be
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    15
 *  useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    16
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    17
 *  GNU General Public License for more details.
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    18
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    19
 *  You should have received a copy of the GNU General Public License
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    20
 *  along with the IgH EtherCAT Master; if not, write to the Free Software
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    21
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    22
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    23
 *  The right to use EtherCAT Technology is granted and comes free of
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    24
 *  charge under condition of compatibility of product made by
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    25
 *  Licensee. People intending to distribute/sell products based on the
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    26
 *  code, have to sign an agreement to guarantee that products using
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    27
 *  software based on IgH EtherCAT master stay compatible with the actual
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    28
 *  EtherCAT specification (which are released themselves as an open
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    29
 *  standard) as the (only) precondition to have the right to use EtherCAT
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    30
 *  Technology, IP and trade marks.
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    31
 *
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    32
 *****************************************************************************/
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    33
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    34
/**
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    35
   \file
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    36
   EtherCAT Slave Database.
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    37
*/
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    38
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    39
/*****************************************************************************/
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    40
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    41
#ifndef __ECDB_H__
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    42
#define __ECDB_H__
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    43
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    44
/*****************************************************************************/
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    45
343
b3858d25ba4b Added missing code documentation.
Florian Pose <fp@igh-essen.com>
parents: 327
diff changeset
    46
/** \cond */
b3858d25ba4b Added missing code documentation.
Florian Pose <fp@igh-essen.com>
parents: 327
diff changeset
    47
416
4f007cd2a79d ecrt_domain_register_pdo_range() implemented.
Florian Pose <fp@igh-essen.com>
parents: 389
diff changeset
    48
#define Beckhoff_BK1120 0x00000002, 0x04602C22
4f007cd2a79d ecrt_domain_register_pdo_range() implemented.
Florian Pose <fp@igh-essen.com>
parents: 389
diff changeset
    49
352
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    50
#define Beckhoff_EL1004_Inputs 0x00000002, 0x03EC3052, 0x3101, 1
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    51
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    52
#define Beckhoff_EL1014_Inputs 0x00000002, 0x03F63052, 0x3101, 1
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    53
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    54
#define Beckhoff_EL2004_Outputs 0x00000002, 0x07D43052, 0x3001, 1
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    55
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    56
#define Beckhoff_EL2032_Outputs 0x00000002, 0x07F03052, 0x3001, 1
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    57
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    58
#define Beckhoff_EL3102_Status1 0x00000002, 0x0C1E3052, 0x3101, 1
389
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    59
#define Beckhoff_EL3102_Input1  0x00000002, 0x0C1E3052, 0x3101, 2
352
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    60
#define Beckhoff_EL3102_Status2 0x00000002, 0x0C1E3052, 0x3102, 1
389
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    61
#define Beckhoff_EL3102_Input2  0x00000002, 0x0C1E3052, 0x3102, 2
352
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    62
384
7e939b2d958c EL3152 hinzugef?gt
Andreas Stewering-Bone <ab@igh-essen.com>
parents: 352
diff changeset
    63
#define Beckhoff_EL3152_Status1 0x00000002, 0x0C503052, 0x3101, 1
389
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    64
#define Beckhoff_EL3152_Input1  0x00000002, 0x0C503052, 0x3101, 2
384
7e939b2d958c EL3152 hinzugef?gt
Andreas Stewering-Bone <ab@igh-essen.com>
parents: 352
diff changeset
    65
#define Beckhoff_EL3152_Status2 0x00000002, 0x0C503052, 0x3102, 1
389
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    66
#define Beckhoff_EL3152_Input2  0x00000002, 0x0C503052, 0x3102, 2
384
7e939b2d958c EL3152 hinzugef?gt
Andreas Stewering-Bone <ab@igh-essen.com>
parents: 352
diff changeset
    67
352
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    68
#define Beckhoff_EL3162_Status1 0x00000002, 0x0C5A3052, 0x3101, 1
389
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    69
#define Beckhoff_EL3162_Input1  0x00000002, 0x0C5A3052, 0x3101, 2
352
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    70
#define Beckhoff_EL3162_Status2 0x00000002, 0x0C5A3052, 0x3102, 1
389
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    71
#define Beckhoff_EL3162_Input2  0x00000002, 0x0C5A3052, 0x3102, 2
352
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    72
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    73
#define Beckhoff_EL4102_Output1 0x00000002, 0x10063052, 0x6411, 1
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    74
#define Beckhoff_EL4102_Output2 0x00000002, 0x10063052, 0x6411, 2
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    75
325
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    76
#define Beckhoff_EL4132_Output1 0x00000002, 0x10243052, 0x6411, 1
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    77
#define Beckhoff_EL4132_Output2 0x00000002, 0x10243052, 0x6411, 2
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    78
327
9668891c1924 Added Beckhoff EL5001 to slave DB.
Florian Pose <fp@igh-essen.com>
parents: 325
diff changeset
    79
#define Beckhoff_EL5001_Status 0x00000002, 0x13893052, 0x3101, 1
9668891c1924 Added Beckhoff EL5001 to slave DB.
Florian Pose <fp@igh-essen.com>
parents: 325
diff changeset
    80
#define Beckhoff_EL5001_Value  0x00000002, 0x13893052, 0x3101, 2
9668891c1924 Added Beckhoff EL5001 to slave DB.
Florian Pose <fp@igh-essen.com>
parents: 325
diff changeset
    81
389
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    82
#define Beckhoff_EL5101_Status      0x00000002, 0x13ED3052, 0x6000, 1
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    83
#define Beckhoff_EL5101_Value       0x00000002, 0x13ED3052, 0x6000, 2
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    84
#define Beckhoff_EL5101_Latch       0x00000002, 0x13ED3052, 0x6000, 3
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    85
#define Beckhoff_EL5101_Frequency   0x00000002, 0x13ED3052, 0x6000, 4
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    86
#define Beckhoff_EL5101_Period      0x00000002, 0x13ED3052, 0x6000, 5
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    87
#define Beckhoff_EL5101_Window      0x00000002, 0x13ED3052, 0x6000, 6
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    88
#define Beckhoff_EL5101_Ctrl        0x00000002, 0x13ED3052, 0x7000, 1
33b993f5ade8 Added EL5101 PDOs to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 384
diff changeset
    89
#define Beckhoff_EL5101_OutputValue 0x00000002, 0x13ED3052, 0x7000, 2
352
3f79f0637c60 Added PDO defines to ecdb.h
Florian Pose <fp@igh-essen.com>
parents: 343
diff changeset
    90
343
b3858d25ba4b Added missing code documentation.
Florian Pose <fp@igh-essen.com>
parents: 327
diff changeset
    91
/** \endcond */
b3858d25ba4b Added missing code documentation.
Florian Pose <fp@igh-essen.com>
parents: 327
diff changeset
    92
325
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    93
/*****************************************************************************/
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    94
7833cf70c4f2 VERSION 1.1: New realtime interface, only state machines.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    95
#endif