master/master.h
changeset 2021 ee30e7f90c2e
parent 2020 47db5df5c7b3
child 2024 96e2ae6cce95
equal deleted inserted replaced
2020:47db5df5c7b3 2021:ee30e7f90c2e
   208                                       slave configuration. */
   208                                       slave configuration. */
   209 
   209 
   210     struct list_head datagram_queue; /**< Datagram queue. */
   210     struct list_head datagram_queue; /**< Datagram queue. */
   211     uint8_t datagram_index; /**< Current datagram index. */
   211     uint8_t datagram_index; /**< Current datagram index. */
   212 
   212 
   213     struct list_head ext_datagram_queue; /**< Queue for non-application
   213     struct semaphore fsm_queue_sem; /**< Semaphore protecting the \a
   214                                            datagrams. */
   214                                       fsm_datagram_queue. */
   215     struct semaphore ext_queue_sem; /**< Semaphore protecting the \a
       
   216                                       ext_datagram_queue. */
       
   217 
       
   218     struct list_head fsm_datagram_queue; /**< External Datagram queue. */
   215     struct list_head fsm_datagram_queue; /**< External Datagram queue. */
       
   216 
   219     unsigned int send_interval; /**< Interval between calls to ecrt_master_send */
   217     unsigned int send_interval; /**< Interval between calls to ecrt_master_send */
   220     size_t max_queue_size; /**< Maximum size of datagram queue */
   218     size_t max_queue_size; /**< Maximum size of datagram queue */
   221 
   219 
   222     unsigned int debug_level; /**< Master debug level. */
   220     unsigned int debug_level; /**< Master debug level. */
   223     ec_stats_t stats; /**< Cyclic statistics. */
   221     ec_stats_t stats; /**< Cyclic statistics. */
   265 void ec_master_leave_operation_phase(ec_master_t *);
   263 void ec_master_leave_operation_phase(ec_master_t *);
   266 
   264 
   267 // datagram IO
   265 // datagram IO
   268 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t);
   266 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t);
   269 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *);
   267 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *);
   270 void ec_master_queue_datagram_ext(ec_master_t *, ec_datagram_t *);
       
   271 void ec_master_queue_request_fsm_datagram(ec_master_t *, ec_datagram_t *);
   268 void ec_master_queue_request_fsm_datagram(ec_master_t *, ec_datagram_t *);
   272 void ec_master_queue_fsm_datagram(ec_master_t *, ec_datagram_t *);
   269 void ec_master_queue_fsm_datagram(ec_master_t *, ec_datagram_t *);
   273 void ec_master_inject_fsm_datagrams(ec_master_t *);
   270 void ec_master_inject_fsm_datagrams(ec_master_t *);
   274 
   271 
   275 // misc.
   272 // misc.