====== 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:33] 85.4.148.252 [tts] |
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 179: | Zeile 180: | ||
| ''pause()'' | ''pause()'' | ||
| - | ''pause'' pausiert das laufende Abspielen/Aufnehmen. Rückgabewert ist nil, bzw. eine Fehlermeldung. | + | ''pause'' pausiert das laufende Abspielen/Aufnehmen. Rückgabewert ist ''nil'', bzw. eine Fehlermeldung. |
| ==== resume ==== | ==== resume ==== | ||
| Zeile 185: | Zeile 186: | ||
| ''resume()'' | ''resume()'' | ||
| - | ''resume'' Wiederaufnahme des laufende Abspielen/Aufnehmen nach ''pause''. Rückgabewert ist nil, bzw. eine Fehlermeldung. | + | ''resume'' Wiederaufnahme des laufende Abspielen/Aufnehmen nach ''pause''. Rückgabewert ist ''nil'', bzw. eine Fehlermeldung. |
| ==== tts==== | ==== tts==== | ||
| Zeile 199: | Zeile 200: | ||
| ''status'' Gibt den Status der Audio Engine als Table zurück: | ''status'' Gibt den Status der Audio Engine als Table zurück: | ||
| - | | status | play/pause/stop | | + | ^ Feld ^ Typ ^ Inhalt ^ |
| - | | elapsed | Position in ms | | + | | status | String | play/pause/stop | |
| - | | remaining | Verbleibend in ms | | + | | elapsed | Zahl | Position in ms | |
| + | | remaining | Zahl | Verbleibend in ms | | ||
| ==== record==== | ==== record==== | ||
| Zeile 211: | Zeile 213: | ||
| Optionen sind: | Optionen sind: | ||
| - | | source | mic/tuner | | + | ^ Feld ^ Typ ^ Inhalt ^ Beschreibung ^ |
| - | | headphones | 1/0 | | + | | source | String | mic/tuner | 'tuner' für radioaufnahmen, 'mic' für jegliche andere Aufnahme | |
| - | | sound | signalton | | + | | headphones | Bool | 1/0 | 1 für mithören der Aufnahme über Kopfhörer | |
| - | | external | 1/0 | | + | | sound | String | signalton | Name des Signaltons der vor der Aufnahme abgespielt werden soll| |
| + | | external | Bool | 1/0 | 1 für externes Mikrophon, 0 für internes | | ||
| ===== Event ===== | ===== Event ===== | ||
| - | * count | + | 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). |
| - | * clear | + | |
| - | * push | + | Folgende Ereignisse sind definiert: |
| - | * pop | + | |
| + | ^ 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#clear|clear]] | ||
| + | * [[module#push|push]] | ||
| + | * [[module#pop|pop]] | ||
| + | |||
| + | ==== count ==== | ||
| + | |||
| + | ''count()'' | ||
| + | |||
| + | ''count'' gibt die Anzahl der Nachrichten des Ereignispuffers zurück. | ||
| + | |||
| + | ==== clear ==== | ||
| + | |||
| + | ''clear()'' | ||
| + | |||
| + | ''clear'' löscht alle Nachrichten des Ereignispuffers. | ||
| + | |||
| + | ==== push ==== | ||
| + | |||
| + | ''push(evcode, param)'' | ||
| + | |||
| + | ''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'' 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. | ||