drivers/ec_slave.c
branchkernel2.6
changeset 26 60435f959e5c
parent 24 d417dd9bdc2f
child 39 6965c23a6826
equal deleted inserted replaced
25:7d124bfba3ce 26:60435f959e5c
    11 
    11 
    12 #include <linux/module.h>
    12 #include <linux/module.h>
    13 
    13 
    14 #include "ec_globals.h"
    14 #include "ec_globals.h"
    15 #include "ec_slave.h"
    15 #include "ec_slave.h"
    16 #include "ec_dbg.h"
       
    17 
    16 
    18 /***************************************************************/
    17 /***************************************************************/
    19 
    18 
    20 /**
    19 /**
    21    EtherCAT-Slave-Konstruktor.
    20    EtherCAT-Slave-Konstruktor.
    82 int EtherCAT_read_value(EtherCAT_slave_t *slave,
    81 int EtherCAT_read_value(EtherCAT_slave_t *slave,
    83                         unsigned int channel)
    82                         unsigned int channel)
    84 {
    83 {
    85   if (!slave->desc)
    84   if (!slave->desc)
    86   {
    85   {
    87     EC_DBG(KERN_WARNING "EtherCAT: Reading failed on slave %04X (addr %0X)"
    86     printk(KERN_WARNING "EtherCAT: Reading failed on slave %04X (addr %0X)"
    88            " - Slave has no description.\n",
    87            " - Slave has no description.\n",
    89            slave->station_address, (unsigned int) slave);
    88            slave->station_address, (unsigned int) slave);
    90     return 0;
    89     return 0;
    91   }
    90   }
    92 
    91 
    93   if (!slave->desc->read)
    92   if (!slave->desc->read)
    94   {
    93   {
    95     EC_DBG(KERN_WARNING "EtherCAT: Reading failed on slave %04X (addr %0X)"
    94     printk(KERN_WARNING "EtherCAT: Reading failed on slave %04X (addr %0X)"
    96            " - Slave type (%s %s) has no read method.\n",
    95            " - Slave type (%s %s) has no read method.\n",
    97            slave->station_address, (unsigned int) slave,
    96            slave->station_address, (unsigned int) slave,
    98            slave->desc->vendor_name, slave->desc->product_name);
    97            slave->desc->vendor_name, slave->desc->product_name);
    99     return 0;
    98     return 0;
   100   }
    99   }
   101 
   100 
   102   if (channel >= slave->desc->channels)
   101   if (channel >= slave->desc->channels)
   103   {
   102   {
   104     EC_DBG(KERN_WARNING "EtherCAT: Reading failed on slave %4X (addr %0X)"
   103     printk(KERN_WARNING "EtherCAT: Reading failed on slave %4X (addr %0X)"
   105            " - Type (%s %s) has no channel %i.\n",
   104            " - Type (%s %s) has no channel %i.\n",
   106            slave->station_address, (unsigned int) slave,
   105            slave->station_address, (unsigned int) slave,
   107            slave->desc->vendor_name, slave->desc->product_name,
   106            slave->desc->vendor_name, slave->desc->product_name,
   108            channel);
   107            channel);
   109     return 0;
   108     return 0;
   132                           unsigned int channel,
   131                           unsigned int channel,
   133                           int value)
   132                           int value)
   134 {
   133 {
   135   if (!slave->desc)
   134   if (!slave->desc)
   136   {
   135   {
   137     EC_DBG(KERN_WARNING "EtherCAT: Writing failed on slave %04X (addr %0X)"
   136     printk(KERN_WARNING "EtherCAT: Writing failed on slave %04X (addr %0X)"
   138            " - Slave has no description.\n",
   137            " - Slave has no description.\n",
   139            slave->station_address, (unsigned int) slave);
   138            slave->station_address, (unsigned int) slave);
   140     return;
   139     return;
   141   }
   140   }
   142 
   141 
   143   if (!slave->desc->write)
   142   if (!slave->desc->write)
   144   {
   143   {
   145     EC_DBG(KERN_WARNING "EtherCAT: Writing failed on slave %04X (addr %0X)"
   144     printk(KERN_WARNING "EtherCAT: Writing failed on slave %04X (addr %0X)"
   146            " - Type (%s %s) has no write method.\n",
   145            " - Type (%s %s) has no write method.\n",
   147            slave->station_address, (unsigned int) slave,
   146            slave->station_address, (unsigned int) slave,
   148            slave->desc->vendor_name, slave->desc->product_name);
   147            slave->desc->vendor_name, slave->desc->product_name);
   149     return;
   148     return;
   150   }
   149   }
   151 
   150 
   152   if (channel >= slave->desc->channels)
   151   if (channel >= slave->desc->channels)
   153   {
   152   {
   154     EC_DBG(KERN_WARNING "EtherCAT: Writing failed on slave %4X (addr %0X)"
   153     printk(KERN_WARNING "EtherCAT: Writing failed on slave %4X (addr %0X)"
   155            " - Type (%s %s) has no channel %i.\n",
   154            " - Type (%s %s) has no channel %i.\n",
   156            slave->station_address, (unsigned int) slave,
   155            slave->station_address, (unsigned int) slave,
   157            slave->desc->vendor_name, slave->desc->product_name,
   156            slave->desc->vendor_name, slave->desc->product_name,
   158            channel);
   157            channel);
   159     return;
   158     return;