drivers/ec_slave.c
changeset 2 b0a7a4745bf9
parent 0 05c992bf5847
child 5 6f2508af550c
equal deleted inserted replaced
1:98acc19c7594 2:b0a7a4745bf9
    81 int EtherCAT_read_value(EtherCAT_slave_t *slave,
    81 int EtherCAT_read_value(EtherCAT_slave_t *slave,
    82                         unsigned int channel)
    82                         unsigned int channel)
    83 {
    83 {
    84   if (!slave->desc)
    84   if (!slave->desc)
    85   {
    85   {
    86     EC_DBG(KERN_WARNING "EtherCAT: Reading failed - "
    86     EC_DBG(KERN_WARNING "EtherCAT: Reading failed on slave %04X (addr %0X)"
    87            "Slave %04X (at %0X) has no description.\n",
    87            " - Slave has no description.\n",
    88            slave->station_address, (unsigned int) slave);
    88            slave->station_address, (unsigned int) slave);
    89     return 0;
    89     return 0;
    90   }
    90   }
    91 
    91 
    92   if (!slave->desc->read)
    92   if (!slave->desc->read)
    93   {
    93   {
    94     EC_DBG(KERN_WARNING "EtherCAT: Reading failed - "
    94     EC_DBG(KERN_WARNING "EtherCAT: Reading failed on slave %04X (addr %0X)"
    95            "Slave type (%s %s) has no read method.\n",
    95            " - Slave type (%s %s) has no read method.\n",
       
    96            slave->station_address, (unsigned int) slave,
    96            slave->desc->vendor_name, slave->desc->product_name);
    97            slave->desc->vendor_name, slave->desc->product_name);
    97     return 0;
    98     return 0;
    98   }
    99   }
    99 
   100 
   100   if (channel >= slave->desc->channels)
   101   if (channel >= slave->desc->channels)
   101   {
   102   {
   102     EC_DBG(KERN_WARNING "EtherCAT: Reading failed - "
   103     EC_DBG(KERN_WARNING "EtherCAT: Reading failed on slave %4X (addr %0X)"
   103            "Slave %4X (%s %s) has no channel %i.\n",
   104            " - Type (%s %s) has no channel %i.\n",
   104            slave->station_address, slave->desc->vendor_name,
   105            slave->station_address, (unsigned int) slave,
   105            slave->desc->product_name, channel);
   106            slave->desc->vendor_name, slave->desc->product_name,
       
   107            channel);
   106     return 0;
   108     return 0;
   107   }
   109   }
   108 
   110 
   109   return slave->desc->read(slave->process_data, channel);
   111   return slave->desc->read(slave->process_data, channel);
   110 }
   112 }
   129                           unsigned int channel,
   131                           unsigned int channel,
   130                           int value)
   132                           int value)
   131 {
   133 {
   132   if (!slave->desc)
   134   if (!slave->desc)
   133   {
   135   {
   134     EC_DBG(KERN_WARNING "EtherCAT: Writing failed - "
   136     EC_DBG(KERN_WARNING "EtherCAT: Writing failed on slave %04X (addr %0X)"
   135            "Slave %04X (at %0X) has no description.\n",
   137            " - Slave has no description.\n",
   136            slave->station_address, (unsigned int) slave);
   138            slave->station_address, (unsigned int) slave);
   137     return;
   139     return;
   138   }
   140   }
   139 
   141 
   140   if (!slave->desc->write)
   142   if (!slave->desc->write)
   141   {
   143   {
   142     EC_DBG(KERN_WARNING "EtherCAT: Writing failed - "
   144     EC_DBG(KERN_WARNING "EtherCAT: Writing failed on slave %04X (addr %0X)"
   143            "Slave type (%s %s) has no write method.\n",
   145            " - Type (%s %s) has no write method.\n",
       
   146            slave->station_address, (unsigned int) slave,
   144            slave->desc->vendor_name, slave->desc->product_name);
   147            slave->desc->vendor_name, slave->desc->product_name);
   145     return;
   148     return;
   146   }
   149   }
   147 
   150 
   148   if (channel >= slave->desc->channels)
   151   if (channel >= slave->desc->channels)
   149   {
   152   {
   150     EC_DBG(KERN_WARNING "EtherCAT: Writing failed - "
   153     EC_DBG(KERN_WARNING "EtherCAT: Writing failed on slave %4X (addr %0X)"
   151            "Slave %4X (%s %s) has no channel %i.\n",
   154            " - Type (%s %s) has no channel %i.\n",
   152            slave->station_address, slave->desc->vendor_name,
   155            slave->station_address, (unsigned int) slave,
   153            slave->desc->product_name, channel);
   156            slave->desc->vendor_name, slave->desc->product_name,
       
   157            channel);
   154     return;
   158     return;
   155   }
   159   }
   156 
   160 
   157   slave->desc->write(slave->process_data, channel, value);
   161   slave->desc->write(slave->process_data, channel, value);
   158 }
   162 }