X-Git-Url: https://code.citadel.org/?p=the_perfect_clock.git;a=blobdiff_plain;f=the_perfect_clock.ino;fp=the_perfect_clock.ino;h=d437e392bfbd2ec2182770119718611d84251a2f;hp=590a1c7fa51ed51306605a47d52fadeda59ef130;hb=1c3d6ebd421a632e522df17a94cf7406620451f8;hpb=6e022cdc576d7b302584867bfc8f0d4fa90181e2 diff --git a/the_perfect_clock.ino b/the_perfect_clock.ino index 590a1c7..d437e39 100644 --- a/the_perfect_clock.ino +++ b/the_perfect_clock.ino @@ -91,8 +91,9 @@ void loop() { static int total_samples = 0; static int high_samples = 0; - if (total_samples >= 1000) { - if (high_samples > 500) { + // read from the WWVB receiver, with some hysteresis + if (total_samples >= 100) { + if (high_samples > 20) { signal = HIGH; } else { @@ -108,6 +109,7 @@ void loop() { } } + // has the timer ticked? unsigned long m = millis(); if (m != previous_millis) { millisecond += (m - previous_millis); @@ -126,10 +128,9 @@ void loop() { previous_millis = m; int pulse_length; - //int signal = digitalRead(wwvb); // is the input high or low right now? if (signal) { - analogWrite(timecodeled, 10); // it's too bright on my board so we dim it; change to digitalWrite() if not needed + analogWrite(timecodeled, 5); // it's too bright on my board so we dim it; change to digitalWrite() if not needed } else { digitalWrite(timecodeled, LOW);