equal
deleted
inserted
replaced
437 const ec_sii_pdo_t *pdo; |
437 const ec_sii_pdo_t *pdo; |
438 const ec_sii_pdo_entry_t *entry; |
438 const ec_sii_pdo_entry_t *entry; |
439 |
439 |
440 master = domain->master; |
440 master = domain->master; |
441 |
441 |
442 // translate address |
442 // translate address and validate slave |
443 if (!(slave = ecrt_master_get_slave(master, address))) return NULL; |
443 if (!(slave = ecrt_master_get_slave(master, address))) return NULL; |
444 |
444 if (ec_slave_validate(slave, vendor_id, product_code)) return NULL; |
445 if (vendor_id != slave->sii_vendor_id || |
|
446 product_code != slave->sii_product_code) { |
|
447 EC_ERR("Invalid slave type at position %i - Requested: 0x%08X 0x%08X," |
|
448 " found: 0x%08X 0x%08X\".\n", slave->ring_position, vendor_id, |
|
449 product_code, slave->sii_vendor_id, slave->sii_product_code); |
|
450 return NULL; |
|
451 } |
|
452 |
445 |
453 if (!data_ptr) { |
446 if (!data_ptr) { |
454 // data_ptr is NULL => mark slave as "registered" (do not warn) |
447 // data_ptr is NULL => mark slave as "registered" (do not warn) |
455 slave->registered = 1; |
448 slave->registered = 1; |
456 } |
449 } |