• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Echtzeit Timer in einem Wherigo

brichner

Geonewbie
Hallo zusammen,

ich habe mich mal einem Wherigo versucht, bei dem eine bestimmte Distanz mit dem Rad auf Zeit zurückgelegt werden soll.
Leider kommt es zumindest bei der Verwendung von Smartphones zu Abweichungen von der Zeitnahme zu einem Garmin Oregon...nicht einige Sekunden, sondern teilweise erheblich.

Der Timer ist in Anlehung an folgendes Beispiel programmiert:
Bild1.jpg


Wo genau das Problem bei den Smartphones liegt ist mir nicht genau klar, evt. irgendwas mit Standby-Funktion ausführen etc.

Ist euch ein solches Problem bekannt und gibt es die Möglichkeit einen "Echtzeit-Timer" zu programmieren.

Für Infos wäre ich sehr dankbar.

Schöne Grüße
 

jonny65

Geomaster
Das ganze kann nur über die (echte) Uhrzeit gehen. Startet das Ereignis, ab dem die Zeit genommen werden soll, wird der 1.Timestamp genommen und beim Stopevent der 2.
Die Zeit die dazwischen liegt, ist die Echtzeit, die benötigt wurde. Damit hat dann auch ein Spieler schlechte Karten, der zur Bewältigung der Strecke das Spiel schnell mal speichert und kurz vorm Ziel restored. Auszeit des Timers bei Standby ist natürlich auch belanglos.
Ein Paradoxon stellt aber die Zeitanzeige da. Die Uhr soll ja mitzählen, 1...2...3...60. Nur wer soll jetzt hier zählen ? Der falsch laufende Timer ? Also vielleicht ein Zwitter, ein Timer der im Sekundentakt die Echtzeit abruft bzw. die Differenz aus Start- und aktueller Zeit bildet.

Schaut hier im Beispiel gut aus im Simulator, selbst wenn man speichert und restored "läuft die Echtzeit". Komisches Verhalten bei Whereyougo, Timer läuft bissl und stoppt dann, auch die Anzeige bliebt stehen. Mal länger mal kürzer das ganze.

Wer kann das mal analysieren warum das hier so ist ? Dirk ?

Beim WF.Player...wen wunderts :/ , geht natürlich wieder alles. Standby und Save/Restore und auch Anzeige der fortschreitenden Zeit als Item Description.
 

Anhänge

  • realtimer.zip
    2,3 KB · Aufrufe: 22

Kratos666

Geocacher
Kann zwar zum Thema leider nix sagen, aber wie es der Zufall will versuche ich gerade meinen ersten Wherigo zu programmieren.
Lustigerweise soll das Thema genau das gleiche sein wie bei dir.
Ich habe vor den Spieler in einer bestimmten Zeit eine Downhill Strecke abfahren zu lassen, da bin ich ja mal gespannt ob ich da die selben Probleme mit der Zeit bekomm.
 

Charlenni

Geomaster
Es freut mich zu hören, dass beim WF.Player alles geht :D.

Ich hatte heute Mac-Tag und konnte leider deshalb hier nicht rein schauen. Hoffe, dass es morgen klappt. Bin mal gespannt, was Jonny wieder gezaubert hat :).

Aber die Idee von Jonny ist natürlich völlig richtig: es muss ein Timer laufen, der so ungefähr alle Sekunde tickt (können natürlich auch 2 sein, man muss ja auch an die etwas langsameren iPhone User denken ;) ). Dieser ist nur dazu da, um die Anzeige zu aktuallisieren (da haben die iPhone Nutzer jetzt wieder mal nichts davon, aber die anderen :) ). Die eigentliche Zeitmessung läuft über die Uhr. Die ist bei GPS Geräten systembedingt ziemlich genau.
 

hihatzz

Geomaster
Ich mache es folgendermaßen:
Beim verlassen der Startzone wird die aktuelle Zeit gespeichert (startTime) und die "Zielzeit" (endTime) berechnet. Ausserdem starte ich einen Timer (interval, 1 sec.) der zur Anzeige der abgelaufenen Zeit verwendet wird (siehe Bild Urwigo_Timer1.jpg)

Wenn der Timer abläuft wird in dem Item "Uhr" die abgelaufene Zeit bzw. falls man über der Zielzeit ist die bereits überschrittene Zeit berechnet und an den Namen der Uhr angehängt, siehe Bild Urwigo_Timer2.jpg.

Wenn man mit einem Smartphone spielt kann man trotzdem cheaten indem man die Systemzeit des Geräts verändert, wenn man dann noch FakeGPS o.ä. verwendet kann man den WIG komplett von der Couch spielen.
Mit einem Oregon wüßte ich jetzt nicht dass man die Systemzeit verändern kann.
Aber wie heißt es so schön: "Jeder beschei*t sich selber so gut er kann"

P.S.: Wo gibt es denn diesen berühmt-berüchtigten :roll: WF.Player? Ich will den auch mal ausprobieren.
 

Anhänge

  • Urwigo_Timer1.jpg
    Urwigo_Timer1.jpg
    22,4 KB · Aufrufe: 1.653
  • Urwigo_Timer2.jpg
    Urwigo_Timer2.jpg
    60,4 KB · Aufrufe: 1.653

Charlenni

Geomaster
@Jonny65: Problem mit dem WhereYouGo kann ich auch feststellen. Bei mir läuft der Timer aber die ersten 4 Sekunden und hört dann erst auf. Vielleicht ist mein altes Android Testgerät einfach viel langsamer wie Dein neues und merkt den Fehler deshalb erst viel später :D

Woran es allerdings liegt, kann ich Dir nicht sagen. Es scheint so, als ob der Timer den Geist auf gibt. Oder dass isch die Anzeige sich nicht mehr aktuallisiert. Allerdings funktionieren die Animationen in der TestSuite. Alles in allem sehr seltsam.

Was bleibt ist, dass es hilfreich wäre, wenn man solch einen Timer hätte, also einen Timer, bei dem man die Endzeit und nicht die abgelaufenen Seunden angibt. Der ist dann auch Save/Restore fest.

Allerdings kann man auch anders an die Sache gehen. Das Problem liegt darin begründet, dass man immer die Anzeige haben möchte, wieviel schon von der Zeit abgelaufen ist. Geht man nun anders vor, dann ist das Ganze auch Save/Restore sicher. Dazu macht man zwei Timer: einer zählt die Gesamtzeit, einer nur die Sekunden. In dem Beispiel von Jonny65 wäre dann ein Zähler auf 60 Sekunden zu stellen (Gesamtzeit). Der andere auf 1 Sekunde (Anzeigenaktuallisierung). Beim Abspeichern ersetzen die Player normalerweise die noch verbleibende Zeit durch die Endzeit und beim Laden genau umgekehrt. Bei 1 Sekunden Timern ist damit nach dem Laden sofort das Ende erreicht, bei länger laufenden Timern nicht. Diese laufen ihre Restzeit bis zur Endzeit weiter ab. So nützt ein Abspeichern auch nichts mehr, der Timer kommt nicht aus dem Tritt.

Die Urwigo-Datei anbei. Getestet auf WhereYouGo, WF.Player für Android und Colorado. Geht. Zeit wird, trotz abspeichern, auf allen Geräten immer richtig angezeigt. Auch auf dem iPhone. Dort stoppt der Timer aber leider nicht mehr nach dem Save/Restore :kopfwand: .

Was lernen wir darauß: die Hälfte des Problems sitzt vor der Tastatur :D . Timer laufen auch während des Abspeicherns weiter. Allerdings nicht länger, als angegeben. Habe ich 1 Sekunde angegeben, dann läuft der Timer genau 1 Sekunde weiter. Habe ich 60 Sekunden angegeben, dann läuft der Timer genau 60 Sekunden lang. Aber auch nicht länger, selbst wenn ich zwischendurch abspeichere.

@hihatzz: E-Mail an info(at)wfplayer.com
 

Anhänge

  • realtimer-neu.zip
    2,2 KB · Aufrufe: 22
OP
B

brichner

Geonewbie
Hey vielen Dank für eure bisherigen Antworten. Ich sehe....das Problem ist schon mal aufgetreten =) Werde mich, sobald Zeit da iist an die Verwertung der Programmierbeispiele begeben. Mal Schauen was herauskommt

Schöne Grüße
 
Oben