   pinMode(debug, OUTPUT);
   pinMode(in, INPUT);
   digitalWrite(out, HIGH);
-  digitalWrite(debug, HIGH);
+  digitalWrite(debug, LOW);
   ethernet.setup(mac, ip, port);
   Serial.begin(9600);
   Serial.println("Start.");
+  Serial.print("Fractions per overflow: "); Serial.println(fractionsPerOverflow);
   setupTimer();
 }
 

volatile int writeCurBit = 0;
volatile int writeCurByte = 0;

volatile uint32_t curTime = 0;
volatile uint32_t curTimeFractions = 0;
bool knowTime = false;

               buf[ICMP_TYPE_P]==ICMP_TYPE_ECHOREQUEST_V) {
      es.ES_make_echo_reply_from_request(buf, length);
    } else if (buf[IP_PROTO_P] == IP_PROTO_UDP_V && buf[UDP_DST_PORT_L_P] == ntpPort && length == UDP_DATA_P + NTP_PACKET_SIZE) {
      digitalWrite(debug, HIGH);
      // NOTE: requires disabling the pass-only-arp-broadcast filter from enc28j60
      uint32_t a = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 0];
      uint32_t b = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 1];
      uint32_t c = buf[UDP_DATA_P + TRANSMIT_TIMESTAMP_P + 2];
