29#ifndef __EC_SOE_REQUEST_H__
30#define __EC_SOE_REQUEST_H__
32#include <linux/list.h>
Global definitions and macros.
ec_internal_request_state_t
Generic request state.
struct ec_soe_request ec_soe_request_t
ec_al_state_t
Application-layer state.
ec_direction_t
Direction type for PDO assignment functions.
int ec_soe_request_read(ec_soe_request_t *req)
Request a read operation.
int ec_soe_request_copy(ec_soe_request_t *req, const ec_soe_request_t *other)
Copy another SoE request.
void ec_soe_request_set_idn(ec_soe_request_t *req, uint16_t idn)
Set IDN.
void ec_soe_request_set_drive_no(ec_soe_request_t *req, uint8_t drive_no)
Set drive number.
int ec_soe_request_timed_out(const ec_soe_request_t *req)
Checks, if the timeout was exceeded.
int ec_soe_request_copy_data(ec_soe_request_t *req, const uint8_t *source, size_t size)
Copies SoE data from an external source.
int ec_soe_request_append_data(ec_soe_request_t *req, const uint8_t *source, size_t size)
Copies SoE data from an external source.
int ec_soe_request_write(ec_soe_request_t *req)
Request a write operation.
void ec_soe_request_init(ec_soe_request_t *req)
SoE request constructor.
int ec_soe_request_alloc(ec_soe_request_t *req, size_t size)
Pre-allocates the data memory.
void ec_soe_request_clear(ec_soe_request_t *req)
SoE request destructor.
Sercos-over-EtherCAT request.
ec_al_state_t al_state
AL state (only valid for IDN config).
uint32_t issue_timeout
Maximum time in ms, the processing of the request may take.
uint16_t idn
Sercos ID-Number.
size_t mem_size
Size of SDO data memory.
uint8_t drive_no
Drive number.
ec_direction_t dir
Direction.
size_t data_size
Size of SDO data.
unsigned long jiffies_start
Jiffies, when the request was issued.
uint16_t error_code
SoE error code.
ec_internal_request_state_t state
Request state.
uint8_t * data
Pointer to SDO data.
struct list_head list
List item.
unsigned long jiffies_sent
Jiffies, when the upload/download request was sent.