author | Florian Pose <fp@igh-essen.com> |
Thu, 26 Jan 2006 09:12:09 +0000 | |
changeset 58 | 21b7342e2a90 |
parent 55 | 059a9e712aa7 |
child 61 | cd014255f94f |
permissions | -rw-r--r-- |
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
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 |
* t y p e s . h |
0 | 4 |
* |
5 |
* EtherCAT-Slave-Typen. |
|
6 |
* |
|
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
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:
35
diff
changeset
|
9 |
*****************************************************************************/ |
0 | 10 |
|
11 |
#ifndef _EC_TYPES_H_ |
|
12 |
#define _EC_TYPES_H_ |
|
13 |
||
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
14 |
#include "../include/EtherCAT_rt.h" |
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
15 |
|
41 | 16 |
/*****************************************************************************/ |
17 |
||
0 | 18 |
/** |
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
19 |
Features eines EtherCAT-Slaves. |
0 | 20 |
|
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
21 |
Diese Angabe muss für die Konfiguration bekannt sein. Der |
0 | 22 |
Master entscheidet danach, ober bspw. Mailboxes konfigurieren, |
23 |
oder Sync-Manager setzen soll. |
|
24 |
*/ |
|
25 |
||
26 |
typedef enum |
|
27 |
{ |
|
54
7506e67dd122
Vereinheitlichte Schnittstellen, Include-Verzeichnis und Module getrennt.
Florian Pose <fp@igh-essen.com>
parents:
42
diff
changeset
|
28 |
EC_SIMPLE_SLAVE, EC_MAILBOX_SLAVE, EC_NOSYNC_SLAVE |
0 | 29 |
} |
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
30 |
ec_slave_features_t; |
0 | 31 |
|
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
diff
changeset
|
32 |
/*****************************************************************************/ |
0 | 33 |
|
34 |
/** |
|
35 |
Beschreibung eines EtherCAT-Slave-Typs. |
|
36 |
||
37 |
Diese Beschreibung dient zur Konfiguration einer bestimmten |
|
38 |
Slave-Art. Sie enthält die Konfigurationsdaten für die |
|
39 |
Slave-internen Sync-Manager und FMMU's. |
|
40 |
*/ |
|
41 |
||
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
42 |
struct ec_slave_type |
0 | 43 |
{ |
44 |
const char *vendor_name; /**< Name des Herstellers */ |
|
45 |
const char *product_name; /**< Name des Slaves-Typs */ |
|
46 |
const char *product_desc; /**< Genauere Beschreibung des Slave-Typs */ |
|
47 |
||
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
48 |
ec_slave_features_t features; /**< Features des Slave-Typs */ |
0 | 49 |
|
50 |
const unsigned char *sm0; /**< Konfigurationsdaten des |
|
51 |
ersten Sync-Managers */ |
|
52 |
const unsigned char *sm1; /**< Konfigurationsdaten des |
|
53 |
zweiten Sync-Managers */ |
|
54 |
const unsigned char *sm2; /**< Konfigurationsdaten des |
|
55 |
dritten Sync-Managers */ |
|
56 |
const unsigned char *sm3; /**< Konfigurationsdaten des |
|
57 |
vierten Sync-Managers */ |
|
58 |
||
59 |
const unsigned char *fmmu0; /**< Konfigurationsdaten |
|
60 |
der ersten FMMU */ |
|
61 |
||
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
62 |
unsigned int process_data_size; /**< Länge der Prozessdaten in Bytes */ |
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
63 |
}; |
0 | 64 |
|
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
diff
changeset
|
65 |
/*****************************************************************************/ |
0 | 66 |
|
67 |
/** |
|
68 |
Identifikation eines Slave-Typs. |
|
69 |
||
70 |
Diese Struktur wird zur 1:n-Zuordnung von Hersteller- und |
|
71 |
Produktcodes zu den einzelnen Slave-Typen verwendet. |
|
72 |
*/ |
|
73 |
||
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
diff
changeset
|
74 |
typedef struct slave_ident |
0 | 75 |
{ |
55
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
76 |
unsigned int vendor_id; /**< Hersteller-Code */ |
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
77 |
unsigned int product_code; /**< Herstellerspezifischer Produktcode */ |
059a9e712aa7
Mit neuer Schnittstelle wieder lauff?hig.
Florian Pose <fp@igh-essen.com>
parents:
54
diff
changeset
|
78 |
const ec_slave_type_t *type; /**< Zeiger auf den entsprechenden Slave-Typ */ |
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
diff
changeset
|
79 |
} |
54
7506e67dd122
Vereinheitlichte Schnittstellen, Include-Verzeichnis und Module getrennt.
Florian Pose <fp@igh-essen.com>
parents:
42
diff
changeset
|
80 |
ec_slave_ident_t; |
0 | 81 |
|
54
7506e67dd122
Vereinheitlichte Schnittstellen, Include-Verzeichnis und Module getrennt.
Florian Pose <fp@igh-essen.com>
parents:
42
diff
changeset
|
82 |
extern ec_slave_ident_t slave_idents[]; /**< Statisches Array der |
7506e67dd122
Vereinheitlichte Schnittstellen, Include-Verzeichnis und Module getrennt.
Florian Pose <fp@igh-essen.com>
parents:
42
diff
changeset
|
83 |
Slave-Identifikationen */ |
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
diff
changeset
|
84 |
extern unsigned int slave_ident_count; /**< Anzahl der vorhandenen |
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
diff
changeset
|
85 |
Slave-Identifikationen */ |
0 | 86 |
|
39
6965c23a6826
likely/unlikely, Fehlermeldungen in zyklischem Code begrenzt und Kommentare ge??ndert.
Florian Pose <fp@igh-essen.com>
parents:
35
diff
changeset
|
87 |
/*****************************************************************************/ |
0 | 88 |
|
89 |
#endif |