master/types.h
changeset 199 04ecf40fc2e9
parent 197 b9a6e2c22745
child 246 0bf7c769de06
equal deleted inserted replaced
198:f7dff1ed01ba 199:04ecf40fc2e9
     1 /******************************************************************************
     1 /******************************************************************************
     2  *
       
     3  *  t y p e s . h
       
     4  *
       
     5  *  EtherCAT slave types.
       
     6  *
     2  *
     7  *  $Id$
     3  *  $Id$
     8  *
     4  *
     9  *  Copyright (C) 2006  Florian Pose, Ingenieurgemeinschaft IgH
     5  *  Copyright (C) 2006  Florian Pose, Ingenieurgemeinschaft IgH
    10  *
     6  *
    23  *  along with the IgH EtherCAT Master; if not, write to the Free Software
    19  *  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
    20  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    25  *
    21  *
    26  *****************************************************************************/
    22  *****************************************************************************/
    27 
    23 
       
    24 /**
       
    25    \file
       
    26    EtherCAT slave types.
       
    27 */
       
    28 
       
    29 /*****************************************************************************/
       
    30 
    28 #ifndef _EC_TYPES_H_
    31 #ifndef _EC_TYPES_H_
    29 #define _EC_TYPES_H_
    32 #define _EC_TYPES_H_
    30 
    33 
    31 #include <linux/types.h>
    34 #include <linux/types.h>
    32 
    35 
    39 
    42 
    40 /*****************************************************************************/
    43 /*****************************************************************************/
    41 
    44 
    42 /**
    45 /**
    43    Special slaves.
    46    Special slaves.
    44    \ingroup Slave
       
    45 */
    47 */
    46 
    48 
    47 typedef enum
    49 typedef enum
    48 {
    50 {
    49     EC_TYPE_NORMAL, /**< no special slave */
    51     EC_TYPE_NORMAL, /**< no special slave */
    54 
    56 
    55 /*****************************************************************************/
    57 /*****************************************************************************/
    56 
    58 
    57 /**
    59 /**
    58    Process data field.
    60    Process data field.
    59    \ingroup Slave
       
    60 */
    61 */
    61 
    62 
    62 typedef struct
    63 typedef struct
    63 {
    64 {
    64     const char *name; /**< field name */
    65     const char *name; /**< field name */
    67 ec_field_t;
    68 ec_field_t;
    68 
    69 
    69 /*****************************************************************************/
    70 /*****************************************************************************/
    70 
    71 
    71 /**
    72 /**
    72    Sync-Manager.
    73    Sync manager.
    73    \ingroup Slave
       
    74 */
    74 */
    75 
    75 
    76 typedef struct
    76 typedef struct
    77 {
    77 {
    78     uint16_t physical_start_address; /**< physical start address */
    78     uint16_t physical_start_address; /**< physical start address */
    84 
    84 
    85 /*****************************************************************************/
    85 /*****************************************************************************/
    86 
    86 
    87 /**
    87 /**
    88    Slave description type.
    88    Slave description type.
    89    \ingroup Slave
       
    90 */
    89 */
    91 
    90 
    92 typedef struct ec_slave_type
    91 typedef struct ec_slave_type
    93 {
    92 {
    94     const char *vendor_name; /**< vendor name*/
    93     const char *vendor_name; /**< vendor name*/
   101 
   100 
   102 /*****************************************************************************/
   101 /*****************************************************************************/
   103 
   102 
   104 /**
   103 /**
   105    Slave type identification.
   104    Slave type identification.
   106    \ingroup Slave
       
   107 */
   105 */
   108 
   106 
   109 typedef struct
   107 typedef struct
   110 {
   108 {
   111     uint32_t vendor_id; /**< vendor id */
   109     uint32_t vendor_id; /**< vendor id */