equal
deleted
inserted
replaced
309 slave->base_sync_count = EC_MAX_SYNC_MANAGERS; |
309 slave->base_sync_count = EC_MAX_SYNC_MANAGERS; |
310 } |
310 } |
311 |
311 |
312 octet = EC_READ_U8(datagram->data + 7); |
312 octet = EC_READ_U8(datagram->data + 7); |
313 for (i = 0; i < EC_MAX_PORTS; i++) { |
313 for (i = 0; i < EC_MAX_PORTS; i++) { |
314 slave->base_ports[i] = (octet >> (2 * i)) & 0x03; |
314 slave->ports[i].desc = (octet >> (2 * i)) & 0x03; |
315 } |
315 } |
316 |
316 |
317 octet = EC_READ_U8(datagram->data + 8); |
317 octet = EC_READ_U8(datagram->data + 8); |
318 slave->base_fmmu_bit_operation = octet & 0x01; |
318 slave->base_fmmu_bit_operation = octet & 0x01; |
319 slave->base_dc_supported = (octet >> 2) & 0x01; |
319 slave->base_dc_supported = (octet >> 2) & 0x01; |
415 ec_datagram_print_wc_error(datagram); |
415 ec_datagram_print_wc_error(datagram); |
416 return; |
416 return; |
417 } |
417 } |
418 |
418 |
419 for (i = 0; i < EC_MAX_PORTS; i++) { |
419 for (i = 0; i < EC_MAX_PORTS; i++) { |
420 slave->dc_receive_times[i] = EC_READ_U32(datagram->data + 4 * i); |
420 slave->ports[i].receive_time = EC_READ_U32(datagram->data + 4 * i); |
421 } |
421 } |
422 |
422 |
423 ec_fsm_slave_scan_enter_datalink(fsm); |
423 ec_fsm_slave_scan_enter_datalink(fsm); |
424 } |
424 } |
425 |
425 |
476 return; |
476 return; |
477 } |
477 } |
478 |
478 |
479 dl_status = EC_READ_U16(datagram->data); |
479 dl_status = EC_READ_U16(datagram->data); |
480 for (i = 0; i < EC_MAX_PORTS; i++) { |
480 for (i = 0; i < EC_MAX_PORTS; i++) { |
481 slave->ports[i].dl_link = dl_status & (1 << (4 + i)) ? 1 : 0; |
481 slave->ports[i].link.link_up = dl_status & (1 << (4 + i)) ? 1 : 0; |
482 slave->ports[i].dl_loop = dl_status & (1 << (8 + i * 2)) ? 1 : 0; |
482 slave->ports[i].link.loop_closed = dl_status & (1 << (8 + i * 2)) ? 1 : 0; |
483 slave->ports[i].dl_signal = dl_status & (1 << (9 + i * 2)) ? 1 : 0; |
483 slave->ports[i].link.signal_detected = dl_status & (1 << (9 + i * 2)) ? 1 : 0; |
484 } |
484 } |
485 |
485 |
486 // Start fetching SII size |
486 // Start fetching SII size |
487 |
487 |
488 fsm->sii_offset = EC_FIRST_SII_CATEGORY_OFFSET; // first category header |
488 fsm->sii_offset = EC_FIRST_SII_CATEGORY_OFFSET; // first category header |