master/domain.h
changeset 818 b6c87ae254c9
parent 809 ec4ef8911824
child 883 4963e22a267a
equal deleted inserted replaced
817:118dea2fa505 818:b6c87ae254c9
    45 #include <linux/kobject.h>
    45 #include <linux/kobject.h>
    46 
    46 
    47 #include "globals.h"
    47 #include "globals.h"
    48 #include "datagram.h"
    48 #include "datagram.h"
    49 #include "master.h"
    49 #include "master.h"
       
    50 #include "fmmu_config.h"
    50 
    51 
    51 /*****************************************************************************/
    52 /*****************************************************************************/
    52 
    53 
    53 /**
    54 /**
    54    EtherCAT domain.
    55    EtherCAT domain.
    61     struct kobject kobj; /**< kobject. */
    62     struct kobject kobj; /**< kobject. */
    62     struct list_head list; /**< List item. */
    63     struct list_head list; /**< List item. */
    63     ec_master_t *master; /**< EtherCAT master owning the domain. */
    64     ec_master_t *master; /**< EtherCAT master owning the domain. */
    64     unsigned int index; /**< Index (just a number). */
    65     unsigned int index; /**< Index (just a number). */
    65     size_t data_size; /**< Size of the process data. */
    66     size_t data_size; /**< Size of the process data. */
       
    67     unsigned int expected_working_counter; /**< Expected working counter. */
    66     uint8_t *data; /**< Memory for the process data. */
    68     uint8_t *data; /**< Memory for the process data. */
    67     ec_origin_t data_origin; /**< Origin of the \a data memory. */
    69     ec_origin_t data_origin; /**< Origin of the \a data memory. */
    68     struct list_head datagrams; /**< Datagrams for process data exchange. */
    70     struct list_head datagrams; /**< Datagrams for process data exchange. */
    69     uint32_t logical_base_address; /**< Logical offset address of the
    71     uint32_t logical_base_address; /**< Logical offset address of the
    70                                      process data. */
    72                                      process data. */
    78 /*****************************************************************************/
    80 /*****************************************************************************/
    79 
    81 
    80 int ec_domain_init(ec_domain_t *, ec_master_t *, unsigned int);
    82 int ec_domain_init(ec_domain_t *, ec_master_t *, unsigned int);
    81 void ec_domain_destroy(ec_domain_t *);
    83 void ec_domain_destroy(ec_domain_t *);
    82 
    84 
       
    85 void ec_domain_add_fmmu_config(ec_domain_t *, ec_fmmu_config_t *);
    83 int ec_domain_finish(ec_domain_t *, uint32_t);
    86 int ec_domain_finish(ec_domain_t *, uint32_t);
    84 
    87 
    85 /*****************************************************************************/
    88 /*****************************************************************************/
    86 
    89 
    87 #endif
    90 #endif