102 struct list_head datagram_queue; /**< datagram queue */ |
102 struct list_head datagram_queue; /**< datagram queue */ |
103 uint8_t datagram_index; /**< current datagram index */ |
103 uint8_t datagram_index; /**< current datagram index */ |
104 |
104 |
105 struct list_head domains; /**< list of domains */ |
105 struct list_head domains; /**< list of domains */ |
106 |
106 |
107 ec_datagram_t simple_datagram; /**< datagram structure for |
|
108 initialization */ |
|
109 unsigned int timeout; /**< timeout in synchronous IO */ |
|
110 |
|
111 int debug_level; /**< master debug level */ |
107 int debug_level; /**< master debug level */ |
112 ec_stats_t stats; /**< cyclic statistics */ |
108 ec_stats_t stats; /**< cyclic statistics */ |
113 |
109 |
114 struct workqueue_struct *workqueue; /**< master workqueue */ |
110 struct workqueue_struct *workqueue; /**< master workqueue */ |
115 struct work_struct idle_work; /**< free run work object */ |
111 struct work_struct idle_work; /**< free run work object */ |
143 void ec_master_eoe_stop(ec_master_t *); |
139 void ec_master_eoe_stop(ec_master_t *); |
144 |
140 |
145 // IO |
141 // IO |
146 void ec_master_receive(ec_master_t *, const uint8_t *, size_t); |
142 void ec_master_receive(ec_master_t *, const uint8_t *, size_t); |
147 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *); |
143 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *); |
148 int ec_master_simple_io(ec_master_t *, ec_datagram_t *); |
|
149 |
144 |
150 // slave management |
145 // slave management |
151 int ec_master_bus_scan(ec_master_t *); |
146 int ec_master_bus_scan(ec_master_t *); |
152 |
147 |
153 // misc. |
148 // misc. |
|
149 void ec_master_output_stats(ec_master_t *); |
154 void ec_master_clear_slaves(ec_master_t *); |
150 void ec_master_clear_slaves(ec_master_t *); |
155 void ec_sync_config(const ec_sync_t *, const ec_slave_t *, uint8_t *); |
151 |
156 void ec_eeprom_sync_config(const ec_eeprom_sync_t *, const ec_slave_t *, |
152 // other methods |
157 uint8_t *); |
153 void ec_sync_config(const ec_sii_sync_t *, const ec_slave_t *, uint8_t *); |
158 void ec_fmmu_config(const ec_fmmu_t *, const ec_slave_t *, uint8_t *); |
154 void ec_fmmu_config(const ec_fmmu_t *, const ec_slave_t *, uint8_t *); |
159 void ec_master_output_stats(ec_master_t *); |
155 void ec_master_calc_addressing(ec_master_t *); |
160 |
156 |
161 /*****************************************************************************/ |
157 /*****************************************************************************/ |
162 |
158 |
163 #endif |
159 #endif |