Timer und gettimeofday()

TL&DR: Bei Zeitmessungen immer eine monotone Uhr verwendet werden, nicht die normale Systemzeit.

Long story:

In einem speziellen Fall einer Timer-Implementierung wurde gettimeofday() verwendet. Auf dem Entwicklungs-Rechner hat der Timer anstandslos funktioniert. Auf dem Embedded-System mit angeschlossenem GPS hat der Timer nicht gefeuert.

Grund dafür war, daß während des Hochfahrens die Zeit mehrmals gesetzt wurde. Dadurch waren die relativen Abstände der Zeitstempel nicht mehr korrekt. Speziell in dem Fall in dem die System-Zeit 60 Sekunden in die Vergangenheit gesetzt wurde war der 15 Sekunden-Timer plötzlich auf 60+15 Sekunden = 75 Sekunden terminiert.

Bei Zeitberechnungen/Timer ist man in den meisten Fällen an einer Uhr interessiert die für die Laufzeit des Programms bzw. des Systems die Zeit kontinuierlich hochzählt. Das Mittel der Wahl unter Linux ist dafür clock_gettime(CLOCK_MONOTONIC).

Route mit Stopovern in Google-Earth

Standardmäßig bietet Google-Earth zur Routenberechnung nur ein einziges Ziel an. Will man mehrere Zwischenziele/Vias angeben, muß man das manuell in folgendem Format ins Suchfeld (unter “Search”) eingeben:

from:start to:via1 to:via2 to:via3 to:dest

start, dest und die vias können dabei textuelle Angaben, Geokoordinaten oder bereits gesetzte Marker sein. Die Route wird in der angegebenen Reihenfolge berechnet.

Zeitumstellung, Nicht-Computer-Uhren stellen

Uhren in Computern mit modernen Betriebssystemen und Internet-Verbindung sind recht komfortabel: Sie setzen sich dank NTP und und hinterlegter Zeitzonen-Informationen automatisch. Das passiert nicht nur zu der Sommer-/Winterzeitumstellung, sondern ständig im Hintergrund.

Hat man keine andere verlässliche Zeitquelle wie z.B. eine Funkuhr zur Hand bietet es sich daher an zum Stellen von anderen Uhren auf die Computerzeit zuzugreifen.

Continue reading “Zeitumstellung, Nicht-Computer-Uhren stellen”

Howto build Mosquitto for debian 6 (Wheezy)

Update: Of course Debian 6 is “Squeeze” and “Wheezy” is Debian 7. I won’t correct it in the title (to keep the link stable).

In order to try out owntracks – a promising alternative to google latitude – I needed to install Mosquitto on my server. Mosquitto is an open source MQTT broker.

However the server machine still runs on debian 6. As there are no prebuild packages for that version I had to build mosquitto it on my own.

Continue reading “Howto build Mosquitto for debian 6 (Wheezy)”

längeres Band für G-Shock G-7900

Die Uhr soll ihren Dienst als Backup-Instrument beim Tauchen verrichten. Für Warmwasser-Tauchgänge mit dem 5mm-Anzug geht das auch gut, sie passt hervorragend an den rechten Arm neben den Tauchcomputer. Für den dickeren 7mm-Anzug mit Umschlagemanschetten und langem Reißverschluß nahe den Händen ist jedoch das Standard-Resin-Armband zu kurz.

G-Shock mit Original Band
G-Shock mit Original-Band

Eine Befestigung am D-Ring ist für mich keine Option, da ich beide Anzeigen (TC und Uhr) im Blickfeld haben will und am D-Ring tendenziell schon zuviel Ausrüstung lose umherschwimmt.

Continue reading “längeres Band für G-Shock G-7900”