master/sdo_request.c
changeset 861 6e3de145421a
parent 859 233e32f428e1
child 862 6151a4db6648
--- a/master/sdo_request.c	Tue Mar 04 11:20:48 2008 +0000
+++ b/master/sdo_request.c	Tue Mar 04 11:37:51 2008 +0000
@@ -48,6 +48,18 @@
 
 /*****************************************************************************/
 
+/** State type translation table.
+ */
+const ec_sdo_request_state_t state_table[] = {
+    EC_SDO_REQUEST_UNUSED,  // EC_REQUEST_INIT,
+    EC_SDO_REQUEST_BUSY,    // EC_REQUEST_QUEUED,
+    EC_SDO_REQUEST_BUSY,    // EC_REQUEST_BUSY,
+    EC_SDO_REQUEST_SUCCESS, // EC_REQUEST_SUCCESS,
+    EC_SDO_REQUEST_ERROR    // EC_REQUEST_FAILURE
+};
+
+/*****************************************************************************/
+
 /** Sdo request constructor.
  */
 void ec_sdo_request_init(
@@ -58,7 +70,7 @@
     req->mem_size = 0;
     req->data_size = 0;
     req->dir = EC_DIR_OUTPUT;
-    req->state = EC_REQUEST_COMPLETE;
+    req->state = EC_REQUEST_INIT;
 }
 
 /*****************************************************************************/
@@ -166,16 +178,9 @@
 
 /*****************************************************************************/
 
-ec_request_state_t ecrt_sdo_request_state(const ec_sdo_request_t *req)
-{
-    return req->state;
-}
-
-/*****************************************************************************/
-
-ec_sdo_request_error_t ecrt_sdo_request_error(const ec_sdo_request_t *req)
-{
-    return EC_SDO_REQUEST_SUCCESS; // FIXME
+ec_sdo_request_state_t ecrt_sdo_request_state(const ec_sdo_request_t *req)
+{
+   return state_table[req->state];
 }
 
 /*****************************************************************************/
@@ -199,7 +204,6 @@
 EXPORT_SYMBOL(ecrt_sdo_request_timeout);
 EXPORT_SYMBOL(ecrt_sdo_request_data);
 EXPORT_SYMBOL(ecrt_sdo_request_state);
-EXPORT_SYMBOL(ecrt_sdo_request_error);
 EXPORT_SYMBOL(ecrt_sdo_request_read);
 EXPORT_SYMBOL(ecrt_sdo_request_write);