master/master.h
changeset 571 deb7fcb92dd7
parent 556 dc5829af044d
child 573 cdee4ea90ce9
equal deleted inserted replaced
570:474f9d643372 571:deb7fcb92dd7
    47 #include <asm/atomic.h>
    47 #include <asm/atomic.h>
    48 #include <asm/semaphore.h>
    48 #include <asm/semaphore.h>
    49 
    49 
    50 #include "device.h"
    50 #include "device.h"
    51 #include "domain.h"
    51 #include "domain.h"
    52 #include "xmldev.h"
       
    53 #include "fsm_master.h"
    52 #include "fsm_master.h"
    54 
    53 
    55 /*****************************************************************************/
    54 /*****************************************************************************/
    56 
    55 
    57 /**
    56 /**
   100     struct kobject kobj; /**< kobject */
    99     struct kobject kobj; /**< kobject */
   101 
   100 
   102     ec_device_t *device; /**< EtherCAT device */
   101     ec_device_t *device; /**< EtherCAT device */
   103     struct semaphore device_sem; /**< device semaphore */
   102     struct semaphore device_sem; /**< device semaphore */
   104 
   103 
   105     ec_xmldev_t xmldev; /**< XML character device */
       
   106 
       
   107     ec_fsm_master_t fsm; /**< master state machine */
   104     ec_fsm_master_t fsm; /**< master state machine */
   108     ec_datagram_t fsm_datagram; /**< datagram used for state machines */
   105     ec_datagram_t fsm_datagram; /**< datagram used for state machines */
   109     ec_master_mode_t mode; /**< master mode */
   106     ec_master_mode_t mode; /**< master mode */
   110 
   107 
   111     struct list_head slaves; /**< list of slaves on the bus */
   108     struct list_head slaves; /**< list of slaves on the bus */
   148 };
   145 };
   149 
   146 
   150 /*****************************************************************************/
   147 /*****************************************************************************/
   151 
   148 
   152 // master creation/deletion
   149 // master creation/deletion
   153 int ec_master_init(ec_master_t *, unsigned int, unsigned int, dev_t);
   150 int ec_master_init(ec_master_t *, unsigned int, unsigned int);
   154 void ec_master_destroy(ec_master_t *);
   151 void ec_master_destroy(ec_master_t *);
   155 
   152 
   156 // mode transitions
   153 // mode transitions
   157 int ec_master_enter_idle_mode(ec_master_t *);
   154 int ec_master_enter_idle_mode(ec_master_t *);
   158 void ec_master_leave_idle_mode(ec_master_t *);
   155 void ec_master_leave_idle_mode(ec_master_t *);