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

Gibt es Schleifen/Wiederholungen beim Urwigo?

Simons Papa

Geocacher
Mal wieder ne Frage vom Newbie, ohne besonderen Anlass allerdings diesmal - außer vllt. zur Übernahme ins Wiki :D :

Gibt es beim Urwigo eine Möglichkeit, Schleifen sprich Wiederholungen zu programmieren a la "repeat...until" oder so?
Ich könnte mir als Beispiel mal vorstellen, daß eine Kirchturmuhr beim Erreichen einer Zone 5 mal schlägt. Aufm PDA wärs ja kein Problem, man bastelt sich die 5 Schläge in einem mp3-File zusammen. Aber wie geht so etwas aufm Garminchen? 5 mal hintereinander "Audiodatei abspielen" programmieren? Was mach ich, wenn ich solange "Piepen" will, bis eine Taste gedrückt wird?

Schon jetzt mal vielen Dank für die Antworten....
Simons Papa
 

bodenseepingu

Geomaster
Würde ich jetzt rein mit Urwigo machen - ein intervall-timer, z.b. 1 mal pro Sekunde - einfach mit einer Variable mitzählen und nach der gewünschten Anzahl stoppen - lua schleifen sind hier gänzlich ungeeignet

Ich verwende sehr oft lua-schleifen - das sind aber komplett andere Anwendungsfälle - z.b. mathematische Iterationen, Bestimmung des gewünschten Objektes, Verarbeitung von tables

Ansatzweise steht was im Wiki - einfach mal stöbern
 

jonny65

Geomaster
Ist wie Pingu schon schreibt, als Timer zu realisieren der eine Variable mitlaufen lässt.
Timer z.b 3 Sekunden Länge, bei Elapse MP3 abspielen (natürlich kürzer als 3 Sekunden, z.b 1 )
und Zähler dabei um 1 erhöhen. Wenn Zähler kleiner 5 den Timer (Typ Countdown) erneut aus dem Elapse Event heraus starten. Der Else Zweig stoppt den Timer bei Zählerstand 5.
Ist im Prinzip eine Repeat-Until Schleife.
Das Timerbeispiel im Wiki zeigt halt die Restzeit, anstelle dessen als Event eben den MP3 Aufruf einsetzen und den ganzen Summs dazwischen (Restzeitaktualisierung rausschmeissen), Countdownlänge von 1 auf 3 Sekunden erhöhen.
 
OP
S

Simons Papa

Geocacher
Danke für die schnellen Antworten, ich hatte es nicht anders erwartet :D

Jonny65 schrieb:
Ist wie Pingu schon schreibt, als Timer zu realisieren der eine Variable mitlaufen lässt.
Timer z.b 3 Sekunden Länge, bei Elapse MP3 abspielen (natürlich kürzer als 3 Sekunden, z.b 1 )
und Zähler dabei um 1 erhöhen. Wenn Zähler kleiner 5 den Timer (Typ Countdown) erneut aus dem Elapse Event heraus starten. Der Else Zweig stoppt den Timer bei Zählerstand 5.
Ist im Prinzip eine Repeat-Until Schleife.
Das Timerbeispiel im Wiki zeigt halt die Restzeit, anstelle dessen als Event eben den MP3 Aufruf einsetzen und den ganzen Summs dazwischen (Restzeitaktualisierung rausschmeissen), Countdownlänge von 1 auf 3 Sekunden erhöhen.
DAS muß ich mir erstmal bei Gelegenheit und in Ruhe aufdröseln.... :???:
 
OP
S

Simons Papa

Geocacher
Simons Papa schrieb:
5 mal hintereinander "Audiodatei abspielen" programmieren?
Es hat mir doch keine Ruhe gelassen und ich hab das doch mal ausprobiert. Und siehe da, es geht nicht.....

Ich habe beim Starten eine "Meldung ausgeben" und sofort danach dann 3 mal eine "Audiodatei abspielen" programmiert. Die Meldung kommt, der erste Sound wird auch abgespielt, aber dann war es das.
Hatte dann gedacht, daß vlt. das Oregon mit dem Abspielen langsamer ist, als die Codeabarbeitung dauert und wollte dann zwischen Sound 1 und Sound 2 noch eine Meldung einbauen. Das verhindert aber Urwigo mit ner Fehlermeldung, daß sich da 2 Aktionen überdecken. Bestimmt mach ich da grad wieder nen Denkfehler, hat jemand ne Idee, wo ich da falsch liege?

Danke fürs Draufstupsen.....
Simons Papa
 

bodenseepingu

Geomaster
Wigs programmieren bedeutet etwas umzudenken - neue Meldungen überlagern alte Meldungen - das Abspielen von Audios bedeutet nur das Abspielen zu starten oder stoppen, nicht darauf zu warten.

also vergiss diese sequentielle Vorgehensweise und programmiere einen wig einfach eventgesteuert
 

jonny65

Geomaster
Simons Papa schrieb:
Simons Papa schrieb:
5 mal hintereinander "Audiodatei abspielen" programmieren?
Es hat mir doch keine Ruhe gelassen und ich hab das doch mal ausprobiert. Und siehe da, es geht nicht.....

Ja dann ist sicher der "Lautsprecher" kaputt :D
Den 1. Sound gleich am Anfang des Events (hier im Beispiel nach dem Message OK), sonst dauerts 3 Sekunde bis er kommt, die anderen 4 Sounds beim Timer Elapse.
Und halt den erwähnten Zähler mitlaufen lassen, wenn gleich 5, dann die "Schleife" verlassen. Und klar, wie gesagt muss die Timerdauer länger sein als der Ton.

Aber wieso eigentlich nicht einen einzigen Sound mit 5 mal dem gleiche Effekt drin, also in einem MP3/WAV halt 5 Glockenschläge ?
 

Anhänge

  • dingdong.zip
    12,2 KB · Aufrufe: 16
OP
S

Simons Papa

Geocacher
Jonny65 schrieb:
Simons Papa schrieb:
Simons Papa schrieb:
5 mal hintereinander "Audiodatei abspielen" programmieren?
Es hat mir doch keine Ruhe gelassen und ich hab das doch mal ausprobiert. Und siehe da, es geht nicht.....

Ja dann ist sicher der "Lautsprecher" kaputt :D
So wirds wohl sein.. :D
Nein, ich wollte einfach mal testen, was passiert, wenn man das ohne Timer und Variable direkt hintereinander weg programmiert. Offenbar ists tatsächlich so, daß der Player das Programm stur abarbeitet, ohne auf das Ende des ersten Sounds zu warten. Und bis der zweite Piep an der Reihe wäre, ist der Player wohl schon längst an der Programmzeile vorbei am Ende angekommen. Das wäre eine wichtige Erkenntnis, sofern ich da richtig liege mit meiner Vermutung....

Jonny65 schrieb:
Aber wieso eigentlich nicht einen einzigen Sound mit 5 mal dem gleiche Effekt drin, also in einem MP3/WAV halt 5 Glockenschläge ?
Das war ja auch meine Idee und ist bei mp3/wav ja auch kein Problem, aber wie editiert man eine fdl? Den SystemBeepRecorder hab ich bislang noch nicht zum Laufen bekommen, sofern man damit solche Spielchen überhaupt machen kann...

Simons Papa
 
Oben