Hallo zusammen,
wenn man für seinen Simplex-Link mit Raspi eine SQL-LED einrichten möchte, aber keinen SQL-Ausgang des Rx nutzt (SIGLEV, CTCSS, VOX), kann man sich dafür die Prozedur squelch_open aus dem TCL-Script Logic.tcl erweitern:
proc squelch_open {rx_id is_open} {
variable sql_rx_id;
set sql_rx_id $rx_id;
if {$is_open==1} { exec echo 1 >/sys/class/gpio/gpio9/value; }
if {$is_open==0} { exec echo 0 >/sys/class/gpio/gpio9/value; }
}
In Zeile 4 bzw. 5 wird der jeweilige Wert von $is_open abgefragt und GPIO9 mit der SQL-LED entsprechend gesetzt.
Ganz ähnlich lässt sich eine Status-LED für das Modul EchoLink realisieren. Dazu werden die Prozeduren activating_module und deactivating_module aus dem TCL-Script EchoLink.tcl jeweils um eine Zeile erweitert, die GPIO11 auf 1 bzw. auf 0 setzt.
proc activating_module {} {
variable module_name;
Module::activating_module $module_name;
exec echo 1 > /sys/class/gpio/gpio11/value;
}
Meine geänderten Prozeduren schicke ich als Anlage mit. Wer die Änderungen ausprobieren möchte, sollte sie nach /usr/share/svxlink/events.d/local kopieren. Dort gespeicherte TCL-Scripte werden beim Programmstart nach den originalen Systemfunktionen eingelesen und überschreiben sie damit. Wenn eine geänderte TCL-Datei aus dem Ordner /local nicht mehr benötigt wird (oder nicht zufriedenstellend funktioniert), löscht man sie einfach oder verschiebt sie in einen Bereich außerhalb von /usr/share und hat damit den Originalzustand wiederhergestellt.
Die zusätzlichen GPIO müssen natürlich noch in /etc/svxlink/gpio.conf eingerichtet werden. Die neuen Status-LED (-GPIO) stehen dann nach dem nächsten Neustart oder nach Restart von svxlink_gpio_setup zur Verfügung.
Weitere Info dazu gibt es unter Tips und Tricks bei: https://svxlink.de
Gruß, Matthias