master/types.h
changeset 197 b9a6e2c22745
parent 195 674071846ee3
child 199 04ecf40fc2e9
equal deleted inserted replaced
196:f8a1e9f364a3 197:b9a6e2c22745
     3  *  t y p e s . h
     3  *  t y p e s . h
     4  *
     4  *
     5  *  EtherCAT slave types.
     5  *  EtherCAT slave types.
     6  *
     6  *
     7  *  $Id$
     7  *  $Id$
       
     8  *
       
     9  *  Copyright (C) 2006  Florian Pose, Ingenieurgemeinschaft IgH
       
    10  *
       
    11  *  This file is part of the IgH EtherCAT Master.
       
    12  *
       
    13  *  The IgH EtherCAT Master is free software; you can redistribute it
       
    14  *  and/or modify it under the terms of the GNU General Public License
       
    15  *  as published by the Free Software Foundation; version 2 of the License.
       
    16  *
       
    17  *  The IgH EtherCAT Master is distributed in the hope that it will be
       
    18  *  useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    19  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    20  *  GNU General Public License for more details.
       
    21  *
       
    22  *  You should have received a copy of the GNU General Public License
       
    23  *  along with the IgH EtherCAT Master; if not, write to the Free Software
       
    24  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     8  *
    25  *
     9  *****************************************************************************/
    26  *****************************************************************************/
    10 
    27 
    11 #ifndef _EC_TYPES_H_
    28 #ifndef _EC_TYPES_H_
    12 #define _EC_TYPES_H_
    29 #define _EC_TYPES_H_
    22 
    39 
    23 /*****************************************************************************/
    40 /*****************************************************************************/
    24 
    41 
    25 /**
    42 /**
    26    Special slaves.
    43    Special slaves.
       
    44    \ingroup Slave
    27 */
    45 */
    28 
    46 
    29 typedef enum
    47 typedef enum
    30 {
    48 {
    31     EC_TYPE_NORMAL, /**< no special slave */
    49     EC_TYPE_NORMAL, /**< no special slave */
    36 
    54 
    37 /*****************************************************************************/
    55 /*****************************************************************************/
    38 
    56 
    39 /**
    57 /**
    40    Process data field.
    58    Process data field.
       
    59    \ingroup Slave
    41 */
    60 */
    42 
    61 
    43 typedef struct
    62 typedef struct
    44 {
    63 {
    45     const char *name; /**< field name */
    64     const char *name; /**< field name */
    49 
    68 
    50 /*****************************************************************************/
    69 /*****************************************************************************/
    51 
    70 
    52 /**
    71 /**
    53    Sync-Manager.
    72    Sync-Manager.
       
    73    \ingroup Slave
    54 */
    74 */
    55 
    75 
    56 typedef struct
    76 typedef struct
    57 {
    77 {
    58     uint16_t physical_start_address; /**< physical start address */
    78     uint16_t physical_start_address; /**< physical start address */
    64 
    84 
    65 /*****************************************************************************/
    85 /*****************************************************************************/
    66 
    86 
    67 /**
    87 /**
    68    Slave description type.
    88    Slave description type.
       
    89    \ingroup Slave
    69 */
    90 */
    70 
    91 
    71 typedef struct ec_slave_type
    92 typedef struct ec_slave_type
    72 {
    93 {
    73     const char *vendor_name; /**< vendor name*/
    94     const char *vendor_name; /**< vendor name*/
    80 
   101 
    81 /*****************************************************************************/
   102 /*****************************************************************************/
    82 
   103 
    83 /**
   104 /**
    84    Slave type identification.
   105    Slave type identification.
       
   106    \ingroup Slave
    85 */
   107 */
    86 
   108 
    87 typedef struct
   109 typedef struct
    88 {
   110 {
    89     uint32_t vendor_id; /**< vendor id */
   111     uint32_t vendor_id; /**< vendor id */