Skip to content
Snippets Groups Projects
Commit 1c05315e authored by Florian Pose's avatar Florian Pose
Browse files

Now fetching port physical layer from EEPROM

parent 92df7935
No related branches found
No related tags found
No related merge requests found
......@@ -124,6 +124,7 @@ int ec_slave_init(ec_slave_t *slave, /**< EtherCAT-Slave */
slave->dl_link[i] = 0;
slave->dl_loop[i] = 0;
slave->dl_signal[i] = 0;
slave->sii_physical_layer[i] = 0xFF;
}
return 0;
......@@ -619,6 +620,8 @@ int ec_slave_fetch_general(ec_slave_t *slave, /**< EtherCAT-Slave */
const uint8_t *data /**< Kategorie-Daten */
)
{
unsigned int i;
if (ec_slave_locate_string(slave, data[0], &slave->eeprom_group))
return -1;
if (ec_slave_locate_string(slave, data[1], &slave->eeprom_name))
......@@ -626,6 +629,9 @@ int ec_slave_fetch_general(ec_slave_t *slave, /**< EtherCAT-Slave */
if (ec_slave_locate_string(slave, data[3], &slave->eeprom_desc))
return -1;
for (i = 0; i < 4; i++)
slave->sii_physical_layer[i] = (data[4] & (0x03 << (i * 2))) >> (i * 2);
return 0;
}
......@@ -1011,7 +1017,22 @@ void ec_slave_print(const ec_slave_t *slave, /**< EtherCAT-Slave */
EC_INFO(" Data link status:\n");
for (i = 0; i < 4; i++) {
EC_INFO(" Port %i: link %s, loop %s, %s\n", i,
EC_INFO(" Port %i (", i);
switch (slave->sii_physical_layer[i]) {
case 0x00:
printk("EBUS");
break;
case 0x01:
printk("100BASE-TX");
break;
case 0x02:
printk("100BASE-FX");
break;
default:
printk("unknown");
}
printk(")\n");
EC_INFO(" link %s, loop %s, %s\n",
slave->dl_link[i] ? "up" : "down",
slave->dl_loop[i] ? "closed" : "open",
slave->dl_signal[i] ? "signal detected" : "no signal");
......
......@@ -222,6 +222,7 @@ struct ec_slave
uint16_t sii_tx_mailbox_offset; /**< Adresse der Mailbox (Slave->Master) */
uint16_t sii_tx_mailbox_size; /**< Adresse der Mailbox (Slave->Master) */
uint16_t sii_mailbox_protocols; /**< Untersttzte Mailbox-Protokolle */
uint8_t sii_physical_layer[4]; /**< Uebertragungsarten der Ports */
const ec_slave_type_t *type; /**< Zeiger auf die Beschreibung
des Slave-Typs */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment