TS HAM Link

Pluginnet er udviklet til at fungere i TeamSpeak 3, klient version 3 (v.3.6.0 – v.3.6.2) med Plugin API Version 26. Pluginnet understøttes både i Windows 10/11 for (TeamSpeak 3 x64) og for Linux/Ubuntu:22:04 (TeamSpeak 3 x64).

Nye rettelser og funktioner

  • Lavet code-cleanup i TSHAMLink plugin TS3.

Pluginnet installeres ved lægge pluginnet i din TeamSpeak 3,s plugins mappe. Dette varierer dog om du er på Windows, eller på Linux.

For TeamSpeak Client 3 for Windows

På Windows installeres pluginnet ved at kopiere plugin-filen (tshamlink_0_3_5.dll) over i mappen ”C:\Users\<USER>\AppData\Roaming\TS3Client\plugins” på din Windows maskine. Du kan finde mappen ”TS3Client” ved at søge i feltet i Windows, ved at skrive ”%AppData%”.

 

For TeamSpeak Client 3 for Linux

På Linux installeres pluginnet i mappen ”plugins”, som ligger der hvor du har installeret din TeamSpeak 3 klient, ved at kopiere plugin-filen (tshamlink_0_3_5.so) over i plugins-mappen. Vis plugins-mappen ikke findes, skal du slev oprettet den i roden af installations-mappen for din TeamSpeak3 klient.  

Konfiguration

Når pluginnet er blevet installeret og indlæst, oprette det en konfigurationsfil vis ikke den aldrende findes. Denne konfigurationsfil bruges til at gemme om pluginnet selv skal oprette forbindelse til Repeateren, når din TeamSpeak 3 klient starter op. Vis du lukker TeamSpeak 3 klienten mens du er forbundet til Repeateren, ville den gemme at den automatisk skal prøve at forbinde til Repeateren ved næste opstart af din TeamSpeak 3 klient.

Konfigurations værdi

Betydning

Autoconnect:0

Opret ikke automatisk forbindelse ved opstart.

Autoconnect:1

Opret automatisk forbindelse ved opstart.

 

På Windows ligger ”tshamlink.conf” i samme mappe som pluginnet men på Linux ligger den i ”/home/<USER>/.config”.

Brug af pluginnet

Pluginnet bruges på sammen måde på Windows TeamSpeak 3 klient, som det gøres på Linux TeamSpeak 3 klient. For at oprette forbindelse til Repeateren, skal du sikre dig at du har tilsluttet den og at den kan ses som en Serial-enhed af din enhed, når du har sikret dig at din enhed kan se Repeateren, trykker du på menu-punktet ”Plugins -> TSHAMLink”, her skulle du gerne kunne trykke på ”Connect to repeater” hvor efter gerne skulle oprettet forbindelse til din repeter stadion. Ligeledes trygges der på ”Disconnet from repeater” for at afslutte forbindelse til repeater-stationen.

Serial-kommunikationen

Pluginnet bruger Serial til at kommunikere med Repeater-stationer, via en special udviklet state baserede protokol, som ville sige at der bruges enkle kommandoer til fortælle hvilket state Repeater-stationen befinder sig i, og om der er en indkommende QSO fra Repeateren der skal sende over TeamSpeak eller om der en udgående QSO fra TeamSpeak der skal sende ud af Repeatere stationen. 

Serial-opsætning

Pluginnet er kodet til at bruge følge opsætning/værdier til den serialle kommunikation:

Indstilling

Værdi

BaudRate

57600

DTR Controls

0x01 (True)

RTS Controls

0x00 (False)

Party Mode

None

Byte Size

8bit

 

State Protokol

Følgende states bruges i protokollen til at kommunikere eller holde status med hvordan Repeateren skal forholde sig, dog er der enkel states der kun benyttes til lokal state-håntering:

Kommando/State

Afseder

Beskrivelse

C/C++ definition

HRF01

Repeater

Modtag af QSO fra Repeater-station starter.

RESIVESIGNALSTART

HRF02

Repeater

Modtag af QSO fra Repeater-station ophører.

RESIVESIGNALEND

HRT01

Plugin

Udsending af QSO fra TeamSpeak starter.

SENDINGSIGNALSTART

HRT02

Plugin

Udsending af QSO fra TeamSpeak ophøre.

SENDINGSIGNALEND

ERR01

Repeater

Fejl, kommando ikke godkendt.

STATEERROR

HST01

Plugin

Forespørg om serial-enhed er en Repeater-station.

HANDSHAKECHECK

HST02

Repeater

Serial-enhed godtager forsørgelse og klar til videre kommunikation.

HANDSHAKEACCEPTED

WSC01

Repeater

(Bruges ikke i kommunikation)

Venter på ny Serial-handsake.

WATINGFORHANDSAKE

DIS01

Plugin

Afslut kommunikation mellem TeamSpeak-klient og Repeater-station.

DISCONNECT

DIS02

Repeater

Kommunikation mellem TeamSpeak og Repeater-station afsluttet.

DISCONNECTED

CON01

Repeater (Bruges ikke i kommunikation)

TeamSpeak og Repeater-station er forbundet og kan kommunikere sammen.

CONNECTED

Hardware

For at pluginnet og den radio-enhed der skal agere som repeater-station kan kommunikere sammen, skal der laves et modul der kan stå for at skabe den serielle kommunikation mellem radio-eneheden og computeren der har pluginnet installeret. Til dette er der udarbejdet en Arduino sketch til Arduino Nano, som kan bruges vis ikke slev man har lavet en sketch ud fra plugin-beskrivelsen, se under ”Projekt Filer” for at download en Arduino sketch du kan bruge.

Sketch er som udgangspunkt kodet til at der skal sendes 5v til radio-enhden når pluginnet ønsker at radio-enheden skal taske og aktivere PTT knappen, modsat modtager Arduinoen 5v fra radioen-enhden når den beder pluginnet om at aktivere PTT på TeamSpeak 3 klienten.

Selve lyden mellem computeren med TeamSpeak 3 installeret og radio-enheden forgår uden om pluginnet, her bruges der lydkabel forbudent direkte mellem computeren og radioenheden, afhængig af opsætning.

Pluginnet har kun til opgave at aktivere PTT på radio-enden og TeamSpeak 3 klienten.  

Arduino sketch

I den sketch/.ino der lavet for Arduino Nano, er der nogle definitioner som du kan sætte efter behov, disse er skrevet øverst i sketchen og har følgende formål og kan indstilles:

Roger tone definitioner:

Def

Verdier

Beskrivelse

ROGERBEEPPEN

2-13 (Arduino Nano) (9 default)

Digital PIN til lydudgang for roger-tone

TXSIGNALENDDELAY

0 =< (100 default)

Angive pause mellem roger-tone og TXPIN ændring fra 5v til 0v mod radioe/repeater ved udsendelse på radiosiden

RXSIGNALENDDELAY

0 =< (100 default)

Angive pause mellem roger-tone og TXPIN ændring fra 5v til 0v mod radio/repeater ved modtagelse på radiosiden.

TXROGERBEEPENABLE

true | false – (true default)

Angiv om du ville bruger roger-tone ved efter udsendelse på radio-siden.

RXROGERBEEPENABLE

true | false – (true default)

Angiv om du ville bruger roger-tone ved efter modtagelse på radio-siden.

RXROGERBEEPPREDELAY

0=< (700 default)

Angive base før tone lyder på modtager radio/repeater.

TX/RX pin definitioner:

Def

Verdier

Beskrivelse

TXPIN

2-13 (Arduino Nano) – (8 default)

Digital PIN for PTT (Repeater/Radio)

RXPIN

2-13 (Arduino Nano) – (7 default)

Digital PIN for PTT (TSHAMLink)

TXSIGNALENDDELAY

0< (100 default)

Tid i ms vis der ønske delay inden sendere stopper efter modtaget af stop kommando på TX siden

RXSIGNALENDDELAY

0< (100 default)

Tid i ms vis der ønske delay inden sendere stopper efter modtaget af stop kommando RX siden

Det er kun de angiven definitioner i disse skemaer som tiltænkte til indstillingen ved programmering af Arduino sketch men ellers står det frit for at rette i hele sketchen eller bruge den som udgangspunkt for sigen egen.    

Fejlsøgning

I forbindelse med brug eller opsættelse af pluginnet kan der opstå forskellige uventede hændelser, som gør at pluginnet ikke har den ønskede virkning eller gør TeamSpeak klient ubrugelig. Derfor kan følge løsningsforslag bruges:

  • Tjek at indeholdet tshamlink.conf ser rigtig ud, og vis ikke prøv at rette filen til som beskrevet i punktet ”Konfiguration” og se om dette evt. kan afløse problemet.
  • Tjek at din Repeater station kan ses af din computer ved at tjekke I/O eller TTY indgange, er din enhed ikke på listen over COM-porte på din Windows maskine eller på listen over TTY indgange på din Linux maskine skal du tjekke om den er korrekt forbundet.
  • Sker der fejl i kommunikationen mellem pluginnet og Repeater-statioen, prøv menuelt at skabe forbindelse med et Seriel-kommunikationsværktøj evt. Herkules og se om Repeater-statonen reagere som forvenet ud fra listet med state-kommandoer beskrevet i ”State Protokol” under serial-kommunikation.

Projekt-filer

Kildekoden til pluginnet kan findes på GitLab, her kan der også skrives kommentar til vis man har forbedringer eller ville rapportere fejl i pluginnet ellers besøg https://www.danielswebsite.dk/projekter/tshamlink/ for mere information.

Tilbage til alle projekter