drivers/ec_globals.h
changeset 0 05c992bf5847
child 19 a51289e6cb2d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/drivers/ec_globals.h	Fri Oct 21 11:21:42 2005 +0000
@@ -0,0 +1,77 @@
+/****************************************************************
+ *
+ *  e c _ g l o b a l s . h
+ *
+ *  Globale Definitionen und Makros für das EtherCAT-Protokoll.
+ *
+ *  $Date$
+ *  $Author$
+ *
+ ***************************************************************/
+
+#ifndef _EC_GLOBALS_
+#define _EC_GLOBALS_
+
+/**
+   Maximale Größe eines EtherCAT-Frames
+*/
+#define ECAT_FRAME_BUFFER_SIZE 1600
+
+/**
+   Anzahl der Kommandos in einem Master-Kommandoring
+*/
+#define ECAT_COMMAND_RING_SIZE 10
+
+/**
+   Anzahl der Versuche beim Asynchronen Senden/Empfangen
+*/
+#define ECAT_NUM_RETRIES 10
+
+/**
+   NULL-Define, falls noch nicht definiert.
+*/
+
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+/**
+   EtherCAT-Kommando-Typ
+*/
+
+typedef enum
+{
+  ECAT_CMD_NONE = 0x00, /**< Dummy */
+  ECAT_CMD_APRD = 0x01, /**< Auto-increment physical read */
+  ECAT_CMD_APWR = 0x02, /**< Auto-increment physical write */
+  ECAT_CMD_NPRD = 0x04, /**< Node-addressed physical read */
+  ECAT_CMD_NPWR = 0x05, /**< Node-addressed physical write */
+  ECAT_CMD_BRD = 0x07,  /**< Broadcast read */
+  ECAT_CMD_BWR = 0x08,  /**< Broadcast write */
+  ECAT_CMD_LRW = 0x0C   /**< Logical read/write */
+}
+EtherCAT_cmd_type_t;
+
+/**
+   Zustand eines EtherCAT-Slaves
+*/
+
+typedef enum
+{
+  ECAT_STATE_UNKNOWN = 0x00, /**< Status unbekannt */
+  ECAT_STATE_INIT = 0x01,    /**< Init-Zustand (Keine Mailbox-
+                                Kommunikation, Kein I/O) */
+  ECAT_STATE_PREOP = 0x02,   /**< Pre-Operational (Mailbox-
+                                Kommunikation, Kein I/O) */
+  ECAT_STATE_SAVEOP = 0x04,  /**< Save-Operational (Mailbox-
+                                Kommunikation und Input Update) */
+  ECAT_STATE_OP = 0x08,      /**< Operational, (Mailbox-
+                                Kommunikation und Input/Output Update) */
+  ECAT_ACK_STATE = 0x10      /**< Acknoledge-Bit beim Zustandswechsel
+                                (dies ist kein eigener Zustand) */
+}
+EtherCAT_state_t;
+
+/***************************************************************/
+
+#endif