bool ready = false;
bool writy = true;
long timestamp = 0;
long timestamp_other = 0;
long timestamp_new = 0;
long transittime = 0;
long receivedelay = 0;
void setup() {
Serial.begin(57600);
delay(5000);
}
void loop() {
if (writy) {
timestamp = millis();
Serial.println(timestamp);
ready = true;
writy = false;
}
if (Serial.available()) {
if(ready){
receivedelay = millis();
timestamp_other = Serial.parseInt();
receivedelay = millis()-receivedelay;
transittime = millis()-timestamp;
timestamp_new = timestamp_other + transittime/2 - receivedelay;
Serial.println(timestamp_new);
Serial.println(timestamp_other);
Serial.println(transittime);
Serial.println(receivedelay);
ready = false;
}
}
}