Kanalwechsel via CM108 GPIO Pin

  • Hallo zusammen,
    Wir betreiben hier in Südtirol seit kurzem neben den bestehenden Allstarlink Repeatern auch einen SVX Repeater, der aktuell vor allem als Echolink Einstieg fungiert.
    Als Hardware verwenden wir einen CM108 Soundchip, welcher über seinen GPIO Pin Nr. 3 das PTT signal vom Sender schaltet. Soweit so gut, funktioniert super!
    Ein weiteres Pin am CM108 ist beim Sender mit der Kanalsteuerung verbunden, damit zwischen zwei möglichen Sende/Empfangsfrequenzen umgeschaltet werden kann.
    Diese Konfiguration war mit Asterisk/app_rpt so in betrieb.
    Gibt es aktuell in SVXlink eine Einstellung bzw. einen kleinen Patch im Code, womit man ein GPIO-Pin auf dem CM108 zu 1 oder 0 setzen kann? Ich habe bereits versucht ein paar Änderungen im Code vorzunehmen, konnte das Problem aber leider bis jetzt noch nicht lösen.


    SVXlink wurde aus dem Quellcode compiliert und läuft auf Debian 8

    Es würde mich sehr freuen, wenn mir jemand weiterhelfen könnte!

    73 aus Südtirol
    Simon IN3FQQ

  • Hi Simon,

    nach welchem Kriterium möchtest Du diesen Pin setzen bzw. wer soll diesen steuen, ein Rx, ein Tx, eine Logik usw.?
    Da gpio von SvxLink unterstützt wird, sollten sich da sicher Möglichkeiten ergeben.

    vy 73s de Adi, D1HRC

  • Hallo Adi,
    danke für die schnelle Antwort! Das Pin sollte einfach über ein Konfigurationsfile oder irgendwo direkt im Code gesetzt werden können. Es ist eigentlich nur dazu da, um bei irgendwelchen Ausnahmesituationen auf eine Ersatz-QRG umschalten zu können. Wie es der Zufall will, ist aktuell die Belegung der Kanäle auf dem Funkgerät so, dass ein LOW Pegel die Ersatz-QRG setzt und ein HIGH Pegel unsere eigentliche QRG. Deshalb ist beim Umstellen von Allstar auf SVXlink das Relais sozusagen um einen 12.5KHz Kanal abgerutscht, weil ich es bis jetzt leider noch nicht geschafft habe, dieses Pin auf '1' zu setzen.
    Alternativ könnte man direkt am Funkgerät die beiden Kanäle vertauschen, es wäre aber toll, wenn es sich softwaremäßig realisieren lassen würde, weil wir das selbe Spiel mit einem weiteren Pin auch für die Umschaltung zwischen hoher und niedriger Sendeleistung (10W/1W) verwenden würden.

    Automatisch gesteuert werden müsste der GPIO also nicht, es wird wie gesagt nur in seltenen Ausnahmefällen umgeschaltet.

    Danke nochmals und 73
    Simon IN3FQQ

  • Hi Simon,

    dann würde ich das aber eher out-of-SvxLink machen, Du kannst ja z.B. per

    echo "9" >/sys/class/gpio/export
    echo "out" >/sys/class/gpio/gpio9/direction
    echo "1" > /sys/class/gpio/gpio9/value

    den Status des gpio Pins definieren. Ich würde hier SvxLink nur einbeziehen, falls Du das per z.B. DTMF oder ZVEI über den RX steuern möchtest.
    Oder habe ich hier eventuell etwas übersehen?

    Tanti saluti di Adi, DL1HRC

  • Hi Adi,
    daran habe ich auch schon gedacht, aber das Teil muss man via Hidraw ansprechen, ist ein CM108 Soundchip..
    Ist es bei denen auch einfach über /sys/class/gpio möglich?

    Wäre natürlich als Skript einfacher zu machen, habe mich aber eben danach umgesehen, wie SVX das intern macht, PTT wird ja auch über Hidraw geschalten

    73s
    Simon IN3FQQ

  • Ciao Simon,

    Quote

    aber das Teil muss man via Hidraw ansprechen, ist ein CM108 Soundchip..

    Ach ja, da war doch was...wenn ich mich recht erinnere hatte ich das damals selbst implementiert :lol:
    Ich würde da in der PttHidraw-Klasse ansetzen und einen Aux_Hid_Pin definieren. Allerdings wird das dann nur einmalig beim Start von SvxLink definiert gesetzt. Eine Änderung würde einen Neustart erfordern was ja auch nicht so clever ist.
    Von "außen" wirst Du da auch nicht zugreifen können, weil das Device ja schon von SvxLink geöffnet wurde.

    Leider kennen die Ptt-Klassen nur einen Parameter: TX=1||0, weitere Optionen die z.B. die Leistung steuen könnten sind da momentan nicht vorgesehen. Es ist aber sicher eine Idee, die man weiterverfolgen sollte.
    Ich denke drüber nach.

    vy 73s de Adi, DL1HRC

  • Hallo Adi,
    erstmal ein SEHR SEHR GROSSES Kompliment, für deine schnellen Antworten und dein Engagement!

    Heute waren ein paar Kollegen vom OV oben am Berg (Kronplatz, 2275m Ü.d.M) und haben beim betroffenen Relais die beiden Speicherkanäle am Funkgerät vertauscht - es sendet jetzt auf der richtigen QRG!
    Ich werde dann nochmal versuchen, ob das von dir modifizierte Skript funktioniert. Die Idee die ich versucht habe, war praktisch die selbe - genau die paar Zeilen die du in der setAuxOn Routine ausführst, habe ich oben direkt nach der Initialisierung versucht - aber leider ohne Erfolg.
    Ich werde dann bei Gelegenheit heute Abend mal prüfen ob der neue Code funktioniert, wäre eben auch für die Leistungsumschaltung sehr komfortabel.

    Nochmals vielen vielen Dank für deine schnelle Hilfe! :)

    73s
    Simon IN3FQQ

  • Hi Simon,

    ja, solche positiven Rückmeldungen ab und an bauen einen schon mal auf, besten Dank für den Honig :) Manchmal möchte man es auch einfach hinwerfen...das kam zur richtigen Zeit :)

    Zum TX und der Umschaltung: Es ist allerdings ein Ansatz ohne Funktionscheck, da ich momentan die Möglichkeit und auch die Zeit nicht habe, ich denke aber dass es so gehen könnte.
    Allerdings muß es dann per "virtual" tiefer implementiert werden, damit man z.B. die Leistungsumschaltung aus anderen Programmteilen oder besser Instanzen aus realisieren kann. Ich würde das zunächst mal unter diesem Arbeitsnamen "Powercontrol" laufen lassen wollen. Wenn man es recht bedenkt ergäben sich ja da ganz neue Ansätze weil die TX-Hardware ja inzwischen (im kommerziellen Bereich auf jeden Fall) schon eigene Steuerungen bzw. Betriebssysteme enthalten, die man ansprechen könnte. Möglicherweise muß man das auch über ein kleines eigenes Protkoll erweitern, wenn man dann solche Sachen wie Frequenzumschaltung, Leistungsregelung der Basisstation, Rückmeldung SWR, PA-Temperatur, ... erweitern möchte.
    Das wäre sicher auch ein guter Ansatz um in das Projekt einzusteigen :D

    Teste es mal bitte, es ist ein erster Versuch und ganz sicher nicht optimal implementiert.

    vy 73s de Adi, DL1HRC

  • Quote from dl1hrc

    Manchmal möchte man es auch einfach hinwerfen...das kam zur richtigen Zeit :)


    Hallo Adi,

    blos nicht. Denn wir sind absolute Fan's von SvxLink und finden Dein Engagement wirklich klasse! Zum einen ist Dein Support mehr als vorbildlich und zum anderen würde es viele tolle Funktionen ohne Dich erst gar nicht geben ...

    Schönen Gruß
    Frank, DL3DCW