master/master.h
changeset 446 8fede404c01f
parent 441 ffa13db95e10
child 448 e4b76dc7910c
equal deleted inserted replaced
445:3b7eec329112 446:8fede404c01f
   146     struct completion sdo_complete; /**< SDO request completion object */
   146     struct completion sdo_complete; /**< SDO request completion object */
   147 };
   147 };
   148 
   148 
   149 /*****************************************************************************/
   149 /*****************************************************************************/
   150 
   150 
   151 // master creation and deletion
   151 // master creation
   152 int ec_master_init(ec_master_t *, unsigned int, unsigned int, dev_t);
   152 int ec_master_init(ec_master_t *, unsigned int, unsigned int, dev_t);
   153 void ec_master_reset(ec_master_t *);
       
   154 
   153 
   155 // free run
   154 // mode transitions
   156 void ec_master_idle_start(ec_master_t *);
   155 int ec_master_enter_idle_mode(ec_master_t *);
   157 void ec_master_idle_stop(ec_master_t *);
   156 void ec_master_leave_idle_mode(ec_master_t *);
       
   157 int ec_master_enter_operation_mode(ec_master_t *);
       
   158 void ec_master_leave_operation_mode(ec_master_t *);
   158 
   159 
   159 // EoE
   160 // EoE
   160 void ec_master_eoe_start(ec_master_t *);
   161 void ec_master_eoe_start(ec_master_t *);
   161 void ec_master_eoe_stop(ec_master_t *);
   162 void ec_master_eoe_stop(ec_master_t *);
   162 
   163 
   163 // IO
   164 // datagram IO
   164 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t);
   165 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t);
   165 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *);
   166 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *);
   166 
       
   167 // slave management
       
   168 int ec_master_bus_scan(ec_master_t *);
       
   169 
   167 
   170 // misc.
   168 // misc.
   171 void ec_master_output_stats(ec_master_t *);
   169 void ec_master_output_stats(ec_master_t *);
   172 void ec_master_clear_slaves(ec_master_t *);
   170 void ec_master_clear_slaves(ec_master_t *);
   173 int ec_master_measure_bus_time(ec_master_t *);
   171 void ec_master_calc_addressing(ec_master_t *);
   174 
   172 
   175 // other methods
   173 // helper functions
   176 void ec_sync_config(const ec_sii_sync_t *, const ec_slave_t *, uint8_t *);
   174 void ec_sync_config(const ec_sii_sync_t *, const ec_slave_t *, uint8_t *);
   177 void ec_fmmu_config(const ec_fmmu_t *, const ec_slave_t *, uint8_t *);
   175 void ec_fmmu_config(const ec_fmmu_t *, const ec_slave_t *, uint8_t *);
   178 void ec_master_calc_addressing(ec_master_t *);
       
   179 void ec_master_flush_sdo_requests(ec_master_t *);
       
   180 
   176 
   181 /*****************************************************************************/
   177 /*****************************************************************************/
   182 
   178 
   183 #endif
   179 #endif