master/domain.h
changeset 197 b9a6e2c22745
parent 195 674071846ee3
child 199 04ecf40fc2e9
equal deleted inserted replaced
196:f8a1e9f364a3 197:b9a6e2c22745
     3  *  d o m a i n . h
     3  *  d o m a i n . h
     4  *
     4  *
     5  *  EtherCAT domain structure.
     5  *  EtherCAT domain structure.
     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_DOMAIN_H_
    28 #ifndef _EC_DOMAIN_H_
    12 #define _EC_DOMAIN_H_
    29 #define _EC_DOMAIN_H_
    15 #include <linux/kobject.h>
    32 #include <linux/kobject.h>
    16 
    33 
    17 #include "globals.h"
    34 #include "globals.h"
    18 #include "slave.h"
    35 #include "slave.h"
    19 #include "command.h"
    36 #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 */
    20 
    46 
    21 /*****************************************************************************/
    47 /*****************************************************************************/
    22 
    48 
    23 /**
    49 /**
    24    Data field registration type.
    50    Data field registration type.
    53     uint32_t base_address; /**< logical offset address of the process data */
    79     uint32_t base_address; /**< logical offset address of the process data */
    54     unsigned int response_count; /**< number of responding slaves */
    80     unsigned int response_count; /**< number of responding slaves */
    55     struct list_head field_regs; /**< data field registrations */
    81     struct list_head field_regs; /**< data field registrations */
    56 };
    82 };
    57 
    83 
       
    84 /** \} */
       
    85 
    58 /*****************************************************************************/
    86 /*****************************************************************************/
    59 
    87 
    60 int ec_domain_init(ec_domain_t *, ec_master_t *, unsigned int);
    88 int ec_domain_init(ec_domain_t *, ec_master_t *, unsigned int);
    61 void ec_domain_clear(struct kobject *);
    89 void ec_domain_clear(struct kobject *);
    62 int ec_domain_alloc(ec_domain_t *, uint32_t);
    90 int ec_domain_alloc(ec_domain_t *, uint32_t);