Skip to content

Releases: udoklein/dcf77

Bugfix DCF77 Scope

02 Jan 11:23

Choose a tag to compare

Minor Bugfix for issue #42 for dcf77_scope for some compiler versions.

More Conservative Demodulator Handling

28 Feb 13:29

Choose a tag to compare

There was a very subtle interaction between the frequency control and the demodulator handling.
In the presence of some noisy signal with some very specific noise content the demodulator locked to a "phantom" phase. This in turn caused the frequency control to tune completely wrong. If at the same time the clock controller found that the crystal frequency was properly tuned this caused the clock to lose the phase and never recover.

The change counters this with two measures:

  1. The demodulator will now require a much higher signal to noise ratio. Hence the impact of noise will be significantly reduced. The downside is that it will now take somewhat longer till the clock will properly decode.
  2. If the demodulator will lose the phase, then the bandwidth will be widened to make sure that the clock can recapture the phase even if the frequency control is completely wrong.

Bumped Arduino Version in Travis tests

18 Sep 17:51

Choose a tag to compare

Travis will now user Arduino 1.8.10 for checking the library.

Fixed issue with debug output

18 Sep 17:50

Choose a tag to compare

Some flags were not properly set in debug output (see issue #39 for details).

BluePill Support

31 Oct 21:57

Choose a tag to compare

Merged BluePill support (provided by Christoph Tack prog.send@gmail.com here: 9f5a080)

Bugfix: removed some redundant code

23 Sep 18:14

Choose a tag to compare

Removed some redundant code.

Bugfix: proper initialization of local clock

01 Aug 19:23

Choose a tag to compare

The clock controller failed to properly setup the local clock. As a consequence the transition synced --> unlocked --> free was possible within 1s instead of at least 3000s. The setup is now properly called. As a consequence of the bugfix the clock will reaquire synced state faster if the signal quality detoriates for less than 3000 seconds.

Bugfix: Defensive Autotuning

06 Jul 19:53

Choose a tag to compare

The frequency tuning mechanism was to ambitious. This caused more issues than it solved. Thus I downgraded the mechanism slightly.

  1. The tuning results will not be persisted anymore. Most users of the library will not notice this at all. However it decreases the size of the library. It also ensures that it can not get stuck persistently on a flawed adjustment parameter anymore. The point is that there is no guarantee that a properly tuned and persisted adjustment is good after a prolonged period of time. (Possible reasons: crystal aging and temperature differences).

  2. The tuning range is decreased to +/- 125 ppm. However the range can be configured to "extended" (+/- 400 ppm) which is the old setup. This may be noticed by users with very poor crystal oscillators. The library was never designed for out of spec hardware. Thus they either have to fix their hardware or to adapt the configuration as needed.

Optimization: Slightly Improved Logging

01 Jul 19:23

Choose a tag to compare

The newly added configuration features of v3.2.11 will now also show up in the log files.

Feature: Configurable Noise Rejection

30 Jun 11:20

Choose a tag to compare

This release is a "fix" for issues #31 and #27.

The actual fix is in v3.2.10. However the fix has the side effect to delay the initial lock. Hence I made it configurable in 3.2.11 and set the default to the old behaviour. If you experience issues with the clock locking to a biased signal then you might want to change https://github.com/udoklein/dcf77/blob/v3.2.11/dcf77.h#L110. That is you might want to set

static const uint8_t unacceptable_minute_decoder_quality = controller_minute_quality_threshold_t::aggressive_minute_quality;

to something more conservative.