master/fsm_master.c
changeset 1999 5f1269a71588
parent 1998 0330fdcbdd1f
child 2001 2e05246f3b00
equal deleted inserted replaced
1998:0330fdcbdd1f 1999:5f1269a71588
   905 	// and app_time set time
   905 	// and app_time set time
   906 	correction32 = (u32)correction;
   906 	correction32 = (u32)correction;
   907 	system_time32 -= correction32;
   907 	system_time32 -= correction32;
   908 	old_offset32 = (u32) old_offset;
   908 	old_offset32 = (u32) old_offset;
   909 
   909 
   910     time_diff = (u32) slave->master->app_time - system_time32;
   910     time_diff = (u32) slave->master->app_start_time - system_time32;
   911 
   911 
   912     EC_SLAVE_DBG(slave, 1, "DC system time offset calculation:"
   912     EC_SLAVE_DBG(slave, 1, "DC system time offset calculation:"
   913             " system_time=%u (corrected with %u),"
   913             " system_time=%u (corrected with %u),"
   914             " app_time=%llu, diff=%i\n",
   914             " app_start_time=%llu, diff=%i\n",
   915 			system_time32, correction32,
   915 			system_time32, correction32,
   916             slave->master->app_time, time_diff);
   916             slave->master->app_start_time, time_diff);
   917 
   917 
   918     if (EC_ABS(time_diff) > EC_SYSTEM_TIME_TOLERANCE_NS) {
   918     if (EC_ABS(time_diff) > EC_SYSTEM_TIME_TOLERANCE_NS) {
   919         new_offset = time_diff + old_offset32;
   919         new_offset = time_diff + old_offset32;
   920         EC_SLAVE_DBG(slave, 1, "Setting time offset to %u (was %u)\n",
   920         EC_SLAVE_DBG(slave, 1, "Setting time offset to %u (was %u)\n",
   921                 new_offset, old_offset32);
   921                 new_offset, old_offset32);
   942     s64 time_diff;
   942     s64 time_diff;
   943 
   943 
   944 	// correct read system time by elapsed time between read operation
   944 	// correct read system time by elapsed time between read operation
   945 	// and app_time set time
   945 	// and app_time set time
   946 	system_time -= correction;
   946 	system_time -= correction;
   947 	time_diff = fsm->slave->master->app_time - system_time;
   947     time_diff = fsm->slave->master->app_start_time - system_time;
   948 
   948 
   949     EC_SLAVE_DBG(slave, 1, "DC system time offset calculation:"
   949     EC_SLAVE_DBG(slave, 1, "DC system time offset calculation:"
   950             " system_time=%llu (corrected with %llu),"
   950             " system_time=%llu (corrected with %llu),"
   951             " app_time=%llu, diff=%lli\n",
   951             " app_start_time=%llu, diff=%lli\n",
   952             system_time, correction,
   952             system_time, correction,
   953             slave->master->app_time, time_diff);
   953             slave->master->app_start_time, time_diff);
   954 
   954 
   955     if (EC_ABS(time_diff) > EC_SYSTEM_TIME_TOLERANCE_NS) {
   955     if (EC_ABS(time_diff) > EC_SYSTEM_TIME_TOLERANCE_NS) {
   956         new_offset = time_diff + old_offset;
   956         new_offset = time_diff + old_offset;
   957         EC_SLAVE_DBG(slave, 1, "Setting time offset to %llu (was %llu)\n",
   957         EC_SLAVE_DBG(slave, 1, "Setting time offset to %llu (was %llu)\n",
   958                 new_offset, old_offset);
   958                 new_offset, old_offset);