author | Florian Pose <fp@igh-essen.com> |
Thu, 23 Feb 2006 13:54:27 +0000 | |
changeset 75 | aae1b9520e4d |
parent 73 | 9f4ea66d89a3 |
child 84 | b4ae98855cea |
permissions | -rw-r--r-- |
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
19
diff
changeset
|
1 |
/****************************************************************************** |
0 | 2 |
* |
54
7506e67dd122
Vereinheitlichte Schnittstellen, Include-Verzeichnis und Module getrennt.
Florian Pose <fp@igh-essen.com>
parents:
42
diff
changeset
|
3 |
* g l o b a l s . h |
0 | 4 |
* |
5 |
* Globale Definitionen und Makros für das EtherCAT-Protokoll. |
|
6 |
* |
|
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
19
diff
changeset
|
7 |
* $Id$ |
0 | 8 |
* |
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
19
diff
changeset
|
9 |
*****************************************************************************/ |
0 | 10 |
|
11 |
#ifndef _EC_GLOBALS_ |
|
12 |
#define _EC_GLOBALS_ |
|
13 |
||
41 | 14 |
/*****************************************************************************/ |
15 |
||
73
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
16 |
// EtherCAT-Protokoll |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
17 |
#define EC_MAX_FRAME_SIZE 1500 /**< Maximale Größe eines EtherCAT-Frames ohne |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
18 |
Ethernet-II-Header und -Prüfsumme*/ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
19 |
#define EC_MIN_FRAME_SIZE 46 /** Minimale Größe, s. o. */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
20 |
#define EC_FRAME_HEADER_SIZE 2 /**< Größe des EtherCAT-Frame-Headers */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
21 |
#define EC_COMMAND_HEADER_SIZE 10 /**< Größe eines EtherCAT-Kommando-Headers */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
22 |
#define EC_COMMAND_FOOTER_SIZE 2 /**< Größe eines EtherCAT-Kommando-Footers */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
23 |
#define EC_SYNC_SIZE 8 /**< Größe einer Sync-Manager-Konfigurationsseite */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
24 |
#define EC_FMMU_SIZE 16 /**< Größe einer FMMU-Konfigurationsseite */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
25 |
#define EC_MAX_FMMUS 16 /**< Maximale Anzahl FMMUs pro Slave */ |
0 | 26 |
|
73
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
27 |
#define EC_MASTER_MAX_DOMAINS 10 /**< Maximale Anzahl Domänen eines Masters */ |
0 | 28 |
|
29 |
#ifndef NULL |
|
73
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
30 |
#define NULL ((void *) 0) /**< NULL-Define, falls noch nicht definiert. */ |
0 | 31 |
#endif |
32 |
||
41 | 33 |
/*****************************************************************************/ |
34 |
||
0 | 35 |
/** |
36 |
Zustand eines EtherCAT-Slaves |
|
37 |
*/ |
|
38 |
||
39 |
typedef enum |
|
40 |
{ |
|
73
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
41 |
EC_SLAVE_STATE_UNKNOWN = 0x00, /**< Status unbekannt */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
42 |
EC_SLAVE_STATE_INIT = 0x01, /**< Init-Zustand (Keine Mailbox- |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
43 |
Kommunikation, Kein I/O) */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
44 |
EC_SLAVE_STATE_PREOP = 0x02, /**< Pre-Operational (Mailbox- |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
45 |
Kommunikation, Kein I/O) */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
46 |
EC_SLAVE_STATE_SAVEOP = 0x04, /**< Save-Operational (Mailbox- |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
47 |
Kommunikation und Input Update) */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
48 |
EC_SLAVE_STATE_OP = 0x08, /**< Operational, (Mailbox- |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
49 |
Kommunikation und Input/Output Update) */ |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
50 |
EC_ACK = 0x10 /**< Acknoledge-Bit beim Zustandswechsel |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
51 |
(dies ist kein eigener Zustand) */ |
0 | 52 |
} |
54
7506e67dd122
Vereinheitlichte Schnittstellen, Include-Verzeichnis und Module getrennt.
Florian Pose <fp@igh-essen.com>
parents:
42
diff
changeset
|
53 |
ec_slave_state_t; |
42
a22a202d0f42
Domains, Warten beim Senden, 10kHz.
Florian Pose <fp@igh-essen.com>
parents:
41
diff
changeset
|
54 |
|
a22a202d0f42
Domains, Warten beim Senden, 10kHz.
Florian Pose <fp@igh-essen.com>
parents:
41
diff
changeset
|
55 |
/*****************************************************************************/ |
a22a202d0f42
Domains, Warten beim Senden, 10kHz.
Florian Pose <fp@igh-essen.com>
parents:
41
diff
changeset
|
56 |
|
0 | 57 |
#endif |
73
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
58 |
|
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
59 |
/* Emacs-Konfiguration |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
60 |
;;; Local Variables: *** |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
61 |
;;; c-basic-offset:4 *** |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
62 |
;;; End: *** |
9f4ea66d89a3
Dynamische FMMU-Konfiguration, zwei Kopieroperationen eingespart, Einr?ckungen angepasst.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
63 |
*/ |