equal
deleted
inserted
replaced
1492 } |
1492 } |
1493 } |
1493 } |
1494 return size; |
1494 return size; |
1495 } |
1495 } |
1496 |
1496 |
|
1497 /*****************************************************************************/ |
|
1498 |
|
1499 /** |
|
1500 Calculates the size of a sync manager by evaluating PDO sizes. |
|
1501 \return sync manager size |
|
1502 */ |
|
1503 |
|
1504 uint16_t ec_slave_calc_eeprom_sync_size(const ec_slave_t *slave, |
|
1505 /**< EtherCAT slave */ |
|
1506 const ec_eeprom_sync_t *sync |
|
1507 /**< sync manager */ |
|
1508 ) |
|
1509 { |
|
1510 ec_eeprom_pdo_t *pdo; |
|
1511 ec_eeprom_pdo_entry_t *pdo_entry; |
|
1512 uint16_t size; |
|
1513 |
|
1514 if (sync->length) return sync->length; |
|
1515 |
|
1516 size = 0; |
|
1517 list_for_each_entry(pdo, &slave->eeprom_pdos, list) { |
|
1518 if (pdo->sync_manager != sync->index) continue; |
|
1519 |
|
1520 list_for_each_entry(pdo_entry, &pdo->entries, list) { |
|
1521 size += pdo_entry->bit_length / 8; |
|
1522 } |
|
1523 } |
|
1524 |
|
1525 return size; |
|
1526 } |
|
1527 |
1497 /****************************************************************************** |
1528 /****************************************************************************** |
1498 * Realtime interface |
1529 * Realtime interface |
1499 *****************************************************************************/ |
1530 *****************************************************************************/ |
1500 |
1531 |
1501 /** |
1532 /** |