master/slave.c
changeset 410 3b8e94d623ab
parent 409 bc4c852e1b93
child 412 2e50ddc3e777
equal deleted inserted replaced
409:bc4c852e1b93 410:3b8e94d623ab
   898     sdodata->subindex = sdo_subindex;
   898     sdodata->subindex = sdo_subindex;
   899     memcpy(sdodata->data, data, size);
   899     memcpy(sdodata->data, data, size);
   900     sdodata->size = size;
   900     sdodata->size = size;
   901 
   901 
   902     list_add_tail(&sdodata->list, &slave->sdo_confs);
   902     list_add_tail(&sdodata->list, &slave->sdo_confs);
       
   903     return 0;
       
   904 }
       
   905 
       
   906 /*****************************************************************************/
       
   907 
       
   908 /**
       
   909    \return 0 in case of success, else < 0
       
   910 */
       
   911 
       
   912 int ec_slave_validate(const ec_slave_t *slave, /**< EtherCAT slave */
       
   913                       uint32_t vendor_id, /**< vendor ID */
       
   914                       uint32_t product_code /**< product code */
       
   915                       )
       
   916 {
       
   917     if (vendor_id != slave->sii_vendor_id ||
       
   918         product_code != slave->sii_product_code) {
       
   919         EC_ERR("Invalid slave type at position %i - Requested: 0x%08X 0x%08X,"
       
   920                " found: 0x%08X 0x%08X\".\n", slave->ring_position, vendor_id,
       
   921                product_code, slave->sii_vendor_id, slave->sii_product_code);
       
   922         return -1;
       
   923     }
   903     return 0;
   924     return 0;
   904 }
   925 }
   905 
   926 
   906 /******************************************************************************
   927 /******************************************************************************
   907  *  Realtime interface
   928  *  Realtime interface