master/domain.h
changeset 199 04ecf40fc2e9
parent 197 b9a6e2c22745
child 246 0bf7c769de06
equal deleted inserted replaced
198:f7dff1ed01ba 199:04ecf40fc2e9
     1 /******************************************************************************
     1 /******************************************************************************
     2  *
       
     3  *  d o m a i n . h
       
     4  *
       
     5  *  EtherCAT domain structure.
       
     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 domain structure.
       
    27 */
       
    28 
       
    29 /*****************************************************************************/
       
    30 
    28 #ifndef _EC_DOMAIN_H_
    31 #ifndef _EC_DOMAIN_H_
    29 #define _EC_DOMAIN_H_
    32 #define _EC_DOMAIN_H_
    30 
    33 
    31 #include <linux/list.h>
    34 #include <linux/list.h>
    32 #include <linux/kobject.h>
    35 #include <linux/kobject.h>
    33 
    36 
    34 #include "globals.h"
    37 #include "globals.h"
    35 #include "slave.h"
    38 #include "slave.h"
    36 #include "command.h"
    39 #include "command.h"
    37 
       
    38 /*****************************************************************************/
       
    39 
       
    40 /**
       
    41    \defgroup Domain EtherCAT domain
       
    42    Data types and methods for EtherCAT domains.
       
    43    A domain handles process data IO with a group of slaves.
       
    44    \{
       
    45 */
       
    46 
    40 
    47 /*****************************************************************************/
    41 /*****************************************************************************/
    48 
    42 
    49 /**
    43 /**
    50    Data field registration type.
    44    Data field registration type.
    79     uint32_t base_address; /**< logical offset address of the process data */
    73     uint32_t base_address; /**< logical offset address of the process data */
    80     unsigned int response_count; /**< number of responding slaves */
    74     unsigned int response_count; /**< number of responding slaves */
    81     struct list_head field_regs; /**< data field registrations */
    75     struct list_head field_regs; /**< data field registrations */
    82 };
    76 };
    83 
    77 
    84 /** \} */
       
    85 
       
    86 /*****************************************************************************/
    78 /*****************************************************************************/
    87 
    79 
    88 int ec_domain_init(ec_domain_t *, ec_master_t *, unsigned int);
    80 int ec_domain_init(ec_domain_t *, ec_master_t *, unsigned int);
    89 void ec_domain_clear(struct kobject *);
    81 void ec_domain_clear(struct kobject *);
    90 int ec_domain_alloc(ec_domain_t *, uint32_t);
    82 int ec_domain_alloc(ec_domain_t *, uint32_t);