fp@42: /****************************************************************************** fp@42: * fp@42: * e c _ d o m a i n . h fp@42: * fp@42: * Struktur für eine Gruppe von EtherCAT-Slaves. fp@42: * fp@42: * $Id$ fp@42: * fp@42: *****************************************************************************/ fp@42: fp@42: #ifndef _EC_DOMAIN_H_ fp@42: #define _EC_DOMAIN_H_ fp@42: fp@42: #include "ec_globals.h" fp@42: #include "ec_slave.h" fp@42: #include "ec_command.h" fp@42: fp@42: /*****************************************************************************/ fp@42: fp@42: /** fp@42: EtherCAT-Domäne fp@42: fp@42: Verwaltet die Prozessdaten und das hierfür nötige Kommando einer bestimmten fp@42: Menge von Slaves. fp@42: */ fp@42: fp@42: typedef struct EtherCAT_domain fp@42: { fp@42: unsigned int number; /*<< Domänen-Identifikation */ fp@42: EtherCAT_command_t command; /**< Kommando zum Senden und Empfangen der fp@42: Prozessdaten */ fp@42: unsigned char *data; /**< Zeiger auf Speicher mit Prozessdaten */ fp@42: unsigned int data_size; /**< Größe des Prozessdatenspeichers */ fp@42: unsigned int logical_offset; /**< Logische Basisaddresse */ fp@48: unsigned int response_count; /**< Anzahl antwortender Slaves */ fp@42: } fp@42: EtherCAT_domain_t; fp@42: fp@42: /*****************************************************************************/ fp@42: fp@42: void EtherCAT_domain_init(EtherCAT_domain_t *); fp@42: void EtherCAT_domain_clear(EtherCAT_domain_t *); fp@42: fp@42: /*****************************************************************************/ fp@42: fp@42: #endif fp@42: fp@42: /* Emacs-Konfiguration fp@42: ;;; Local Variables: *** fp@42: ;;; c-basic-offset:2 *** fp@42: ;;; End: *** fp@42: */