master/master.h
changeset 1939 1ba48f78a0a5
parent 1930 59a50053ccc6
child 1995 7d748d9cf9e8
child 2115 2ec1239216e5
equal deleted inserted replaced
1938:6fdf92512b65 1939:1ba48f78a0a5
   168     unsigned int injection_seq_fsm; /**< Datagram injection sequence number
   168     unsigned int injection_seq_fsm; /**< Datagram injection sequence number
   169                                       for the FSM side. */
   169                                       for the FSM side. */
   170     unsigned int injection_seq_rt; /**< Datagram injection sequence number
   170     unsigned int injection_seq_rt; /**< Datagram injection sequence number
   171                                      for the realtime side. */
   171                                      for the realtime side. */
   172 
   172 
   173 
       
   174     ec_slave_t *slaves; /**< Array of slaves on the bus. */
   173     ec_slave_t *slaves; /**< Array of slaves on the bus. */
   175     unsigned int slave_count; /**< Number of slaves on the bus. */
   174     unsigned int slave_count; /**< Number of slaves on the bus. */
   176 
   175 
       
   176     /* Configuration applied by the application. */
   177     struct list_head configs; /**< List of slave configurations. */
   177     struct list_head configs; /**< List of slave configurations. */
       
   178     struct list_head domains; /**< List of domains. */
   178     
   179     
   179     u64 app_time; /**< Time of the last ecrt_master_sync() call. */
   180     u64 app_time; /**< Time of the last ecrt_master_sync() call. */
   180     u64 app_start_time; /**< Application start time. */
   181     u64 app_start_time; /**< Application start time. */
   181     u8 has_app_time; /**< Application time is valid. */
   182     u8 has_app_time; /**< Application time is valid. */
   182     ec_datagram_t ref_sync_datagram; /**< Datagram used for synchronizing the
   183     ec_datagram_t ref_sync_datagram; /**< Datagram used for synchronizing the
   211                                       ext_datagram_queue. */
   212                                       ext_datagram_queue. */
   212 
   213 
   213     struct list_head external_datagram_queue; /**< External Datagram queue. */
   214     struct list_head external_datagram_queue; /**< External Datagram queue. */
   214     unsigned int send_interval; /**< Interval between calls to ecrt_master_send */
   215     unsigned int send_interval; /**< Interval between calls to ecrt_master_send */
   215     size_t max_queue_size; /**< Maximum size of datagram queue */
   216     size_t max_queue_size; /**< Maximum size of datagram queue */
   216     struct list_head domains; /**< List of domains. */
       
   217 
   217 
   218     unsigned int debug_level; /**< Master debug level. */
   218     unsigned int debug_level; /**< Master debug level. */
   219     ec_stats_t stats; /**< Cyclic statistics. */
   219     ec_stats_t stats; /**< Cyclic statistics. */
   220 
   220 
   221     struct task_struct *thread; /**< Master thread. */
   221     struct task_struct *thread; /**< Master thread. */
   240     wait_queue_head_t sii_queue; /**< Wait queue for SII
   240     wait_queue_head_t sii_queue; /**< Wait queue for SII
   241                                       write requests from user space. */
   241                                       write requests from user space. */
   242 
   242 
   243     struct list_head reg_requests; /**< Register requests. */
   243     struct list_head reg_requests; /**< Register requests. */
   244     wait_queue_head_t reg_queue; /**< Wait queue for register requests. */
   244     wait_queue_head_t reg_queue; /**< Wait queue for register requests. */
   245 
       
   246 };
   245 };
   247 
   246 
   248 /*****************************************************************************/
   247 /*****************************************************************************/
   249 
   248 
   250 // static funtions
   249 // static funtions