====== Unterschiede ====== Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
module [2015/10/16 14:43] 85.4.148.252 |
module [2015/10/21 14:18] (aktuell) 85.4.148.252 |
||
|---|---|---|---|
| Zeile 169: | Zeile 169: | ||
| </code> | </code> | ||
| + | Bei erreichen des Endes der MP3 Datei endet das Abspielen automatisch und es wird das Event ''FILE_END'' in die Event-Queue gelegt. Siehe auch [[module#Event|Event]]. | ||
| ==== stop ==== | ==== stop ==== | ||
| Zeile 220: | Zeile 221: | ||
| ===== Event ===== | ===== Event ===== | ||
| + | |||
| + | Benachrichtigungen wie das Ende des Abspielen einer MP3 Datei, oder das Drücken einer Taste finden auf dem Milestone über Nachrichten in einem eine Ereignispuffer statt. Der Puffer funktioniert nach dem FIFO Prinzip (zuerst herein - zuerst hinaus). | ||
| + | |||
| + | Folgende Ereignisse sind definiert: | ||
| + | |||
| + | ^ Ereignis ^ Beschreibung ^ | ||
| + | | KEY_PLAY | Play-Taste | | ||
| + | | KEY_MODE | Mode-Taste | | ||
| + | | KEY_REC | Rekord-Taste | | ||
| + | | KEY_FF | Rechte Pfeiltaste | | ||
| + | | KEY_REW | Linke Pfeiltaste | | ||
| + | | KEY_SEL | Selektortaste | | ||
| + | | FILE_END | Ende einer Datei erreicht | | ||
| + | |||
| + | |||
| + | Mit folgenden Funktionen kann auf die Ereignisse zugegriffen werden. | ||
| * [[module#count|count]] | * [[module#count|count]] | ||
| Zeile 230: | Zeile 247: | ||
| ''count()'' | ''count()'' | ||
| - | ''count'' | + | ''count'' gibt die Anzahl der Nachrichten des Ereignispuffers zurück. |
| ==== clear ==== | ==== clear ==== | ||
| Zeile 236: | Zeile 253: | ||
| ''clear()'' | ''clear()'' | ||
| - | ''clear'' | + | ''clear'' löscht alle Nachrichten des Ereignispuffers. |
| ==== push ==== | ==== push ==== | ||
| - | ''push()'' | + | ''push(evcode, param)'' |
| - | ''push'' | + | ''push'' plaziert den Event ''evcode'' mit den Parameter ''param'' im Ereignispuffer. Die Funktion gibt bei Erfolf 0 zurück und -1 bei einem zu vollen Puffer. |
| ==== pop ==== | ==== pop ==== | ||
| - | ''pop()'' | + | ''pop()'' |
| - | ''pop'' | + | ''pop'' gibt eine Tabelle zurück welche den ältesten Event und den zugehörigen Parameter enthält. |
| + | |||
| + | Beispiel: | ||
| + | |||
| + | <code lua> | ||
| + | -- Auf eine Taste warten, alle anderen Events verwerfen | ||
| + | function hit_key() | ||
| + | local keys = {event.KEY_PLAY, event.KEY_MODE, event.KEY_REC, event.KEY_FF, event.KEY_REW, event.KEY_SEL } | ||
| + | local loop = true | ||
| + | local ev | ||
| + | event.clear() | ||
| + | while loop do | ||
| + | ev = event.pop() | ||
| + | if ev ~= nil then | ||
| + | for i, v in ipairs(keys) do | ||
| + | if v == ev then | ||
| + | loop = false | ||
| + | break | ||
| + | end | ||
| + | end | ||
| + | end | ||
| + | end | ||
| + | return ev | ||
| + | end | ||
| + | </code> | ||
| ===== RTC ===== | ===== RTC ===== | ||
| - | * time | + | Funktionen der Echtzeituhr: |
| - | * set | + | |
| + | * [[module#time|time]] | ||
| + | * [[module#set|set]] | ||
| + | |||
| + | ==== time ==== | ||
| + | |||
| + | ''time()'' | ||
| + | |||
| + | ''time'' gibt die Anzahl Sekunden seit dem 01.01.1970 zurück. | ||
| + | |||
| + | ==== set ==== | ||
| + | |||
| + | ''set(year, mon, day, hour, min, sec)'' | ||
| + | |||
| + | ''set'' setzt die Echtzeituhr. | ||
| ===== RTOS ===== | ===== RTOS ===== | ||
| - | * wait | + | * [[module#wait|wait]] |
| + | |||
| + | ==== wait ==== | ||
| + | |||
| + | ''wait(ms)'' | ||
| + | |||
| + | ''wait'' wartet die angegebene Zahl von Millisekunden und gibt dem System die Möglichkeit etwas inzwischen anderes zu tun. | ||
| ===== Timer ===== | ===== Timer ===== | ||
| - | * read | + | * [[module#read|read]] |
| - | * delay | + | * [[module#delay|delay]] |
| + | |||
| + | ==== read ==== | ||
| + | |||
| + | ''read()'' | ||
| + | |||
| + | ''read'' gibt die Mikrosekunden seit Systemstart zurück. | ||
| + | |||
| + | ==== delay ==== | ||
| + | |||
| + | ''delay(μs)'' | ||
| + | |||
| + | ''delay'' wartet die spezifizierte Anzahl von Mikrosekunden ohne dem System die Möglichkeit zu geben etwas anderes zu tun. | ||