master/sdo_request.c
changeset 861 6e3de145421a
parent 859 233e32f428e1
child 862 6151a4db6648
equal deleted inserted replaced
860:ba5c38f0bb30 861:6e3de145421a
    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 /*****************************************************************************/