       uint32_t c = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 2];
       uint32_t d = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 3];
       uint32_t t = ((a << 24) | (b << 16) | (c << 8) | d) - 2208988800ul + TZ_OFFSET;
+      curTime = t;
+      a = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 4];
+      b = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 5];
+      c = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 6];
+      d = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 7];
+      t = ((a << 24) | (b << 16) | (c << 8) | d) - 2208988800ul + TZ_OFFSET;
+      curTimeFractions = t;
       struct tm tm;
       gmtime_r(t, &tm);
       Serial.println(tm.tm_mday);

  sendBits(setHHMM, sizeof(setHHMM) * 8);
}

void loop() {
  static bool flag = true;
  if (flag) {
    sendHHMM(99, 99);
    flag = false;
  }
  uint16_t length = es.ES_enc28j60PacketReceive(bufferSize, buf);
  if (length && length >= 42 /* IP packet min length */ && length <= UDP_DATA_P + NTP_PACKET_SIZE) {
    if (es.ES_eth_type_is_arp_and_my_ip(buf, length)) {

    digitalWrite(out, HIGH);
    digitalWrite(debug, HIGH);
  }
}

/* End of timer interrupt code */
