57 void ecrt_master_async_send(ec_master_t *master); |
57 void ecrt_master_async_send(ec_master_t *master); |
58 void ecrt_master_async_receive(ec_master_t *master); |
58 void ecrt_master_async_receive(ec_master_t *master); |
59 void ecrt_master_prepare_async_io(ec_master_t *master); |
59 void ecrt_master_prepare_async_io(ec_master_t *master); |
60 void ecrt_master_debug(ec_master_t *master, int level); |
60 void ecrt_master_debug(ec_master_t *master, int level); |
61 void ecrt_master_print(const ec_master_t *master); |
61 void ecrt_master_print(const ec_master_t *master); |
62 int ecrt_master_sdo_write(ec_master_t *master, |
62 int ecrt_master_sdo_exp_write(ec_master_t *master, |
63 const char *slave_addr, |
63 const char *slave_addr, |
64 uint16_t sdo_index, |
64 uint16_t sdo_index, |
65 uint8_t sdo_subindex, |
65 uint8_t sdo_subindex, |
66 uint32_t value, |
66 uint32_t value, |
67 size_t size); |
67 size_t size); |
|
68 int ecrt_master_sdo_exp_read(ec_master_t *master, |
|
69 const char *slave_addr, |
|
70 uint16_t sdo_index, |
|
71 uint8_t sdo_subindex, |
|
72 uint32_t *value); |
68 int ecrt_master_sdo_read(ec_master_t *master, |
73 int ecrt_master_sdo_read(ec_master_t *master, |
69 const char *slave_addr, |
74 const char *slave_addr, |
70 uint16_t sdo_index, |
75 uint16_t sdo_index, |
71 uint8_t sdo_subindex, |
76 uint8_t sdo_subindex, |
72 uint32_t *value); |
77 uint8_t *data, |
|
78 size_t *size); |
73 int ecrt_master_write_slave_alias(ec_master_t *master, |
79 int ecrt_master_write_slave_alias(ec_master_t *master, |
74 const char *slave_address, uint16_t alias); |
80 const char *slave_address, uint16_t alias); |
75 |
81 |
76 /*****************************************************************************/ |
82 /*****************************************************************************/ |
77 // Domain Methods |
83 // Domain Methods |
91 int ecrt_domain_state(ec_domain_t *domain); |
97 int ecrt_domain_state(ec_domain_t *domain); |
92 |
98 |
93 /*****************************************************************************/ |
99 /*****************************************************************************/ |
94 // Slave Methods |
100 // Slave Methods |
95 |
101 |
96 int ecrt_slave_sdo_write(ec_slave_t *slave, |
102 int ecrt_slave_sdo_exp_write(ec_slave_t *slave, |
97 uint16_t sdo_index, |
103 uint16_t sdo_index, |
98 uint8_t sdo_subindex, |
104 uint8_t sdo_subindex, |
99 uint32_t value, |
105 uint32_t value, |
100 size_t size); |
106 size_t size); |
|
107 int ecrt_slave_sdo_exp_read(ec_slave_t *slave, |
|
108 uint16_t sdo_index, |
|
109 uint8_t sdo_subindex, |
|
110 uint32_t *value); |
101 int ecrt_slave_sdo_read(ec_slave_t *slave, |
111 int ecrt_slave_sdo_read(ec_slave_t *slave, |
102 uint16_t sdo_index, |
112 uint16_t sdo_index, |
103 uint8_t sdo_subindex, |
113 uint8_t sdo_subindex, |
104 uint32_t *value); |
114 uint8_t *data, |
|
115 size_t *size); |
105 |
116 |
106 /*****************************************************************************/ |
117 /*****************************************************************************/ |
107 // Bitwise read/write macros |
118 // Bitwise read/write macros |
108 |
119 |
109 #define EC_READ_BIT(PD, CH) (*((uint8_t *) (PD)) >> (CH)) & 0x01) |
120 #define EC_READ_BIT(PD, CH) (*((uint8_t *) (PD)) >> (CH)) & 0x01) |