drivers/ec_command.c
changeset 54 7506e67dd122
parent 53 6b3b8acb71b5
child 55 059a9e712aa7
--- a/drivers/ec_command.c	Fri Jan 13 15:47:44 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/******************************************************************************
- *
- *  e c _ c o m m a n d . c
- *
- *  Methoden für ein EtherCAT-Kommando.
- *
- *  $Id$
- *
- *****************************************************************************/
-
-#include <linux/slab.h>
-
-#include "ec_command.h"
-
-/*****************************************************************************/
-
-/**
-   Kommando-Konstruktor.
-
-   Initialisiert alle Variablen innerhalb des Kommandos auf die
-   Default-Werte.
-
-   @param cmd Zeiger auf das zu initialisierende Kommando.
-*/
-
-void EtherCAT_command_init(EtherCAT_command_t *cmd)
-{
-  cmd->type = ECAT_CMD_NONE;
-  cmd->address.logical = 0x00000000;
-  cmd->data_length = 0;
-  cmd->state = ECAT_CS_READY;
-  cmd->index = 0;
-  cmd->working_counter = 0;
-}
-
-/*****************************************************************************/
-
-/**
-   Kommando-Destruktor.
-
-   Setzt alle Attribute auf den Anfangswert zurueck.
-
-   @param cmd Zeiger auf das zu initialisierende Kommando.
-*/
-
-void EtherCAT_command_clear(EtherCAT_command_t *cmd)
-{
-  EtherCAT_command_init(cmd);
-}
-
-/*****************************************************************************/
-
-#define ECAT_FUNC_HEADER \
-  EtherCAT_command_init(cmd)
-
-#define ECAT_FUNC_WRITE_FOOTER \
-  cmd->data_length = length; \
-  memcpy(cmd->data, data, length);
-
-#define ECAT_FUNC_READ_FOOTER \
-  cmd->data_length = length;
-
-/*****************************************************************************/
-
-/**
-   Initialisiert ein EtherCAT-NPRD-Kommando.
-
-   @param cmd Zeiger auf das Kommando
-   @param node_address Adresse des Knotens (Slaves)
-   @param offset Physikalische Speicheradresse im Slave
-   @param length Länge der zu lesenden Daten
-*/
-
-void EtherCAT_command_read(EtherCAT_command_t *cmd,
-                           unsigned short node_address,
-                           unsigned short offset,
-                           unsigned int length)
-{
-  if (unlikely(node_address == 0x0000))
-    printk(KERN_WARNING "EtherCAT: Warning - Using node address 0x0000!\n");
-
-  ECAT_FUNC_HEADER;
-
-  cmd->type = ECAT_CMD_NPRD;
-  cmd->address.phy.dev.node = node_address;
-  cmd->address.phy.mem = offset;
-
-  ECAT_FUNC_READ_FOOTER;
-}
-
-/*****************************************************************************/
-
-/**
-   Initialisiert ein EtherCAT-NPWR-Kommando.
-
-   Alloziert ein "node-adressed physical write"-Kommando
-   und fügt es in die Liste des Masters ein.
-
-   @param cmd Zeiger auf das Kommando
-   @param node_address Adresse des Knotens (Slaves)
-   @param offset Physikalische Speicheradresse im Slave
-   @param length Länge der zu schreibenden Daten
-   @param data Zeiger auf Speicher mit zu schreibenden Daten
-*/
-
-void EtherCAT_command_write(EtherCAT_command_t *cmd,
-                            unsigned short node_address,
-                            unsigned short offset,
-                            unsigned int length,
-                            const unsigned char *data)
-{
-  if (unlikely(node_address == 0x0000))
-    printk(KERN_WARNING "EtherCAT: Warning - Using node address 0x0000!\n");
-
-  ECAT_FUNC_HEADER;
-
-  cmd->type = ECAT_CMD_NPWR;
-  cmd->address.phy.dev.node = node_address;
-  cmd->address.phy.mem = offset;
-
-  ECAT_FUNC_WRITE_FOOTER;
-}
-
-/*****************************************************************************/
-
-/**
-   Initialisiert ein EtherCAT-APRD-Kommando.
-
-   Alloziert ein "autoincerement physical read"-Kommando
-   und fügt es in die Liste des Masters ein.
-
-   @param cmd Zeiger auf das Kommando
-   @param ring_position (Negative) Position des Slaves im Bus
-   @param offset Physikalische Speicheradresse im Slave
-   @param length Länge der zu lesenden Daten
-*/
-
-void EtherCAT_command_position_read(EtherCAT_command_t *cmd,
-                                    short ring_position,
-                                    unsigned short offset,
-                                    unsigned int length)
-{
-  ECAT_FUNC_HEADER;
-
-  cmd->type = ECAT_CMD_APRD;
-  cmd->address.phy.dev.pos = ring_position;
-  cmd->address.phy.mem = offset;
-
-  ECAT_FUNC_READ_FOOTER;
-}
-
-/*****************************************************************************/
-
-/**
-   Initialisiert ein EtherCAT-APWR-Kommando.
-
-   Alloziert ein "autoincrement physical write"-Kommando
-   und fügt es in die Liste des Masters ein.
-
-   @param cmd Zeiger auf das Kommando
-   @param ring_position (Negative) Position des Slaves im Bus
-   @param offset Physikalische Speicheradresse im Slave
-   @param length Länge der zu schreibenden Daten
-   @param data Zeiger auf Speicher mit zu schreibenden Daten
-*/
-
-void EtherCAT_command_position_write(EtherCAT_command_t *cmd,
-                                     short ring_position,
-                                     unsigned short offset,
-                                     unsigned int length,
-                                     const unsigned char *data)
-{
-  ECAT_FUNC_HEADER;
-
-  cmd->type = ECAT_CMD_APWR;
-  cmd->address.phy.dev.pos = ring_position;
-  cmd->address.phy.mem = offset;
-
-  ECAT_FUNC_WRITE_FOOTER;
-}
-
-/*****************************************************************************/
-
-/**
-   Initialisiert ein EtherCAT-BRD-Kommando.
-
-   Alloziert ein "broadcast read"-Kommando
-   und fügt es in die Liste des Masters ein.
-
-   @param cmd Zeiger auf das Kommando
-   @param offset Physikalische Speicheradresse im Slave
-   @param length Länge der zu lesenden Daten
-*/
-
-void EtherCAT_command_broadcast_read(EtherCAT_command_t *cmd,
-                                     unsigned short offset,
-                                     unsigned int length)
-{
-  ECAT_FUNC_HEADER;
-
-  cmd->type = ECAT_CMD_BRD;
-  cmd->address.phy.dev.node = 0x0000;
-  cmd->address.phy.mem = offset;
-
-  ECAT_FUNC_READ_FOOTER;
-}
-
-/*****************************************************************************/
-
-/**
-   Initialisiert ein EtherCAT-BWR-Kommando.
-
-   Alloziert ein "broadcast write"-Kommando
-   und fügt es in die Liste des Masters ein.
-
-   @param cmd Zeiger auf das Kommando
-   @param offset Physikalische Speicheradresse im Slave
-   @param length Länge der zu schreibenden Daten
-   @param data Zeiger auf Speicher mit zu schreibenden Daten
-*/
-
-void EtherCAT_command_broadcast_write(EtherCAT_command_t *cmd,
-                                      unsigned short offset,
-                                      unsigned int length,
-                                      const unsigned char *data)
-{
-  ECAT_FUNC_HEADER;
-
-  cmd->type = ECAT_CMD_BWR;
-  cmd->address.phy.dev.node = 0x0000;
-  cmd->address.phy.mem = offset;
-
-  ECAT_FUNC_WRITE_FOOTER;
-}
-
-/*****************************************************************************/
-
-/**
-   Initialisiert ein EtherCAT-LRW-Kommando.
-
-   Alloziert ein "logical read write"-Kommando
-   und fügt es in die Liste des Masters ein.
-
-   @param cmd Zeiger auf das Kommando
-   @param offset Logische Speicheradresse
-   @param length Länge der zu lesenden/schreibenden Daten
-   @param data Zeiger auf Speicher mit zu lesenden/schreibenden Daten
-*/
-
-void EtherCAT_command_logical_read_write(EtherCAT_command_t *cmd,
-                                         unsigned int offset,
-                                         unsigned int length,
-                                         unsigned char *data)
-{
-  ECAT_FUNC_HEADER;
-
-  cmd->type = ECAT_CMD_LRW;
-  cmd->address.logical = offset;
-
-  ECAT_FUNC_WRITE_FOOTER;
-}
-
-/*****************************************************************************/