master/master.h
changeset 1583 017fa8fd9ac1
parent 1535 0c484ee12d89
child 1585 1f640e321ee4
equal deleted inserted replaced
1582:7273aa7deb3d 1583:017fa8fd9ac1
   111     unsigned int active; /**< Master has been activated. */
   111     unsigned int active; /**< Master has been activated. */
   112     unsigned int injection_seq_fsm; /**< Datagram injection sequence number
   112     unsigned int injection_seq_fsm; /**< Datagram injection sequence number
   113                                       for the FSM side. */
   113                                       for the FSM side. */
   114     unsigned int injection_seq_rt; /**< Datagram injection sequence number
   114     unsigned int injection_seq_rt; /**< Datagram injection sequence number
   115                                      for the realtime side. */
   115                                      for the realtime side. */
       
   116 
   116 
   117 
   117     ec_slave_t *slaves; /**< Array of slaves on the bus. */
   118     ec_slave_t *slaves; /**< Array of slaves on the bus. */
   118     unsigned int slave_count; /**< Number of slaves on the bus. */
   119     unsigned int slave_count; /**< Number of slaves on the bus. */
   119 
   120 
   120     struct list_head configs; /**< List of slave configurations. */
   121     struct list_head configs; /**< List of slave configurations. */
   151     struct list_head ext_datagram_queue; /**< Queue for non-application
   152     struct list_head ext_datagram_queue; /**< Queue for non-application
   152                                            datagrams. */
   153                                            datagrams. */
   153     struct semaphore ext_queue_sem; /**< Semaphore protecting the \a
   154     struct semaphore ext_queue_sem; /**< Semaphore protecting the \a
   154                                       ext_datagram_queue. */
   155                                       ext_datagram_queue. */
   155 
   156 
       
   157     struct list_head sdo_datagram_queue; /**< SDO Datagram queue. */
       
   158 
   156     struct list_head domains; /**< List of domains. */
   159     struct list_head domains; /**< List of domains. */
   157 
   160 
   158     unsigned int debug_level; /**< Master debug level. */
   161     unsigned int debug_level; /**< Master debug level. */
   159     ec_stats_t stats; /**< Cyclic statistics. */
   162     ec_stats_t stats; /**< Cyclic statistics. */
   160     unsigned int frames_timed_out; /**< There were frame timeouts in the last
   163     unsigned int frames_timed_out; /**< There were frame timeouts in the last
   218 
   221 
   219 // datagram IO
   222 // datagram IO
   220 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t);
   223 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t);
   221 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *);
   224 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *);
   222 void ec_master_queue_datagram_ext(ec_master_t *, ec_datagram_t *);
   225 void ec_master_queue_datagram_ext(ec_master_t *, ec_datagram_t *);
       
   226 void ec_master_queue_sdo_datagram(ec_master_t *, ec_datagram_t *);
       
   227 void ec_master_inject_sdo_datagrams(ec_master_t *);
   223 
   228 
   224 // misc.
   229 // misc.
   225 void ec_master_attach_slave_configs(ec_master_t *);
   230 void ec_master_attach_slave_configs(ec_master_t *);
   226 ec_slave_t *ec_master_find_slave(ec_master_t *, uint16_t, uint16_t);
   231 ec_slave_t *ec_master_find_slave(ec_master_t *, uint16_t, uint16_t);
   227 const ec_slave_t *ec_master_find_slave_const(const ec_master_t *, uint16_t,
   232 const ec_slave_t *ec_master_find_slave_const(const ec_master_t *, uint16_t,