46 |
46 |
47 void ec_sdo_request_clear_data(ec_sdo_request_t *); |
47 void ec_sdo_request_clear_data(ec_sdo_request_t *); |
48 |
48 |
49 /*****************************************************************************/ |
49 /*****************************************************************************/ |
50 |
50 |
|
51 /** State type translation table. |
|
52 */ |
|
53 const ec_sdo_request_state_t state_table[] = { |
|
54 EC_SDO_REQUEST_UNUSED, // EC_REQUEST_INIT, |
|
55 EC_SDO_REQUEST_BUSY, // EC_REQUEST_QUEUED, |
|
56 EC_SDO_REQUEST_BUSY, // EC_REQUEST_BUSY, |
|
57 EC_SDO_REQUEST_SUCCESS, // EC_REQUEST_SUCCESS, |
|
58 EC_SDO_REQUEST_ERROR // EC_REQUEST_FAILURE |
|
59 }; |
|
60 |
|
61 /*****************************************************************************/ |
|
62 |
51 /** Sdo request constructor. |
63 /** Sdo request constructor. |
52 */ |
64 */ |
53 void ec_sdo_request_init( |
65 void ec_sdo_request_init( |
54 ec_sdo_request_t *req /**< Sdo request. */ |
66 ec_sdo_request_t *req /**< Sdo request. */ |
55 ) |
67 ) |
56 { |
68 { |
57 req->data = NULL; |
69 req->data = NULL; |
58 req->mem_size = 0; |
70 req->mem_size = 0; |
59 req->data_size = 0; |
71 req->data_size = 0; |
60 req->dir = EC_DIR_OUTPUT; |
72 req->dir = EC_DIR_OUTPUT; |
61 req->state = EC_REQUEST_COMPLETE; |
73 req->state = EC_REQUEST_INIT; |
62 } |
74 } |
63 |
75 |
64 /*****************************************************************************/ |
76 /*****************************************************************************/ |
65 |
77 |
66 /** Sdo request destructor. |
78 /** Sdo request destructor. |
164 return req->data; |
176 return req->data; |
165 } |
177 } |
166 |
178 |
167 /*****************************************************************************/ |
179 /*****************************************************************************/ |
168 |
180 |
169 ec_request_state_t ecrt_sdo_request_state(const ec_sdo_request_t *req) |
181 ec_sdo_request_state_t ecrt_sdo_request_state(const ec_sdo_request_t *req) |
170 { |
182 { |
171 return req->state; |
183 return state_table[req->state]; |
172 } |
|
173 |
|
174 /*****************************************************************************/ |
|
175 |
|
176 ec_sdo_request_error_t ecrt_sdo_request_error(const ec_sdo_request_t *req) |
|
177 { |
|
178 return EC_SDO_REQUEST_SUCCESS; // FIXME |
|
179 } |
184 } |
180 |
185 |
181 /*****************************************************************************/ |
186 /*****************************************************************************/ |
182 |
187 |
183 void ecrt_sdo_request_read(ec_sdo_request_t *req) |
188 void ecrt_sdo_request_read(ec_sdo_request_t *req) |
197 /*****************************************************************************/ |
202 /*****************************************************************************/ |
198 |
203 |
199 EXPORT_SYMBOL(ecrt_sdo_request_timeout); |
204 EXPORT_SYMBOL(ecrt_sdo_request_timeout); |
200 EXPORT_SYMBOL(ecrt_sdo_request_data); |
205 EXPORT_SYMBOL(ecrt_sdo_request_data); |
201 EXPORT_SYMBOL(ecrt_sdo_request_state); |
206 EXPORT_SYMBOL(ecrt_sdo_request_state); |
202 EXPORT_SYMBOL(ecrt_sdo_request_error); |
|
203 EXPORT_SYMBOL(ecrt_sdo_request_read); |
207 EXPORT_SYMBOL(ecrt_sdo_request_read); |
204 EXPORT_SYMBOL(ecrt_sdo_request_write); |
208 EXPORT_SYMBOL(ecrt_sdo_request_write); |
205 |
209 |
206 /*****************************************************************************/ |
210 /*****************************************************************************/ |