Hallo Dirk,
irgendwie haben wir wohl unterschiedliche Vorstellungen von einem DCF Slave.

Danke für den Test, wobei ich den sehr kritischen Tenor nicht so ganz nachvollziehen kann.
Ich weiss ja nicht was damit gemeint ist, aber meine einfache Vorstellung einer funktionierenden DCF-Software ist eine komplett schlüssige und plausible Datum-Zeit-Information mit der besagten LED am Slave.

Ich habe an PD5 den Decoder-Takt ausgegeben. Das ist nicht der regelmäßige Sekundentakt der Softuhr. Allein schon durch den Minutenimpuls am Ende des Telegramms entsteht eine "Pause". Das ist keine Fehlfunktion. Du wolltest ja auch den Decoder-Takt und nicht einen Sekundentakt, um einen Hinweis auf Empfang zu haben. "Aussetzer" nach 8 oder 15 Sekunden habe ich nicht bemerkt, wenn der Decoder synchronisiert ist. Ist er noch nicht synchronisiert, versucht er natürlich erst, sich nach dem Minutenimpuls zu synchronisieren.
Ich habe den Dekoder im Freien an einem Akku betrieben. Die Antenne ist korrekt ausgerichtet nach Mainflingen.
Nach deiner Beschreibung hat es also der Dekoder nicht geschafft den Neubeginn des Zeittelegramms (fehlende Sekunde) zu erkennen oder die Synchronisation verloren.

Deine Anmerkungen zu den Bits des DCF-Status kann ich gar nicht teilen. Sie sind alle wichtig. Du must sie aber natürlich nicht nutzen.
Sagte ich doch, für die Dekodierung sicherlich, für Übermittlung zum Master nicht wirklich (denn der soll sich auf die korrekte Auswertung ja verlassen).
Was soll ich mit der der Information 15. Sekunde ?
Hilfsantenne dran oder nicht, ich will zentrale Uhrzeit und wissen ob innerhalb der letzten 24h synchronisiert wurde.
Parität ok, aber falsche Zeit/Datum (weil nicht plausibel) was soll ich damit ?

Ich habe die LED's an Port D gegen Gnd angeschaltet....
Meinst du hier Port B ?? An Port D gibt es nur PD5 zum Beschalten.
Die Bits 5/6 von PortB sind bei mir beim Booten immer low. ABER: Wenn dein Master irgendwas senden sollte, kann er diese Bits auch auf high setzen.
Tippfehler meinerseits, meinte natürlich Port B.
Mein Master sendet garnichts, da nicht angeschlossen.

Aber eine gültige Uhrzeit, was soll ich damit anfangen wenn z.B. das Datum ungültig ist?
Dran glauben oder nicht ?, ich würde es nicht glauben und ist somit eine unnütze Information.
Das Gleiche gilt für "gültiges Datum".
Hast du den Sinn dieser Bits verstanden?
Die Bits 5/6 stehen eigentlich dir zur Verfügung. Im Decoder werden beide 1, wenn ein Telegramm gültig ist und bleiben beide 1.
Du selbst kannst sie dann löschen, wenn du die Zeit als inaktuell ansiehst (z.B. jede halbe Stunde).
Die Bits haben also gar nichts mit "glauben" zu tun. Du kannst aus ihnen auch keine Schlüsse auf die TATSÄCHLICHE Gültigkeit der gelesenen Zeit ableiten, weil du ja als Nutzer für sie verantwortlich bist.
Diese Bits dienen im "Automatik-Modus" dazu, die Decodierung einmalig zu starten und dann den Decoder wieder auszuschalten.
OK, spätestens hier gehen unsere Vorstellungen total auseinander.
Wenn ich (Master) für die Gültigkeit (der Slavedaten) verantwortlich bin, wofür brauche ich dann den Slave ?
Wenn eine Software nicht offengelegt wird, habe ich dafür Verständnis.
Um besser abklären zu können ob die Software "brauchbar ist", fehlen dann doch einige wichtige Hinweise (einige sind jetzt klar geworden).
Z.B. wie wird der Sekundentakt in der Software ausgewertet ?
Nur durch die fallende Flanke ? das wäre schlecht.
Pulsbreite der Trägerabsenkung messen ? Schon besser. Mit welchen Toleranzen dann ?

Von dir, Carlo, würde ich dann demnächst deine Version hier gern kennenlernen und testen!
Gruß Dirk
Um das Ganze hier für mich abzuschließen:
Meine Vorstellung vom Slave ist,
1. Morgens so ca. 2:00 wird Datum/Uhrzeit für ungültig (als nicht synchronisiert) erklärt, die Sekunden-LED blinkt rot.
2. Wird nun ein gültiges Zeittelegramm empfangen (das zur vorherigen Minute passt), blinkt die Sekunden-LED grün.

Mögliche Abfragen vom Master wären:
Datum, Uhrzeit, synchronisiert ja/nein
Ggf. Statusbits für Sommer/Winterzeit (Ankündigung der Umschaltung)
Wieviele Tage unsynchronisiert ... bei Bedarf weitere ...

Dafür langt aber auch ein 8-pol ATtiny15 oder ähnliches.

------------
Die Zukunft wäre den "Slave" als zentralen Zeitserver per Funk oder im Stromnetz (PowerLine) ggf. X10 zu betreiben (dann ohne IIC).

Es grüßt Carlo