Courtesy tones / rogerpiep

  • Ein "Hallo" an die Gemeinde,
    als Newcomer habe ich eine Frage zum Thema Rogerpeep:

    Ich würde auf unserem SIMPLEX-Link gerne einen Ton oder in CW ein "K" aussenden lassen, wenn das System im Ruhemodus ist, also keine Verbindung, kein aktiviertes Modul.
    Hintergrund ist, das wir in und wieder inzwischen auf der Frequenz auch kurze Mitteilungen austauschen. Der Ton / Zeichen soll an den Zweck dieser
    Frequenz erinnern.

    Leider habe ich dazu nicht soviel gefunden. Ich habe auch die Beschreibung der svxlink.conf durchgesehen, aber so richtig scheint mir da nichts zu passen?

    73, de dl1bir, Uwe

    Achja, die Seite habe ich mir schon mal angesehen, ich glaube ein "K" in schnellem CW wäre schon richtig.

  • Hi Uwe,

    eine Möglichkeit ist, die automatisch aufgerufenen Funktion checkPeriodicIdentify{} der Logic.tcl zu nutzen, die jede Minute aufgerufen wird. Dann z.B. die aktuelle Minute mit mod 5 auf einen Rest prüfen und wenn = 0, dann erfolgt mit

    Code
    CW::play "K";

    jede 5 Minuten die Ausgabe des gewünschten K's. Ist erst mal nur so ne Idee, mal gugg'n ob ich morgen was zusammenschreibe.

    vy 73's de Adi, DL1HRC

  • Moin,
    so habe mal ein bisschen gebaut:

    Erzeuge mal bitte in einem local-Verzeichnis (z.B. in /usr/share/svxlink/events.d/local) eine Datei periodic_k.tcl mit folgendem Inhalt:

    Code
    namespace eval SimplexLogic {## Executed once every whole minute to check if it's time to identify#  proc checkPeriodicIdentify {} {    variable repeater_is_up;    set epoch [clock seconds];    set minute [clock format $epoch -format "%M"];    if {($minute % 5) == 0} {    # playSilence 200;     CW::play "K";    # playSilence 200;    }    Logic::checkPeriodicIdentify;  }}

    Eventuell mußt Du das

    Code
    playSilence 200;

    vor und nach dem K aktivieren, das hängt auch ein bisschen von der Hardware und Deiner sonstigen Konfiguration ab. Einfach ein bisschen probieren. Die 5 nach dem % definiert den Interval wie häufig das K ausgegeben wird, in diesem Fall jede 5 Minuten.

    vy 73' + 55's de Adi, DL1HRC

  • Ich noch mal,

    man muß das jetzt natürlich noch etwas verfeinern, z.B. keine Ausgabe wenn Betrieb auf der Frequenz oder EchoLink aktiv ist usw. Das bedingt aber eine Übergabe von Variablen aus anderen Namespaces was nicht so ganz einfach ist.
    Aber zumindest das mit der Rauschsperre habe ich noch aum meinem Plan.

    73's de Adi, DL1HRC

  • Hallo Adi, sehr nett. das Du dich dieses Problems annimmst. Vielleicht habe ich mich ein wenig ungenau ausgedrückt.

    "Ich würde auf unserem SIMPLEX-Link gerne einen Ton oder in CW ein "K" aussenden lassen, wenn das System im Ruhemodus ist, also keine Verbindung, kein aktiviertes Modul.
    Hintergrund ist, das wir hin und wieder inzwischen auf der Frequenz auch kurze Mitteilungen austauschen. Der Ton / Zeichen soll an den Zweck dieser
    Frequenz erinnern."

    müsste ich noch ergänzen, das es keine Bake sein soll, sondern: wenn, ohne das der Einstieg selbst aktiv ist (und nur dann!), auf der Frequenz kurzzeitig Funkbetrieb ist, das System einen Peep / CW"K", ausgibt wenn die Raussperre zwischen den Durchgängen wieder schließt, sozusagen als Erinnerung" "auf dieser Frequenz höre ich mit, ich bin bereit". Dazu muss ich noch erwähnen, das wir hier mit der VOX arbeiten. Die Hardwaremäßige Auswertung der Rauschsperre erfolgt zu einem späteren Zeitpunkt.

    Ich wüsste nun nicht an welcher Stelle im SVXLink-System ich so etwas finde bzw. einfügen müsste. Gibt es eigentlich eine Grafische Übersicht mit Angabe des Speicherortes, zB. wie die am Anfang der Erklärung der svxlink.conf, über alle dem svxlink-System beteiligten Dateien wie Conf, eventhandler, tcl usw.?
    Damit hätte man einen besseren Überblick, denn ich muss zugeben, die vielen Begriffe und Abhängigkeiten, an den unterschiedlichsten Spreicherorten machen mir die Sache nicht grade einfacher :-).

    Liebe Grüße aus Bremerhaven, Uwe.

  • Moin Uwe,

    jo, hatte ich wirklich anders verstanden. Es gibt einen Parameter RGR_SOUND_DELAY, der einen roger-beep erzeugt (oder irgendwas von Dir gewünschte), auch in der SimplexLogic, allerdings nur wenn ein Modul aktiv ist. Es ist also genau andersherum als von Dir gewünscht.
    Aber svxlink wäre nicht svxlink, wenn man nicht auf mindestens 5 verschiedenen Wegen zum gleichen Ziel kommt.
    In der Datei /usr/share/svxlink/events.d/Logic.tcl wird die Funktion squelch_open {} jedes Mal aufgerufen, wenn die Rauschsperren geöffnet oder geschlossen wird, so dass man hier ansetzen kann:

    Erstelle im local Verzeichnis (/usr/share/svxlink/events.d/local) eine Datei periodic_k.tcl mit dem Inhalt:

    SvxLink sollte jetzt nach jedem Schließen der Squelch ein K ausgeben, es sei denn ein Modul ist aktiv, dann nicht.
    Ich hoffe, das ist jetzt das was Du haben willst.

    vy 73's de Adi, DL1HRC

  • Hi Adi, Spitze, das suchte ich. Verstanden habe ich den Inhalt ja nicht....
    So, habe die Datei mit Winscp erzeugt und den Inhalt hineinkopiert.

    Nach dem Restart von SVX geht nun nix mehr. Ich muss mich auf die suche
    machen was ich denn nun wieder falsch gemacht habe :-(.
    Ich melde mich wieder, LG Uwe

    PS: nur zur Sicherheit: wenn ich die Zeilen aus deiner Vorgabe per copy/paste einfüge
    funktioniert das, oder sind dann evtl. irgendwelche Zeichen / Leerstellen / Umbrüche falsch?

    Edited once, last by DL1BIR (August 21, 2013 at 8:41 AM).

  • Hi Adi, alles gut! Läuft genau wie ich wollte.

    Nun muss ich noch die Rauschsperre drankriegen.
    Darf ich dazu noch etwas fragen?
    Wenn ich die Auswertung soweit habe (Optokoppler, Transistor gegen Masse) muss ich ja eine der Leitungen auf der RS232
    auf Masse ziehen, was dann von svx ausgewertet wird. Ich meine ich hätte irgendwo schon ein Schaltplan / Übersicht dazu gesehen.
    Welche Leitung gegen Masse, und
    an welcher Stelle muss ich diese Maßnahme auswerten?
    sql_det=vox - muss raus; dafür ?? DTR/ oder serial?
    SQL_?? müssen geändert werden?
    Muss noch siglv gemacht werden?
    Was wohl noch?

    Ha, und eine Frage noch: Kann man einen 1750 Rufton so auswerten das er auch die Kennung wie "*" augibt?

    Danke und Grüße, Uwe

  • Quote

    Nun muss ich noch die Rauschsperre drankriegen.
    Darf ich dazu noch etwas fragen?

    ... normalerweise nein aber ich mache mal eine Ausnahme :D

    Quote

    Wenn ich die Auswertung soweit habe (Optokoppler, Transistor gegen Masse) muss ich ja eine der Leitungen auf der RS232
    auf Masse ziehen, was dann von svx ausgewertet wird. Ich meine ich hätte irgendwo schon ein Schaltplan / Übersicht dazu gesehen.
    Welche Leitung gegen Masse, und
    an welcher Stelle muss ich diese Maßnahme auswerten?

    Bei der PTT ist das einfach, einen Pin über einen Vorwiderstand an einen Transistor oder einen Optokoppler, fertig

    Bei RX bzw. der Squelch ist das nicht ganz so einfach weil Du ja normalerweise nur eine Spannung 0V oder +5V(5,10,12 oder was auch immer) aus dem Funkgerät geliefert bekommst. Es reicht hier nicht einen Pin der RS232 auf Masse zu ziehen weil sich die Pegel bei RS232 normalerweise zwischen +15V für H und -15V für L bewegen. Ob 0V schon als L erkannt werden kann ich nicht sagen. Du solltest also in jedem Fall noch eine Anpaß-Schaltung vorsehen. Ich nutzte dafür meist den MAX232 oder MAX3232, je nach Hardware.

    Zur Konfiguration der Squelch, z.B.:

    Code
    SQL_DET=SERIAL
    SERIAL_PORT=/dev/ttyUSB0
    SERIAL_PIN=CTS:CLEAR

    Bedeutet: Das Öffnen der Squelch wird erkannt wenn am Port USB0 der Pin CTS auf L liegt.

    vy 73's de Adi, DL1HRC