--- a/master/master.c Fri Apr 21 13:05:01 2006 +0000
+++ b/master/master.c Mon Apr 24 10:10:02 2006 +0000
@@ -1,9 +1,5 @@
/******************************************************************************
*
- * m a s t e r . c
- *
- * EtherCAT master methods.
- *
* $Id$
*
* Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
@@ -25,6 +21,13 @@
*
*****************************************************************************/
+/**
+ \file
+ EtherCAT master methods.
+*/
+
+/*****************************************************************************/
+
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/string.h>
@@ -48,6 +51,8 @@
/*****************************************************************************/
+/** \cond */
+
EC_SYSFS_READ_ATTR(slave_count);
EC_SYSFS_READ_ATTR(mode);
@@ -68,12 +73,13 @@
.default_attrs = ec_def_attrs
};
+/** \endcond */
+
/*****************************************************************************/
/**
Master constructor.
\return 0 in case of success, else < 0
- \ingroup Master
*/
int ec_master_init(ec_master_t *master, /**< EtherCAT master */
@@ -119,7 +125,6 @@
Master destructor.
Removes all pending commands, clears the slave list, clears all domains
and frees the device.
- \ingroup Master
*/
void ec_master_clear(struct kobject *kobj /**< kobject of the master */)
@@ -149,7 +154,6 @@
Resets the master.
Note: This function has to be called, everytime ec_master_release() is
called, to free the slave list, domains etc.
- \ingroup Master
*/
void ec_master_reset(ec_master_t *master /**< EtherCAT master */)
@@ -210,7 +214,6 @@
/**
Places a command in the command queue.
- \ingroup Master
*/
void ec_master_queue_command(ec_master_t *master, /**< EtherCAT master */
@@ -238,7 +241,6 @@
/**
Sends the commands in the queue.
\return 0 in case of success, else < 0
- \ingroup Master
*/
void ec_master_send_commands(ec_master_t *master /**< EtherCAT master */)
@@ -340,7 +342,6 @@
Processes a received frame.
This function is called by the network driver for every received frame.
\return 0 in case of success, else < 0
- \ingroup Master
*/
void ec_master_receive(ec_master_t *master, /**< EtherCAT master */
@@ -428,7 +429,6 @@
Sends a single command and waits for its reception.
If the slave doesn't respond, the command is sent again.
\return 0 in case of success, else < 0
- \ingroup Master
*/
int ec_master_simple_io(ec_master_t *master, /**< EtherCAT master */
@@ -473,7 +473,6 @@
Scans the EtherCAT bus for slaves.
Creates a list of slave structures for further processing.
\return 0 in case of success, else < 0
- \ingroup Master
*/
int ec_master_bus_scan(ec_master_t *master /**< EtherCAT master */)
@@ -597,7 +596,6 @@
Output statistics in cyclic mode.
This function outputs statistical data on demand, but not more often than
necessary. The output happens at most once a second.
- \ingroup Master
*/
void ec_master_output_stats(ec_master_t *master /**< EtherCAT master */)
@@ -633,7 +631,6 @@
/**
Starts the Free-Run mode.
- \ingroup Master
*/
void ec_master_freerun_start(ec_master_t *master /**< EtherCAT master */)
@@ -666,7 +663,6 @@
/**
Stops the Free-Run mode.
- \ingroup Master
*/
void ec_master_freerun_stop(ec_master_t *master /**< EtherCAT master */)
@@ -683,7 +679,6 @@
/**
Free-Run mode function.
- \ingroup Master
*/
void ec_master_freerun(unsigned long data /**< private timer data = master */)
@@ -709,7 +704,6 @@
/**
Initializes a sync manager configuration page.
The referenced memory (\a data) must be at least EC_SYNC_SIZE bytes.
- \ingroup Master
*/
void ec_sync_config(const ec_sync_t *sync, /**< sync manager */
@@ -728,7 +722,6 @@
/**
Initializes a sync manager configuration page with EEPROM data.
The referenced memory (\a data) must be at least EC_SYNC_SIZE bytes.
- \ingroup Master
*/
void ec_eeprom_sync_config(const ec_eeprom_sync_t *sync, /**< sync manager */
@@ -747,7 +740,6 @@
/**
Initializes an FMMU configuration page.
The referenced memory (\a data) must be at least EC_FMMU_SIZE bytes.
- \ingroup Master
*/
void ec_fmmu_config(const ec_fmmu_t *fmmu, /**< FMMU */
@@ -770,7 +762,6 @@
/**
Formats attribute data for SysFS read access.
\return number of bytes to read
- \ingroup Master
*/
ssize_t ec_show_master_attribute(struct kobject *kobj, /**< kobject */
@@ -801,7 +792,6 @@
/**
Processes the watchdog command.
- \ingroup Master
*/
void ec_master_process_watch_command(ec_master_t *master
@@ -849,7 +839,6 @@
/**
Does the Ethernet-over-EtherCAT processing.
- \ingroup Master
*/
void ec_master_run_eoe(ec_master_t *master /**< EtherCAT master */)
@@ -868,7 +857,7 @@
/**
Creates a domain.
\return pointer to new domain on success, else NULL
- \ingroup Master
+ \ingroup RealtimeInterface
*/
ec_domain_t *ecrt_master_create_domain(ec_master_t *master /**< master */)
@@ -914,7 +903,7 @@
managers and FMMUs, and does the appropriate transitions, until the slave
is operational.
\return 0 in case of success, else < 0
- \ingroup Master
+ \ingroup RealtimeInterface
*/
int ecrt_master_activate(ec_master_t *master /**< EtherCAT master */)
@@ -1101,7 +1090,7 @@
/**
Resets all slaves to INIT state.
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_deactivate(ec_master_t *master /**< EtherCAT master */)
@@ -1121,7 +1110,7 @@
Fetches the SDO dictionaries of all slaves.
Slaves that do not support the CoE protocol are left out.
\return 0 in case of success, else < 0
- \ingroup Master
+ \ingroup RealtimeInterface
*/
int ecrt_master_fetch_sdo_lists(ec_master_t *master /**< EtherCAT master */)
@@ -1145,7 +1134,7 @@
/**
Sends queued commands and waits for their reception.
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_sync_io(ec_master_t *master /**< EtherCAT master */)
@@ -1201,7 +1190,7 @@
/**
Asynchronous sending of commands.
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_async_send(ec_master_t *master /**< EtherCAT master */)
@@ -1228,7 +1217,7 @@
/**
Asynchronous receiving of commands.
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_async_receive(ec_master_t *master /**< EtherCAT master */)
@@ -1263,7 +1252,7 @@
Prepares synchronous IO.
Queues all domain commands and sends them. Then waits a certain time, so
that ecrt_master_sasync_receive() can be called securely.
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_prepare_async_io(ec_master_t *master /**< EtherCAT master */)
@@ -1291,7 +1280,7 @@
/**
Does all cyclic master work.
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_run(ec_master_t *master /**< EtherCAT master */)
@@ -1319,7 +1308,7 @@
X and Y are zero-based indices and may be provided in hexadecimal or octal
notation (with respective prefix).
\return pointer to the slave on success, else NULL
- \ingroup Master
+ \ingroup RealtimeInterface
*/
ec_slave_t *ecrt_master_get_slave(const ec_master_t *master, /**< Master */
@@ -1422,7 +1411,7 @@
The following levels are valid:
- 1: only output positions marks and basic data
- 2: additional frame data output
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_debug(ec_master_t *master, /**< EtherCAT master */
@@ -1443,7 +1432,7 @@
- 0: Only slave types and positions
- 1: with EEPROM contents
- >1: with SDO dictionaries
- \ingroup Master
+ \ingroup RealtimeInterface
*/
void ecrt_master_print(const ec_master_t *master, /**< EtherCAT master */
@@ -1470,6 +1459,8 @@
/*****************************************************************************/
+/** \cond */
+
EXPORT_SYMBOL(ecrt_master_create_domain);
EXPORT_SYMBOL(ecrt_master_activate);
EXPORT_SYMBOL(ecrt_master_deactivate);
@@ -1483,4 +1474,6 @@
EXPORT_SYMBOL(ecrt_master_print);
EXPORT_SYMBOL(ecrt_master_get_slave);
-/*****************************************************************************/
+/** \endcond */
+
+/*****************************************************************************/