41 #ifndef __EC_SDO_REQUEST_H__ |
41 #ifndef __EC_SDO_REQUEST_H__ |
42 #define __EC_SDO_REQUEST_H__ |
42 #define __EC_SDO_REQUEST_H__ |
43 |
43 |
44 #include <linux/list.h> |
44 #include <linux/list.h> |
45 |
45 |
|
46 #include "../include/ecrt.h" |
|
47 |
46 #include "globals.h" |
48 #include "globals.h" |
47 |
49 |
48 /*****************************************************************************/ |
50 /*****************************************************************************/ |
49 |
51 |
50 /** CANopen Sdo request. |
52 /** CANopen Sdo request. |
51 */ |
53 */ |
52 typedef struct { |
54 struct ec_sdo_request { |
53 struct list_head list; /**< List item. */ |
55 struct list_head list; /**< List item. */ |
54 uint16_t index; /**< Sdo index. */ |
56 uint16_t index; /**< Sdo index. */ |
55 uint8_t subindex; /**< Sdo subindex. */ |
57 uint8_t subindex; /**< Sdo subindex. */ |
56 uint8_t *data; /**< Pointer to Sdo data. */ |
58 uint8_t *data; /**< Pointer to Sdo data. */ |
57 size_t mem_size; /**< Size of Sdo data memory. */ |
59 size_t mem_size; /**< Size of Sdo data memory. */ |
58 size_t data_size; /**< Size of Sdo data. */ |
60 size_t data_size; /**< Size of Sdo data. */ |
59 ec_request_state_t state; /**< Sdo request state. */ |
61 ec_request_state_t state; /**< Sdo request state. */ |
60 } ec_sdo_request_t; |
62 }; |
61 |
63 |
62 /*****************************************************************************/ |
64 /*****************************************************************************/ |
63 |
65 |
64 void ec_sdo_request_init(ec_sdo_request_t *); |
66 void ec_sdo_request_init(ec_sdo_request_t *); |
65 void ec_sdo_request_clear(ec_sdo_request_t *); |
67 void ec_sdo_request_clear(ec_sdo_request_t *); |
66 |
68 |
67 void ec_sdo_request_address(ec_sdo_request_t *, uint16_t, uint8_t); |
69 void ec_sdo_request_address(ec_sdo_request_t *, uint16_t, uint8_t); |
68 int ec_sdo_request_alloc(ec_sdo_request_t *, size_t); |
70 int ec_sdo_request_alloc(ec_sdo_request_t *, size_t); |
69 int ec_sdo_request_copy_data(ec_sdo_request_t *, const uint8_t *, size_t); |
71 int ec_sdo_request_copy_data(ec_sdo_request_t *, const uint8_t *, size_t); |
70 |
72 |
71 void ec_sdo_request_read(ec_sdo_request_t *); |
|
72 void ec_sdo_request_write(ec_sdo_request_t *); |
|
73 |
|
74 /*****************************************************************************/ |
73 /*****************************************************************************/ |
75 |
74 |
76 #endif |
75 #endif |