master/slave.c
changeset 101 b0c19892145a
parent 98 f564d0929292
child 104 052bc82d5442
equal deleted inserted replaced
100:d3d4654e499d 101:b0c19892145a
   120    \return 0 bei Erfolg, sonst < 0
   120    \return 0 bei Erfolg, sonst < 0
   121 */
   121 */
   122 
   122 
   123 int ec_slave_sii_read(ec_slave_t *slave,
   123 int ec_slave_sii_read(ec_slave_t *slave,
   124                       /**< EtherCAT-Slave */
   124                       /**< EtherCAT-Slave */
   125                       unsigned short int offset,
   125                       uint16_t offset,
   126                       /**< Adresse des zu lesenden SII-Registers */
   126                       /**< Adresse des zu lesenden SII-Registers */
   127                       unsigned int *target
   127                       uint32_t *target
   128                       /**< Zeiger auf einen 4 Byte großen Speicher zum Ablegen
   128                       /**< Zeiger auf einen 4 Byte großen Speicher zum Ablegen
   129                          der Daten */
   129                          der Daten */
   130                       )
   130                       )
   131 {
   131 {
   132     ec_command_t command;
   132     ec_command_t command;
   133     unsigned char data[10];
   133     uint8_t data[10];
   134     cycles_t start, end, timeout;
   134     cycles_t start, end, timeout;
   135 
   135 
   136     // Initiate read operation
   136     // Initiate read operation
   137 
   137 
   138     EC_WRITE_U8 (data,     0x00);
   138     EC_WRITE_U8 (data,     0x00);
   192                         uint8_t state
   192                         uint8_t state
   193                         /**< Alter Zustand */
   193                         /**< Alter Zustand */
   194                         )
   194                         )
   195 {
   195 {
   196     ec_command_t command;
   196     ec_command_t command;
   197     unsigned char data[2];
   197     uint8_t data[2];
   198     cycles_t start, end, timeout;
   198     cycles_t start, end, timeout;
   199 
   199 
   200     EC_WRITE_U16(data, state | EC_ACK);
   200     EC_WRITE_U16(data, state | EC_ACK);
   201 
   201 
   202     ec_command_init_npwr(&command, slave->station_address, 0x0120, 2, data);
   202     ec_command_init_npwr(&command, slave->station_address, 0x0120, 2, data);
   255                           uint8_t state
   255                           uint8_t state
   256                           /**< Neuer Zustand */
   256                           /**< Neuer Zustand */
   257                           )
   257                           )
   258 {
   258 {
   259     ec_command_t command;
   259     ec_command_t command;
   260     unsigned char data[2];
   260     uint8_t data[2];
   261     cycles_t start, end, timeout;
   261     cycles_t start, end, timeout;
   262 
   262 
   263     EC_WRITE_U16(data, state);
   263     EC_WRITE_U16(data, state);
   264 
   264 
   265     ec_command_init_npwr(&command, slave->station_address, 0x0120, 2, data);
   265     ec_command_init_npwr(&command, slave->station_address, 0x0120, 2, data);