parent
5248b967d2
commit
885b8717e1
|
|
@ -1974,8 +1974,9 @@ EC_PUBLIC_API int ecrt_domain_state(
|
||||||
* set via ecrt_slave_config_create_sdo_request().
|
* set via ecrt_slave_config_create_sdo_request().
|
||||||
*
|
*
|
||||||
* \ingroup ApplicationInterfaceRT
|
* \ingroup ApplicationInterfaceRT
|
||||||
|
* \return 0 on success, otherwise negative error code.
|
||||||
*/
|
*/
|
||||||
EC_PUBLIC_API void ecrt_sdo_request_index(
|
EC_PUBLIC_API int ecrt_sdo_request_index(
|
||||||
ec_sdo_request_t *req, /**< SDO request. */
|
ec_sdo_request_t *req, /**< SDO request. */
|
||||||
uint16_t index, /**< SDO index. */
|
uint16_t index, /**< SDO index. */
|
||||||
uint8_t subindex /**< SDO subindex. */
|
uint8_t subindex /**< SDO subindex. */
|
||||||
|
|
@ -1991,8 +1992,9 @@ EC_PUBLIC_API void ecrt_sdo_request_index(
|
||||||
*
|
*
|
||||||
* The timeout should be defined in non-realtime context, but can also be
|
* The timeout should be defined in non-realtime context, but can also be
|
||||||
* changed afterwards.
|
* changed afterwards.
|
||||||
|
* \return 0 on success, otherwise negative error code.
|
||||||
*/
|
*/
|
||||||
EC_PUBLIC_API void ecrt_sdo_request_timeout(
|
EC_PUBLIC_API int ecrt_sdo_request_timeout(
|
||||||
ec_sdo_request_t *req, /**< SDO request. */
|
ec_sdo_request_t *req, /**< SDO request. */
|
||||||
uint32_t timeout /**< Timeout in milliseconds. Zero means no
|
uint32_t timeout /**< Timeout in milliseconds. Zero means no
|
||||||
timeout. */
|
timeout. */
|
||||||
|
|
@ -2075,8 +2077,9 @@ ec_request_state_t ecrt_sdo_request_state(
|
||||||
* activation).
|
* activation).
|
||||||
*
|
*
|
||||||
* \ingroup ApplicationInterfaceRT
|
* \ingroup ApplicationInterfaceRT
|
||||||
|
* \return 0 on success, otherwise negative error code.
|
||||||
*/
|
*/
|
||||||
EC_PUBLIC_API void ecrt_sdo_request_write(
|
EC_PUBLIC_API int ecrt_sdo_request_write(
|
||||||
ec_sdo_request_t *req /**< SDO request. */
|
ec_sdo_request_t *req /**< SDO request. */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -2093,8 +2096,9 @@ EC_PUBLIC_API void ecrt_sdo_request_write(
|
||||||
* activation).
|
* activation).
|
||||||
*
|
*
|
||||||
* \ingroup ApplicationInterfaceRT
|
* \ingroup ApplicationInterfaceRT
|
||||||
|
* \return 0 on success, otherwise negative error code.
|
||||||
*/
|
*/
|
||||||
EC_PUBLIC_API void ecrt_sdo_request_read(
|
EC_PUBLIC_API int ecrt_sdo_request_read(
|
||||||
ec_sdo_request_t *req /**< SDO request. */
|
ec_sdo_request_t *req /**< SDO request. */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ void ec_sdo_request_clear(ec_sdo_request_t *req)
|
||||||
* Application interface.
|
* Application interface.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
|
int ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
|
||||||
uint8_t subindex)
|
uint8_t subindex)
|
||||||
{
|
{
|
||||||
ec_ioctl_sdo_request_t data;
|
ec_ioctl_sdo_request_t data;
|
||||||
|
|
@ -61,14 +61,14 @@ void ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
|
||||||
|
|
||||||
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_INDEX, &data);
|
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_INDEX, &data);
|
||||||
if (EC_IOCTL_IS_ERROR(ret)) {
|
if (EC_IOCTL_IS_ERROR(ret)) {
|
||||||
fprintf(stderr, "Failed to set SDO request index/subindex: %s\n",
|
return -EC_IOCTL_ERRNO(ret);
|
||||||
strerror(EC_IOCTL_ERRNO(ret)));
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
|
int ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
|
||||||
{
|
{
|
||||||
ec_ioctl_sdo_request_t data;
|
ec_ioctl_sdo_request_t data;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
@ -79,9 +79,9 @@ void ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
|
||||||
|
|
||||||
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_TIMEOUT, &data);
|
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_TIMEOUT, &data);
|
||||||
if (EC_IOCTL_IS_ERROR(ret)) {
|
if (EC_IOCTL_IS_ERROR(ret)) {
|
||||||
fprintf(stderr, "Failed to set SDO request timeout: %s\n",
|
return -EC_IOCTL_ERRNO(ret);
|
||||||
strerror(EC_IOCTL_ERRNO(ret)));
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
@ -139,7 +139,7 @@ ec_request_state_t ecrt_sdo_request_state(ec_sdo_request_t *req)
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_read(ec_sdo_request_t *req)
|
int ecrt_sdo_request_read(ec_sdo_request_t *req)
|
||||||
{
|
{
|
||||||
ec_ioctl_sdo_request_t data;
|
ec_ioctl_sdo_request_t data;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
@ -149,14 +149,14 @@ void ecrt_sdo_request_read(ec_sdo_request_t *req)
|
||||||
|
|
||||||
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_READ, &data);
|
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_READ, &data);
|
||||||
if (EC_IOCTL_IS_ERROR(ret)) {
|
if (EC_IOCTL_IS_ERROR(ret)) {
|
||||||
fprintf(stderr, "Failed to command an SDO read operation : %s\n",
|
return -EC_IOCTL_ERRNO(ret);
|
||||||
strerror(EC_IOCTL_ERRNO(ret)));
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_write(ec_sdo_request_t *req)
|
int ecrt_sdo_request_write(ec_sdo_request_t *req)
|
||||||
{
|
{
|
||||||
ec_ioctl_sdo_request_t data;
|
ec_ioctl_sdo_request_t data;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
@ -168,9 +168,9 @@ void ecrt_sdo_request_write(ec_sdo_request_t *req)
|
||||||
|
|
||||||
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_WRITE, &data);
|
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_WRITE, &data);
|
||||||
if (EC_IOCTL_IS_ERROR(ret)) {
|
if (EC_IOCTL_IS_ERROR(ret)) {
|
||||||
fprintf(stderr, "Failed to command an SDO write operation : %s\n",
|
return -EC_IOCTL_ERRNO(ret);
|
||||||
strerror(EC_IOCTL_ERRNO(ret)));
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
|
||||||
|
|
@ -3459,8 +3459,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_index(
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecrt_sdo_request_index(req, data.sdo_index, data.sdo_subindex);
|
return ecrt_sdo_request_index(req, data.sdo_index, data.sdo_subindex);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
@ -3496,8 +3495,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_timeout(
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecrt_sdo_request_timeout(req, data.timeout);
|
return ecrt_sdo_request_timeout(req, data.timeout);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
@ -3580,8 +3578,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_read(
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecrt_sdo_request_read(req);
|
return ecrt_sdo_request_read(req);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
@ -3630,8 +3627,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_write(
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
req->data_size = data.size;
|
req->data_size = data.size;
|
||||||
ecrt_sdo_request_write(req);
|
return ecrt_sdo_request_write(req);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
|
||||||
|
|
@ -178,18 +178,20 @@ int ec_sdo_request_timed_out(const ec_sdo_request_t *req /**< SDO request. */)
|
||||||
* Application interface.
|
* Application interface.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
|
int ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
|
||||||
uint8_t subindex)
|
uint8_t subindex)
|
||||||
{
|
{
|
||||||
req->index = index;
|
req->index = index;
|
||||||
req->subindex = subindex;
|
req->subindex = subindex;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
|
int ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
|
||||||
{
|
{
|
||||||
req->issue_timeout = timeout;
|
req->issue_timeout = timeout;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
@ -215,24 +217,26 @@ ec_request_state_t ecrt_sdo_request_state(const ec_sdo_request_t *req)
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_read(ec_sdo_request_t *req)
|
int ecrt_sdo_request_read(ec_sdo_request_t *req)
|
||||||
{
|
{
|
||||||
req->dir = EC_DIR_INPUT;
|
req->dir = EC_DIR_INPUT;
|
||||||
req->state = EC_INT_REQUEST_QUEUED;
|
req->state = EC_INT_REQUEST_QUEUED;
|
||||||
req->errno = 0;
|
req->errno = 0;
|
||||||
req->abort_code = 0x00000000;
|
req->abort_code = 0x00000000;
|
||||||
req->jiffies_start = jiffies;
|
req->jiffies_start = jiffies;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
void ecrt_sdo_request_write(ec_sdo_request_t *req)
|
int ecrt_sdo_request_write(ec_sdo_request_t *req)
|
||||||
{
|
{
|
||||||
req->dir = EC_DIR_OUTPUT;
|
req->dir = EC_DIR_OUTPUT;
|
||||||
req->state = EC_INT_REQUEST_QUEUED;
|
req->state = EC_INT_REQUEST_QUEUED;
|
||||||
req->errno = 0;
|
req->errno = 0;
|
||||||
req->abort_code = 0x00000000;
|
req->abort_code = 0x00000000;
|
||||||
req->jiffies_start = jiffies;
|
req->jiffies_start = jiffies;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue