master/master.h
changeset 1925 29161abef052
parent 1921 d9cf40facbc4
child 1930 59a50053ccc6
child 1989 6aa393418fb3
equal deleted inserted replaced
1924:2917b262554b 1925:29161abef052
   162 
   162 
   163     ec_fsm_master_t fsm; /**< Master state machine. */
   163     ec_fsm_master_t fsm; /**< Master state machine. */
   164     ec_datagram_t fsm_datagram; /**< Datagram used for state machines. */
   164     ec_datagram_t fsm_datagram; /**< Datagram used for state machines. */
   165     ec_master_phase_t phase; /**< Master phase. */
   165     ec_master_phase_t phase; /**< Master phase. */
   166     unsigned int active; /**< Master has been activated. */
   166     unsigned int active; /**< Master has been activated. */
       
   167     unsigned int config_changed; /**< The configuration changed. */
   167     unsigned int injection_seq_fsm; /**< Datagram injection sequence number
   168     unsigned int injection_seq_fsm; /**< Datagram injection sequence number
   168                                       for the FSM side. */
   169                                       for the FSM side. */
   169     unsigned int injection_seq_rt; /**< Datagram injection sequence number
   170     unsigned int injection_seq_rt; /**< Datagram injection sequence number
   170                                      for the realtime side. */
   171                                      for the realtime side. */
   171 
   172 
   175 
   176 
   176     struct list_head configs; /**< List of slave configurations. */
   177     struct list_head configs; /**< List of slave configurations. */
   177     
   178     
   178     u64 app_time; /**< Time of the last ecrt_master_sync() call. */
   179     u64 app_time; /**< Time of the last ecrt_master_sync() call. */
   179     u64 app_start_time; /**< Application start time. */
   180     u64 app_start_time; /**< Application start time. */
   180     u8 has_start_time; /**< Start time already taken. */
   181     u8 has_app_time; /**< Application time is valid. */
   181     ec_datagram_t ref_sync_datagram; /**< Datagram used for synchronizing the
   182     ec_datagram_t ref_sync_datagram; /**< Datagram used for synchronizing the
   182                                        reference clock to the master clock. */
   183                                        reference clock to the master clock. */
   183     ec_datagram_t sync_datagram; /**< Datagram used for DC drift
   184     ec_datagram_t sync_datagram; /**< Datagram used for DC drift
   184                                    compensation. */
   185                                    compensation. */
   185     ec_datagram_t sync_mon_datagram; /**< Datagram used for DC synchronisation
   186     ec_datagram_t sync_mon_datagram; /**< Datagram used for DC synchronisation
   304 ec_domain_t *ecrt_master_create_domain_err(ec_master_t *);
   305 ec_domain_t *ecrt_master_create_domain_err(ec_master_t *);
   305 ec_slave_config_t *ecrt_master_slave_config_err(ec_master_t *, uint16_t,
   306 ec_slave_config_t *ecrt_master_slave_config_err(ec_master_t *, uint16_t,
   306         uint16_t, uint32_t, uint32_t);
   307         uint16_t, uint32_t, uint32_t);
   307 
   308 
   308 void ec_master_calc_dc(ec_master_t *);
   309 void ec_master_calc_dc(ec_master_t *);
       
   310 void ec_master_request_op(ec_master_t *);
   309 
   311 
   310 void ec_master_internal_send_cb(void *);
   312 void ec_master_internal_send_cb(void *);
   311 void ec_master_internal_receive_cb(void *);
   313 void ec_master_internal_receive_cb(void *);
   312 
   314 
   313 /*****************************************************************************/
   315 /*****************************************************************************/