DCF77 and module - Which library is working?

Status
Not open for further replies.

cebersp

Well-known member
Hi, has anyone managed to synchronise time on Teensy 3.6 with a module DCF77?

I am using a module from pollin and I am able to get some signal from the module with this very basic test program:

Code:
//Funktioniert mit Teensy 3.6 und Pollin-Empfänger
#define DCF77PIN 2
#define DCF77_POWER 28

unsigned char signal = 0;
unsigned char buffer;

void setup(void) {
 Serial.begin(9600);
 pinMode(DCF77PIN, INPUT_PULLUP);
 pinMode(DCF77_POWER, OUTPUT); 
 digitalWrite(DCF77_POWER, LOW);
}

void loop(void) {
 signal = digitalRead(DCF77PIN);
 if (buffer != signal) {
 Serial.println(signal);
 buffer = signal;
 }
}

But I am not able to use the longer test program on https://arduino-hannover.de/2012/06/14/dcf77-empfanger-mit-arduino-betreiben/ due to a compiler error at the interrupt routine.

"DCF Binary Stream" on http://www.hjberndt.de/soft/rtctftdcf.html does not work too.

Is there a library which is working together with teensy?

Thank you very much for some help!
 
OK, now I found
http://muck-solutions.com/?page_id=1637

I can compile the following code and I get a blinking LED with 1 Hz (as far as I can see):
Code:
#include <DCF77.h>
//#include <Time.h> // Funktioniert nicht mit DCF77
#include <TimeLib.h> // neue lib einbinden


#define DCF_PIN 2                // Connection pin to DCF 77 device
#define LEDPin 13                // LED Output 
#define DCF77_POWER 28           // PIN to switch on the module
#define DCF_INTERRUPT 0          // Interrupt number associated with pin
#define timeinterval 2000        // in ms
time_t time;
// Non-inverted input on pin DCF_PIN
DCF77 DCF = DCF77(DCF_PIN,DCF_INTERRUPT, true); 
//DCF77 DCF = DCF77(DCF_PIN,DCF_INTERRUPT, false); 

int timediv;
int oldtime; 

void setup() {
  Serial.begin(115200); 
  pinMode(LEDPin, OUTPUT);
  DCF.Start();
  Serial.println("Waiting for DCF77 time ... ");
  Serial.println("It will take at least 2 minutes before a first time update.");
  oldtime = millis();
  pinMode(DCF77_POWER, OUTPUT); 
  digitalWrite(DCF77_POWER, LOW);   
}

void loop() {
  timediv = millis()- oldtime;
  digitalWrite(LEDPin, digitalRead (DCF_PIN));
  time_t DCFtime = DCF.getTime(); // Check if new DCF77 time is available
  if (DCFtime!=0)
  {
    Serial.println("Time is updated");
    setTime(DCFtime);
  }    
  if (timediv >= timeinterval){
    oldtime = millis();
    digitalClockDisplay();  
  }
}

void digitalClockDisplay(){
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.print(" ");
  Serial.print(day());
  Serial.print(" ");
  Serial.print(month());
  Serial.print(" ");
  Serial.print(year()); 
  Serial.println(); 
}

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

But time does not synchronise.

I am not sure, if the interupt routine is not working or if the signal is not clear enough. How can I check this?
 
OK, this is working and can decode the hours and minutes:
Code:
// Funktioniert mit Teensy 3.6
int DCF77_pin = 2;
#define DCF77_POWER 28           // PIN to switch on the module
int DCFSplitTime = 170;         // war 140
unsigned long duration;
int bit_counter = 0;

char bits[60];

void setup()
{ Serial.begin(9600); 
  pinMode(DCF77_pin, INPUT);
  Serial.println("DCF-77 Tester, jede Sekunde ein Signal...");
  delay(1000);
  pinMode(DCF77_POWER, OUTPUT); 
  digitalWrite(DCF77_POWER, LOW);    
}
 
void loop()
{ 
  duration = pulseIn(DCF77_pin, HIGH,1300000); // gibt ein 0 zurück wenn t ~ 1,8s; Startbit
  bit_counter ++;
  Serial.print("Time is updated: ");
  if (duration == 0)
  {      bit_counter = -1;         
         Serial.println("\t Start, neue Minute beginnt."); 
         int Stunde= bits[29]+ 2*bits[30] + 4*bits[31] + 8*bits[32];
         Stunde+= 10*bits[33]+ 20* bits[34];         
         int Minute= bits[21]+ 2*bits[22] + 4*bits[23] + 8*bits[24];
         Minute+= 10*bits[25]+ 20* bits[26] + 40*bits[27];
         Serial.print(Stunde);
         Serial.print(":"); 
         Serial.println(Minute);        
  }        
  else { Serial.print(duration/1000);
         Serial.print("ms");         
         Serial.print("\t Bit:");
         Serial.print(bit_counter);
         Serial.print("\t Bit_Status:");
         if (duration/1000 > DCFSplitTime)
         {
          Serial.println("1");
          bits[bit_counter]=1;
           }
         else 
         {
          Serial.println("0");
          bits[bit_counter]=0;                   
          }
       }
  
 }


So, the module works and there is not too much noise in the reception.

I think there could be problems with interupts or timers with the libraries?
 
Hi,
I managed to solve the question:
At
http://thijs.elenbaas.net/2012/04/arduino-dcf77-radio-clock-receiver-library/
is a description of his library, which is also on:
http://playground.arduino.cc/Code/DCF77

This can be used but has to be modified just a little bit.

In DCF77.cpp the modification is:
Code:
void DCF77::Start(void) 
{
	// attachInterrupt(dCFinterrupt, int0handler, CHANGE); // *** original Arduino Version
    attachInterrupt(digitalPinToInterrupt(dCF77Pin), int0handler, CHANGE); //(recommended)
}


Then the following sketch works:
Code:
/*
 * DCFBinaryStream.ino
 * example code illustrating time synced from a DCF77 receiver
 * Thijs Elenbaas, 2012
 * This example code is in the public domain.
 
  This example shows the binary stream generated by the 
  pulse train coming from the DCF decoder and the resulting
  time
  In order for this example to give output from the DCF library,
  make sure that logging is turned on in the DCF library. You can 
  do this by adding the   #define VERBOSE_DEBUG 1   in Utils.cpp. 
 */

// Funktioniert nicht wegen Time.h ???


#include <DCF77.h>       //https://github.com/thijse/Arduino-Libraries/downloads
#include <TimeLib.h>        //http://www.arduino.cc/playground/Code/Time

#define DCF_PIN 2	         // Connection pin to DCF 77 device
#define DCF77_POWER 28
#define LED_Pin 13
#define DCF_INTERRUPT 0		 // Interrupt number associated with pin *** is not used!


time_t time;
DCF77 DCF = DCF77(DCF_PIN,DCF_INTERRUPT);

void setup() {
 Serial.begin(9600);
 pinMode(LED_Pin, OUTPUT);
 digitalWrite(LED_Pin, HIGH); 
 delay(2000);  
 Serial.println("1   - binary 1 corresponding to long pulse");
 Serial.println("0   - binary 0 corresponding to short pulse");
 Serial.println("BF  - Buffer is full at end of time-sequence. This is good");
 Serial.println("EoB - Buffer is full before at end of time-sequence");
 Serial.println("EoM - Buffer is not yet full at end of time-sequence");
 pinMode(DCF77_POWER, OUTPUT); 
 digitalWrite(DCF77_POWER, LOW); 
 DCF.Start();
}

void loop() {
	delay(1000);
	time_t DCFtime = DCF.getTime();
	if (DCFtime!=0) {
    setTime(DCFtime);
    Serial.print(" DCF: ");    
		digitalClockDisplay(DCFtime);
	}	
  else {
    Serial.print(" running: ");
    digitalClockDisplay(now());
  }
}

void digitalClockDisplay(time_t _time){
  tmElements_t tm;   
  breakTime(_time, tm);

  // Serial.println("");
  Serial.print("Time: ");
  Serial.print(tm.Hour);
  Serial.print(":");
  printDigits(tm.Minute);
  Serial.print(":");
  printDigits(tm.Second);
  Serial.print(" Date: ");
  Serial.print(tm.Day);
  Serial.print(".");
  Serial.print(tm.Month);
  Serial.print(".");
  Serial.println(tm.Year+1970);
}

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}
 
Hi,
I managed to solve the question:

Are you sure the sketch is working? I made the change you mentioned but I can't get the time to update, I copied your sketch and hooked up the pins in the same way. Not sure what I'm doing wrong in that case, here's the log

Code:
1   - binary 1 corresponding to long pulse
0   - binary 0 corresponding to short pulse
BF  - Buffer is full at end of time-sequence. This is good
EoB - Buffer is full before at end of time-sequence
EoM - Buffer is not yet full at end of time-sequence
 running: Time: 0::00::03 Date: 1.1.1970
 running: Time: 0::00::04 Date: 1.1.1970
EoM
11rCT
rCT
rCT
 running: Time: 0::00::05 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
 running: Time: 0::00::06 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
1rCT
 running: Time: 0::00::07 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::08 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::09 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
 running: Time: 0::00::10 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::00::11 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::12 Date: 1.1.1970
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::13 Date: 1.1.1970
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::14 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
 running: Time: 0::00::15 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::16 Date: 1.1.1970
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::17 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
 running: Time: 0::00::18 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::00::19 Date: 1.1.1970
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::20 Date: 1.1.1970
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
1 running: Time: 0::00::21 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
 running: Time: 0::00::22 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rPW
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::23 Date: 1.1.1970
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
 running: Time: 0::00::24 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::00::25 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::26 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::27 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
1rCT
 running: Time: 0::00::28 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::29 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0 running: Time: 0::00::30 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::31 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::32 Date: 1.1.1970
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::33 Date: 1.1.1970
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::34 Date: 1.1.1970
1rCT
rCT
rCT
rPW
1rCT
rCT
rCT
 running: Time: 0::00::35 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::36 Date: 1.1.1970
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::37 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::00::38 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::39 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::40 Date: 1.1.1970
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0 running: Time: 0::00::41 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
rPW
rPW
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::42 Date: 1.1.1970
rCT
rCT
rCT
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::43 Date: 1.1.1970
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::44 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
 running: Time: 0::00::45 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::46 Date: 1.1.1970
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::47 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::48 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::49 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0EoB
EoM
rCT
rCT
rCT
 running: Time: 0::00::50 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::51 Date: 1.1.1970
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::52 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::53 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::54 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::55 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::56 Date: 1.1.1970
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
 running: Time: 0::00::57 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::58 Date: 1.1.1970
rCT
rCT
rCT
rCT
1rCT
rCT
rCT
rCT
rCT
 running: Time: 0::00::59 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::00 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
rPW
0rCT
rCT
 running: Time: 0::01::01 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
 running: Time: 0::01::02 Date: 1.1.1970
rCT
rCT
rCT
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::03 Date: 1.1.1970
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::04 Date: 1.1.1970
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::05 Date: 1.1.1970
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::06 Date: 1.1.1970
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::07 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::01::08 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
 running: Time: 0::01::09 Date: 1.1.1970
rCT
 running: Time: 0::01::10 Date: 1.1.1970
EoM
1rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::11 Date: 1.1.1970
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
 running: Time: 0::01::12 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
1 running: Time: 0::01::13 Date: 1.1.1970
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::01::14 Date: 1.1.1970
rPW
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::15 Date: 1.1.1970
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
 running: Time: 0::01::16 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rPW
 running: Time: 0::01::17 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
1rCT
 running: Time: 0::01::18 Date: 1.1.1970
rCT
rCT
rCT
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::19 Date: 1.1.1970
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0 running: Time: 0::01::20 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::21 Date: 1.1.1970
1rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::22 Date: 1.1.1970
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::23 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
 running: Time: 0::01::24 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::01::25 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::26 Date: 1.1.1970
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::27 Date: 1.1.1970
rCT
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::28 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
1rCT
rCT
rCT
 running: Time: 0::01::29 Date: 1.1.1970
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::30 Date: 1.1.1970
rPW
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::31 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::32 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
 running: Time: 0::01::33 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::34 Date: 1.1.1970
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::35 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
 running: Time: 0::01::36 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::37 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
1rCT
rCT
rCT
rCT
 running: Time: 0::01::38 Date: 1.1.1970
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::39 Date: 1.1.1970
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::40 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
0 running: Time: 0::01::41 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
 running: Time: 0::01::42 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::43 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
 running: Time: 0::01::44 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::45 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::46 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::47 Date: 1.1.1970
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
 running: Time: 0::01::48 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::49 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::50 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::51 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::52 Date: 1.1.1970
rCT
rCT
rCT
rCT
1rCT
rCT
rCT
 running: Time: 0::01::53 Date: 1.1.1970
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::54 Date: 1.1.1970
rCT
rPW
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::55 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
 running: Time: 0::01::56 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
1rCT
 running: Time: 0::01::57 Date: 1.1.1970
rCT
0EoB
EoM
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::58 Date: 1.1.1970
rPW
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::01::59 Date: 1.1.1970
rPW
0rCT
rCT
rCT
rCT
rCT
rPW
 running: Time: 0::02::00 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::01 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
0rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::02 Date: 1.1.1970
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::03 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::04 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::05 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::06 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
1rCT
 running: Time: 0::02::07 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::08 Date: 1.1.1970
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
 running: Time: 0::02::09 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rPW
rPW
1rCT
 running: Time: 0::02::10 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::11 Date: 1.1.1970
rCT
rPW
rPW
rPW
1rCT
rCT
rCT
rCT
rCT
rCT
rPW
rPW
 running: Time: 0::02::12 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::13 Date: 1.1.1970
1rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 running: Time: 0::02::14 Date: 1.1.1970
0rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
0 running: Time: 0::02::15 Date: 1.1.1970
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
rCT
 
Hi mick, this is 4 years ago, so I don't remember exactly, but I think I wasn't writing rubbish then.
I looks if it receives faulty signals? I would try to put the receiver nearby the window and try different directions of the antenna and try by night, hoping for less noise. Avoid equipment like monitors nearby. I am located only about 200km from Frankfurt and still reception is bad sometimes. What distance are you?
Good luck, Christof
 
I do have another question though, more about the interpretation of the signal.

DCF77 transmits in local time, meaning it also does daylight savings time. I'm using this signal for a permanent installation that uses the time to look up the position of the sun throughout the year which I hope can run without maintenance for a very long time.

In the lookup table of the data I can account for daylight savings time somehow, or I can convert the time to UTC, both are fine.

BUT, given there's quite some talk in the EU about getting rid of daylight savings time, I'm wondering, in the long term, could that mean if I convert to UTC, assuming I need to account for daylight savings time, which at some point in the future won't exist anymore, and potentially won't get broadcasted via DCF77, that once that happens my time conversion will be faulty at some point?

Or does the signal include an indication of the offset it has from UTC or something? According to the wiki it seem bit 17 and 18 should indicate something

https://en.wikipedia.org/wiki/DCF77

Does anyone know if the library takes this into account?
 
answering myself here, but the signal includes some bytes that tell you how many hours you're derived from UTC, so future proof.
 
Status
Not open for further replies.
Back
Top