Tcl-Rounen (2011-01-27 16:06)
Die TCL-Skripte im Verzeichnis /usr/share/svxlink/events.d/ stellen sozusagen die Präsentaonsebene von
SvxLink dar. Hier wird festgelegt auf welche Art und Weise beim Eintreten von besmmten Ereignissen die
Ausgaben erfolgen, ob z.B. vor oder nach einer Ansage noch ein Ton gesendet wird, wenn ja in welcher Höhe und
Länge...usw.
Ein paar Beispiele
Ereignis
Funkon im Tcl-Skript
Öffnen oder Schliessen der Rauschsperre
Logic.tcl -> squelch _open { }
Schließen der Rauschsperre und Ablauf des RGR-Timers
Logic.tcl -> send _rgr _sound { }
Empfang des DTMF-digits ”*”
Logic.tcl -> manual _idenficaon { }
Sender ein oder aus
Logic.tcl -> transmit { }
Beispiel für Änderungen am Roger-Piep
Der für den Roger-Piep zuständige Abschni in der /usr/share/svxlink/events.d/Logic.tcl ist die Prozedur send
_rgr _sound { }:
#
# Executed when the squelch just have closed and the RGR _SOUND _DELAY mer has
# expired.
#
proc send _rgr _sound { } {
variable sql _rx _id;
playTone 440 80 50;
playSilence 50;
for {set i 0 } { $i < $sql _rx _id } {incr i 1 } {
playTone 880 50 50;
playSilence 50;
}
playSilence 100;
}
playTone 440 80 50; erzeugt einen Ton von 440 Hertz mit eine Amplitude von 80 und einer Länge von 50
Millisekunden. playSilence 50; liefert eine Pause von 50 ms. Der darauf folgende Abschni
80
Comments to this Manuals