ich bin mit meinem Projekt von einem Uno R3 auf einen R4 WiFi gewechselt. Ich betreibe dabei eine DCF77 Uhr. Dazu benötige ich die Funktion parity_even_bit, die bislang in der util/parity.h zu finden war. Nun nicht mehr. Wie löse ich das Problem? Könnt ihr helfen?
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
zunächst mal vielen Dank für die schnellen Reaktionen.
Ich bin auf den R4 WiFi umgestiegen, weil ich Daten über das Internet (ftp) senden will.
Ich habe es bislang so verstanden, dass die util/parity.h zu den sogenannten Core-Files gehört. Für den Uno R3: ja - für den R4: nein? Ich dachte, dass ich möglichweise nun noch irgenetwas nachladen muss...
Ein Nachtrag zum "Nachbau". Ich habe bei github gefunden, dass besagte Funktion dort in Assembler geschrieben ist. Wenn ich es richtig verstanden habe, gibt es beim R4 einen anderen Prozessor. D. h., dr "alte" Code geht nicht mehr.
Wenn ihr kein AVR Board (Arduino UNO, Nano, Mega, etc.) verwendet, dann bindet parity.h nicht mit ein und entkommentiert die Ersatzfunktion am Ende dieses und der folgenden Sketche.
für die Nachwelt:
// source: https://wolles-elektronikkiste.de/dcf77-funkuhr
// use the following lines if you don't use an AVR MCU
bool parity_even_bit(uint8_t val){
val ^= val >> 4;
val ^= val >> 2;
val ^= val >> 1;
val &= 0x01;
return val;
}
Gute Anregung - ich habe zunächst einfach nur mal die vorhandene Schaltung genommen. Dann hatte ich überlegt, sowohl das DCF77-, als auch das RTC-Modul zu ersetzen. Bin dann aber doch zu dem Schluss gelangt, die Zeit normalerweise aus der RTC zu nehmen und DCF77 - oder auch NTP - zum justieren zu nutzen. Es ist alles noch work in progress und ich bin für jede Anregung dankbar.
Übrigens: das ganze ist eine Zisternen-Überwachung (mit Ultraschall und Schwimmerschalter). Die Wasserstände möchte ich jetzt mit ftp auf einem NAS an der FritzBox speichern, um sie mit den Daten aus meinem Netatmo-Regensensor zu vergleichen. Daraus will ich Hinweise auf z. B. verstopfte Zulauffilter generieren....
Ok, bei mir läuft ähnliches, allerding aktuell auf einem ESP8266, zukünftig auf einem ESP32-S3. Und ich verwende ausschließlich NTP, ohne RTC. Anzeige auf einem Webserver mit Speicherung im Dateisystem (LittleFS) des ESP.
Gcc hat auch __builtin_parity() eingebaut... z.B. __builtin_parity(minutes)
ergibt 1 bei ungerader bzw. 0 bei gerader Bit-Zahl.
Außerdem gibt es noch __builtin_parityl(). Die kann 32 Bit. Damit kann die Parität vom Datum in einem Rutsch ermittelt werden.
Die Anzeige auf einem Webserver interessiert mich natürlich. Ich habe eine eigene domain mit eine Joomla Webseite. Irgendwie habe ich gehofft, dort ein modul zu finden, das mir Daten anzeigt, die ich per GET dorthin sende. Aber - ich bin nicht fündig geworden. Und so etwas selbst zu programmieren - da fehlt mir (inzwischen) zu viel Wissen.....
Du kannst in Joomla auch eigene HTML- bzw. PHP-Seiten einbinden.
Ich habe das vor vielen Jahren mal gemacht, um für eine gewählte Klasse die Klassenarbeiten als PDF zu erstellen und auszugeben, damit die Eltern sich informieren können. Das Ganze basierte auf einer MySQL/MariaDB.