436 EC_DBG("Slave %u: DC system_time=%llu old_offset=%llu, " |
436 EC_DBG("Slave %u: DC system_time=%llu old_offset=%llu, " |
437 "app_time=%llu, new_offset=%llu\n", |
437 "app_time=%llu, new_offset=%llu\n", |
438 slave->ring_position, system_time, old_offset, |
438 slave->ring_position, system_time, old_offset, |
439 slave->master->app_time, new_offset); |
439 slave->master->app_time, new_offset); |
440 |
440 |
441 // set DC system time offset |
441 // set DC system time offset and transmission delay |
442 ec_datagram_fpwr(datagram, slave->station_address, 0x0920, 8); |
442 ec_datagram_fpwr(datagram, slave->station_address, 0x0920, 12); |
443 EC_WRITE_U64(datagram->data, new_offset); |
443 EC_WRITE_U64(datagram->data, new_offset); |
|
444 EC_WRITE_U32(datagram->data + 8, slave->transmission_delay); |
444 fsm->retries = EC_FSM_RETRIES; |
445 fsm->retries = EC_FSM_RETRIES; |
445 fsm->state = ec_fsm_slave_config_state_dc_write_offset; |
446 fsm->state = ec_fsm_slave_config_state_dc_write_offset; |
446 } |
447 } |
447 |
448 |
448 /*****************************************************************************/ |
449 /*****************************************************************************/ |