• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

WS2300: Hier die Codierung der History-Datei

Begonnen von lift_off, 11.09.2003, 11:52:39

⏪ vorheriges - nächstes ⏩

lift_off

Für alle, die Freude daran haben. Hier die Codierung der history.dat
der WS2300. Korrekturen und Ergänzungen sind herzlich willkommen.

Wer kennt die Bedeutung der unten gekennzeichneten Bytes im Trailer?

Gruß,
lift_off


// 36 Bytes pro Datensatz
// 28 Bytes Trailer (also ( Dateigröße-28 ) / 36 = Anzahl der Historiensätze)
//
// Datensatz
// ---------
// 00-03 : 04 Byte / -         / 01 00 00 00
// 04-07 : 04 Byte / longword  / Uhrzeit in Sekunden seit 01.01.1900 00:00
// 08-0B : 04 Byte / single    / absoluter Luftdruck in hPa (rel = abs + Offset)
// 0C-0F : 04 Byte / single    / Windstärke in m/s (km/h = m/s * 3,6)
// 10    : 01 Byte / byte      / Windrichtung N=0, NNW=15
// 11    : 01 Byte / -         / 00
// 12    : 01 Byte / -         / 00
// 13    : 01 Byte / -         / 00
// 14-17 : 04 Byte / single    / Regenmenge in mm
// 18-1B : 04 Byte / single    / Innentemperatur in C
// 1C-1F : 04 Byte / single    / Außentemperatur in C
// 20    : 01 Byte / byte      / Innenfeuchte
// 21    : 01 Byte / -         / 00
// 22    : 01 Byte / byte      / Außenfeuchte
// 23    : 01 Byte / -         / 00
//
// Trailer
// -------
// 00-03 : 04 Byte / -        / 87 65 43 21
// 04-07 : 04 Byte / -        / ?  wer weis es ?
// 08-0B : 04 Byte / -        / ?  wer weis es ?
// 0C-0F : 04 Byte / -        / 00 00 00 00
// 10-13 : 04 Byte / longword  / Anzahl der Sätze in Datei
// 14-17 : 04 Byte / longword  / Zeitstempel des ersten  Datensatzes in Datei
// 18-1B : 04 Byte / longword  / Zeitstempel des letzten Datensatzes in Datei


Geändert 29.09.2003 19:20

Bummi

> 04-07 : 04 Byte / longint / Uhrzeit in Sekunden seit 01.01.1900 00:00

nach meinen Versuchen die Sekunden bis 07.02.2036 7:28:16 -- iDate ist negativ

iHead = objReader.ReadInt32();
            iDate = objReader.ReadInt32();
            fLr = objReader.ReadSingle();
            fWg = objReader.ReadSingle();  // Relativer Luftdruck
            bWr = objReader.ReadByte();  // Windrichtung
            dummy = objReader.ReadByte();
            dummy = objReader.ReadByte();
            dummy = objReader.ReadByte();
            fRg = objReader.ReadSingle();  // Regenmenge gesamt
            fTi = objReader.ReadSingle();  // Innen Temperatur
            fTa = objReader.ReadSingle();  // Außen Temperatur
            bFi = objReader.ReadByte();
            dummy = objReader.ReadByte();
            bFa = objReader.ReadByte();  // relative Feuchte außen
            dummy = objReader.ReadByte();

lift_off

Da hast Du auch fast recht.

Die größte darstellbare Zahl mit einem Unsigned Int32 ist
4294967295.

Und das sind am 07.02.2036 06:28:16 die Anzahl der seit dem 01.01.1900 00:00 vergangenen Sekunden. 06 Uhr deswegen, weil wir da Winterzeit (Daylight Saving Time) haben.

Und unterm Strich haben wir beide recht. :wink:

mw210461

habe dieses Forum durch Zufall entdeckt, NACHDEM ich per Hand das history.dat Format entschluesselt habe, nun denn...

Meine History.dat enthaelt Fehlmessungen (Regenwert sprang, "Loecher" im Funktransfer), also will ich sie reparieren.
Weder das mitgelieferte "Heavy Weather" noch das chaotische, fehlerhafte "Weather Display" erlauben das Editieren der binaeren Datei, also wollte ich meinen eigenen Editor schreiben.
Datum/Zeit, Feuchte, Wind waren schnell entschluesselt, aber ich scheitere an der NICHT LINEAREN (?) Aufloesung der Temperatur?
Warum ist die binaere Skala nicht linear und hat variable Inkrementierung in verschiedenen Temp-Bereichen?
Kann jemand weiterhelfen - danke?

michael