6 * |
6 * |
7 * This file is part of the IgH EtherCAT Master. |
7 * This file is part of the IgH EtherCAT Master. |
8 * |
8 * |
9 * The IgH EtherCAT Master is free software; you can redistribute it |
9 * The IgH EtherCAT Master is free software; you can redistribute it |
10 * and/or modify it under the terms of the GNU General Public License |
10 * and/or modify it under the terms of the GNU General Public License |
11 * as published by the Free Software Foundation; version 2 of the License. |
11 * as published by the Free Software Foundation; either version 2 of the |
|
12 * License, or (at your option) any later version. |
12 * |
13 * |
13 * The IgH EtherCAT Master is distributed in the hope that it will be |
14 * The IgH EtherCAT Master is distributed in the hope that it will be |
14 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 * GNU General Public License for more details. |
17 * GNU General Public License for more details. |
17 * |
18 * |
18 * You should have received a copy of the GNU General Public License |
19 * You should have received a copy of the GNU General Public License |
19 * along with the IgH EtherCAT Master; if not, write to the Free Software |
20 * along with the IgH EtherCAT Master; if not, write to the Free Software |
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
|
22 * |
|
23 * The right to use EtherCAT Technology is granted and comes free of |
|
24 * charge under condition of compatibility of product made by |
|
25 * Licensee. People intending to distribute/sell products based on the |
|
26 * code, have to sign an agreement to guarantee that products using |
|
27 * software based on IgH EtherCAT master stay compatible with the actual |
|
28 * EtherCAT specification (which are released themselves as an open |
|
29 * standard) as the (only) precondition to have the right to use EtherCAT |
|
30 * Technology, IP and trade marks. |
21 * |
31 * |
22 *****************************************************************************/ |
32 *****************************************************************************/ |
23 |
33 |
24 /** |
34 /** |
25 \file |
35 \file |
86 |
96 |
87 /****************************************************************************** |
97 /****************************************************************************** |
88 * Master methods |
98 * Master methods |
89 *****************************************************************************/ |
99 *****************************************************************************/ |
90 |
100 |
|
101 void ecrt_master_callbacks(ec_master_t *master, int (*request_cb)(void *), |
|
102 void (*release_cb)(void *), void *cb_data); |
|
103 |
91 ec_domain_t *ecrt_master_create_domain(ec_master_t *master); |
104 ec_domain_t *ecrt_master_create_domain(ec_master_t *master); |
92 |
105 |
93 int ecrt_master_activate(ec_master_t *master); |
106 int ecrt_master_activate(ec_master_t *master); |
94 void ecrt_master_deactivate(ec_master_t *master); |
107 void ecrt_master_deactivate(ec_master_t *master); |
95 |
108 |
99 void ecrt_master_async_send(ec_master_t *master); |
112 void ecrt_master_async_send(ec_master_t *master); |
100 void ecrt_master_async_receive(ec_master_t *master); |
113 void ecrt_master_async_receive(ec_master_t *master); |
101 void ecrt_master_prepare_async_io(ec_master_t *master); |
114 void ecrt_master_prepare_async_io(ec_master_t *master); |
102 |
115 |
103 void ecrt_master_run(ec_master_t *master); |
116 void ecrt_master_run(ec_master_t *master); |
|
117 |
|
118 int ecrt_master_start_eoe(ec_master_t *master); |
104 |
119 |
105 void ecrt_master_debug(ec_master_t *master, int level); |
120 void ecrt_master_debug(ec_master_t *master, int level); |
106 void ecrt_master_print(const ec_master_t *master, unsigned int verbosity); |
121 void ecrt_master_print(const ec_master_t *master, unsigned int verbosity); |
107 |
122 |
108 ec_slave_t *ecrt_master_get_slave(const ec_master_t *, const char *); |
123 ec_slave_t *ecrt_master_get_slave(const ec_master_t *, const char *); |