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