equal
deleted
inserted
replaced
122 |
122 |
123 for (i = 0; i < 4; i++) { |
123 for (i = 0; i < 4; i++) { |
124 slave->dl_link[i] = 0; |
124 slave->dl_link[i] = 0; |
125 slave->dl_loop[i] = 0; |
125 slave->dl_loop[i] = 0; |
126 slave->dl_signal[i] = 0; |
126 slave->dl_signal[i] = 0; |
|
127 slave->sii_physical_layer[i] = 0xFF; |
127 } |
128 } |
128 |
129 |
129 return 0; |
130 return 0; |
130 } |
131 } |
131 |
132 |
617 |
618 |
618 int ec_slave_fetch_general(ec_slave_t *slave, /**< EtherCAT-Slave */ |
619 int ec_slave_fetch_general(ec_slave_t *slave, /**< EtherCAT-Slave */ |
619 const uint8_t *data /**< Kategorie-Daten */ |
620 const uint8_t *data /**< Kategorie-Daten */ |
620 ) |
621 ) |
621 { |
622 { |
|
623 unsigned int i; |
|
624 |
622 if (ec_slave_locate_string(slave, data[0], &slave->eeprom_group)) |
625 if (ec_slave_locate_string(slave, data[0], &slave->eeprom_group)) |
623 return -1; |
626 return -1; |
624 if (ec_slave_locate_string(slave, data[1], &slave->eeprom_name)) |
627 if (ec_slave_locate_string(slave, data[1], &slave->eeprom_name)) |
625 return -1; |
628 return -1; |
626 if (ec_slave_locate_string(slave, data[3], &slave->eeprom_desc)) |
629 if (ec_slave_locate_string(slave, data[3], &slave->eeprom_desc)) |
627 return -1; |
630 return -1; |
|
631 |
|
632 for (i = 0; i < 4; i++) |
|
633 slave->sii_physical_layer[i] = (data[4] & (0x03 << (i * 2))) >> (i * 2); |
628 |
634 |
629 return 0; |
635 return 0; |
630 } |
636 } |
631 |
637 |
632 /*****************************************************************************/ |
638 /*****************************************************************************/ |
1009 |
1015 |
1010 EC_INFO(" Station address: 0x%04X\n", slave->station_address); |
1016 EC_INFO(" Station address: 0x%04X\n", slave->station_address); |
1011 |
1017 |
1012 EC_INFO(" Data link status:\n"); |
1018 EC_INFO(" Data link status:\n"); |
1013 for (i = 0; i < 4; i++) { |
1019 for (i = 0; i < 4; i++) { |
1014 EC_INFO(" Port %i: link %s, loop %s, %s\n", i, |
1020 EC_INFO(" Port %i (", i); |
|
1021 switch (slave->sii_physical_layer[i]) { |
|
1022 case 0x00: |
|
1023 printk("EBUS"); |
|
1024 break; |
|
1025 case 0x01: |
|
1026 printk("100BASE-TX"); |
|
1027 break; |
|
1028 case 0x02: |
|
1029 printk("100BASE-FX"); |
|
1030 break; |
|
1031 default: |
|
1032 printk("unknown"); |
|
1033 } |
|
1034 printk(")\n"); |
|
1035 EC_INFO(" link %s, loop %s, %s\n", |
1015 slave->dl_link[i] ? "up" : "down", |
1036 slave->dl_link[i] ? "up" : "down", |
1016 slave->dl_loop[i] ? "closed" : "open", |
1037 slave->dl_loop[i] ? "closed" : "open", |
1017 slave->dl_signal[i] ? "signal detected" : "no signal"); |
1038 slave->dl_signal[i] ? "signal detected" : "no signal"); |
1018 } |
1039 } |
1019 |
1040 |