RS232/IP ‘send codes’
Bij een RS232/IP toestel zal u moeten kiezen of u de codes in HEX of in ASCII-code in wilt geven. Wanneer u kiest voor ASCII-code kan u ook instellen of deze eindigt met een ‘Carriage return’ en/of een ‘Line feed’.
Voor RS232 moet ook de Baudrate geselecteerd worden: 9600, 19200, 38400 of 57600.
Voor IP moet het IP poort nummer ingevuld worden.
- In het veld display naam kunt u (optioneel) een naam invoegen. U zal deze naam zien terwijl u dit toestel configureert in PROSOFT.
- We adviseren de naam of de ingang van het toestel te gebruiken voor de functies ‘SELECT SRC X’ (indien op het toestel voor de ingang AUX2 geprint is, vul hier dan 'AUX2' in).
- Vervolgens geeft u de HEX-codes of de ASCII-codes in, zoals beschreven in het protocol van het toestel.
- Het is mogelijk gelijkaardige codes te kopiëren, hierdoor dient u enkel de waarden aan te passen waar nodig.
- Naast de functie zal u een 'ketting-symbool' vinden, indien u hierop klikt kunt u een tweede code toevoegen aan de gekozen functie. U kunt tot 10 codes toekennen aan één functie. (vb. Toevoegen van wachttijden tussen 2 codes).
Voor RS232: onderaan het scherm kunt u de code testen door het klikken op 'Test code vanaf de PC poort'. Dan zal een test worden uitgevoerd tussen uw PC en het toestel zonder tussenkomst van de TELETASK hardware.
Voor IP: onderaan het scherm kunt u de code testen door een code te selecteren en te klikken op ‘Send’. De ontvangen data van het IP toestel kunnen ook gelezen worden.
Na het testen, klik ok.
Uw codes zullen automatisch opgeslaan worden in uw aangepaste AV-SOFT bibliotheek in het ‘custom3.3.irdb’ bestand dat u terug vindt in C:\ProgramData\TELETASK\PROSOFT. Telkens u aanpassingen maakt of nieuwe AV-toestellen creëert, wordt dit bestaand geüpdatet. De toestellen die in het project zitten worden mee opgeslaan in het .NBT bestand.
RS232 Feedback Codes
Algemeen
U kan feedback codes definiëren voor een RS232- of IP-toestel. Dit is optioneel, maar aan te raden als het AV-toestel ook rechtstreeks bediend wordt (vb. met een afstandsbediening van het merk zelf, of via een app op een smartphone) of als u AV feedback (zoals volume, nummer,…) automatisch wenst weer te geven op een TELETASK scherm (zoals AURUS-OLED, AURUS-TFT, enz.).
Data die van een AV-toestel ontvangen kunnen worden:
- De AAN/UIT status van een zone
- De huidige actieve bron van een zone (bron 1-8)
- Het volume van een zone (0-100%)
- Twee tekstlijnen van een lied of RDS info van een bron
Om ‘Feedback codes’ te definiëren, vink de optie ‘Feedback codes’ aan en klik op de ‘Edit’ knop.
U ziet nu het ‘Feedback codes’ scherm:
In dit scherm zijn er twee tab-pagina’s. Eén voor de ‘Feedback codes’ en één voor de ‘Polling codes’ (die in het volgende hoofdstuk besproken worden).
Aan de rechter kant zijn er drie knoppen om een nieuwe ‘Feedback code’ te creëren, een bestaande aan te passen of om een feedback code te verwijderen.
Aan de onderkant moet u een ‘Start van code karakter’ en een ‘Einde van code karakter’ invullen. U kan een ASCII karakter of een HEX code in ditveld invullen. Vb. als u een ASCII protocol hebt dat start met een ‘*’ en eindigt met een ‘carriage return’, kunt u * invullen in het ‘start of code’ veld en 0x0D in het ‘end of code’ veld (‘0x0D’ is de hexadecimale weergave van een ‘carriage return’).
Om een nieuwe Feedback code te creëren, klik op de ‘New’ knop. U zal nu het ‘Definieer feedback code’ scherm zien:
Bovenaan dit scherm ziet u volgende velden:
- Code Name
- In dit veld kunt u een omschrijvende naam invullen voor de ontvangende code
- Sample Code
- In dit veld moet u een ASCII code invullen die van het AV-toestel kan worden ontvangen. Deze code wordt automatisch herhaald als individuele karakters in het veld onder de voorbeeldcode.
Wanneer de voorbeeldcode is ingevuld, kunnen we definiëren hoe de verschillende variabelen uit deze code worden gehaald. Laten we dit eens in detail bekijken met volgend voorbeeld:
- z1,ON,FM,24
Deze code bevat 4 variabelen: het zone nummer (1), de status (AAN), de actieve bron (FM) en het volume (24). Afhankelijk van het merk en type van uw AV-toestel, kan de ‘receive code’ verschillende variabelen bevatten in slechts één code (zoals in dit toestel) ofwel slechts twee variabelen per code bevatten, maar dan met meerdere codes werken. Vb.: de codes van een ander merk zouden bijvoorbeeld kunnen zijn:
- @ZONE1:PWR=ON
- @ZONE1:SRC=FM
- @ZONE1:VOL=24
‘Receive code’ Protocollen
Om een variabele uit een code te halen, zijn verschillende ‘protocollen’ beschikbaar zoals ‘Eén mogelijkheid’, ‘Positie afhankelijk’, ‘Bepaald door scheidingstekens’, ‘Geef karakters vanaf positie weer’ en ‘Geef exacte karakters weer’.
Afhankelijk van het type variabele (zone, bron, voeding, …) en het type code (HEX of ASCII), ondersteunen de RS232 interface TDS14042 en de AV IP TDS15240 volgende protocollen zoals weergegeven in de tabellen:
RS232 interface TDS14042:
Zone | Bron | Aan/uit status | Volume | Line 1 of 2 | |
1) Positie afhankelijk | Hex, Ascii | Hex, Ascii | Hex, Ascii | Hex | |
2) Bepaald door scheidingstekens | Ascii | Ascii | |||
3) Geef karakters vanaf positie weer | Hex, Ascii | ||||
4) Eén mogelijkheid | Hex, Ascii | Hex, Ascii | |||
5) Geef exacte karakters weer | Hex, Ascii |
AV-IP License TDS15240:
Zone | Bron | Aan/uit status | Volume | Line 1 of 2 | |
1) Positie afhankelijk | Hex | Hex | Hex | Hex | |
2) Bepaald door scheidingstekens | Ascii | Ascii | Ascii | Ascii | Ascii |
3) Geef karakters vanaf positie weer | Hex, Ascii | ||||
4) Eén mogelijkheid | Hex, Ascii | Hex, Ascii | Hex, Ascii | Ascii | |
5) Geef exacte karakters weer | Hex, Ascii |
Hieronder vindt u een overzicht van de verschillende protocollen:
1) Positie afhankelijk:
Dit meest gebruikte protocol bepaalt dat een specifieke variabele gevonden kan worden op een voor-gedefinieerde positie van de code.
Voorbeeld: Als u een toestel heeft dat volgende code gebruikt:
- z1,ON,FM,24
U kan het zone nummer bepalen als ‘Positie afhankelijk’ aangezien het zone nummer gevonden kan worden op positie 3.
2) Bepaald door scheidingstekens:
Dit protocol is iets complexer dan de andere protocollen, maar wel veel krachtiger indien de verschillende onderdelen van de code verschillende lengtes hebben. Dit protocol kan enkel gebruikt worden indien de verschillende variabelen in de code gescheiden worden door het zelfde ‘scheidingsteken’.
Voorbeeld: Als u een toestel heeft dat deze code gebruikt:
- z1,ON,FM,24
Het scheidingsteken is hier ‘,’. Het volume kan nu uit de code gehaald worden als de variabele achter het derde scheidingsteken. U moet ook een ‘Stop karakter’ vastleggen voor deze variabele. In de meeste gevallen is dit ‘Stop karakter’ het zelfde als het scheidingsteken of als het ‘Einde van code karakter’ maar het kan om het even welk karakter zijn.
Naast het scheidingsteken, het stop karakter en het aantal scheidingstekens dat noodzakelijk is, heeft dit protocol nog twee extra, maar optionele parameters:
- ‘Het aantal over te slaan posities na scheidingsteken’: indien de variabele niet direct start achter het scheidingsteken.
- ‘Maximale lengte volume karakters’: het maximum aantal karakters die deel kunnen uitmaken van de variabele.
Voorbeeld: als de code als volgt zou zijn:
- z1,ON,FM,VOL24BASS3TREBLE2
Het volume is nu de variabele die 3 posities achter de derde komma (= scheidingsteken) begint en eindigt met een ‘B’ karakter (= stop karakter).
3) Geef karakters vanaf positie weer:
Deze code is enkel beschikbaar voor lied- of RDS info van een bron. Het is sterk vergelijkbaar met het ‘Positie afhankelijk’ protocol, maar in dit geval wordt een beginpositie bepaald ipv. een absolute positie. Alle karakters beginnend met het start-karakter en eindigend met het ‘Einde van code karakter’ zullen getoond worden als lied- of RDS info.
Voorbeeld: Als u een toestel heeft dat deze code gebruikt:
**RDS1,FM,info
De ‘Line 1’ info voor FM kan uit de code gehaald worden als alle karakters beginnend met positie 10.
Opmerking: dit protocol kan enkel gebruikt worden als het eerste deel van de code een vaste lengte heeft. Als er bijvoorbeeld een tweede radio zou zijn in het toestel die luistert naar de naam FM2, kan dit protocol niet gebruikt worden (in dit geval kunt u het ‘Bepaald door scheidingstekens’ protocol gebruiken).
4) Eén mogelijkheid:
Dit is een zeer eenvoudig protocol. Het toont aan dat een specifieke variabele een specifieke waarde heeft.
Voorbeeld: Als u een toestel heeft dat volgende codes gebruikt:
- z1,ON,FM,24
- z1,OFF,FM,24
Hieruit kan u twee ‘receive codes’ definiëren en de ‘Voeding status’ uit deze code halen als ‘Eén mogelijkheid’.
5) Geef exacte karakters weer:
Dit protocol haalt geen data uit de code, maar toont een voor gedefinieerde tekst op ‘Line 1’ of ‘Line 2’.
Voorbeeld: als het AV toestel volgende code zendt:
- RDS1,FM,RDS ERROR
Om aan te geven dat geen RDS info beschikbaar is voor het huidige radio station, kan een lege lijn of ‘Geen info beschikbaar’ of ‘FM’ of … weergegeven worden.
Ontvangstcode definiëren
Stel dat een toestel volgende ontvangstcode gebruikt:
- z1,ON,FM,24
Deze code bevat informatie over de status, de bron en het volume van een bepaalde zone van deze versterker. In de ‘Definieer feedback code’ geven we dus deze code de naam ‘Status, Bron en Volume’.
Nu moeten alle variabelen uit deze code gehaald worden. Wanneer voor elke variabele een nieuwe code wordt aangemaakt, zal het ‘Protocol’ ‘Niet gedefinieerd’ staan. Dit betekent dat er geen informatie is over hoe de variabele uit de code kan gehaald worden.
In onze voorbeeld code is er geen informatie over LINE1 of LINE2, dus het protocol voor deze variabelen is blijven staan op ’Niet gedefinieerd’.
Zone:
De zone variabele kan uit de code gehaald worden als ‘Positie afhankelijk’ op positie 3 bij dit voorbeeld.
Om dit te doen:
- Selecteer de ‘ZONE’ tab pagina
- Selecteer ‘Positie afhankelijk’ van de ‘Selecteer Protocol’ lijst
- Noteer ‘3’ in het ‘Zone positie in code’ veld.
- PROSOFT zal proberen om het juiste karakter van de code er uit te halen en dit in het grid te markeren. Dit helpt om gemakkelijk de ingevulde informatie in de verschillende velden te controleren.
Onderaan staat een ‘Vertaal tabel’ waarin u kan bepalen welke variabele overeenkomt met de verschillende ‘TELETASK’ audio zones. Deze audio zones moeten eerst in PROSOFT geconfigureerd worden.
In dit geval hebben we een toestel met 4 zones die in de code als 1-4 staan. Andere merken kunnen A, B, C en D of Main voor de eerste zone en 2, 3 en 4 voor de andere zones gebruiken.
Bron:
De TDS14042 kan enkel via ‘Positie afhankelijk’ variabelen uit de code halen. Maar het probleem stelt zicht dat de positie wijzigt als de status verandert van ON naar OFF. Dit kan opgelost worden door enkel de bron informatie te achterhalen als de versterker op ON staat. Dus de bron kan als ‘Positie afhankelijk’ op positie 8 ingesteld worden.
Ga als volgt tewerk::
- Selecteer de ‘BRON’ tab pagina
- Selecteer ‘Positie afhankelijk’ van de ‘Selecteer Protocol’ lijst
- Noteer ‘8’ in het ‘Zone positie in code’ veld.
At the bottom we now have a translation table for the Brons. Up to 8 Brons can be defined. In this example we have a device that has the Brons FM, MP3, CD, DVD and Onderaan bevindt zich nu een vertaaltabel voor de bronnen, waarin tot 8 bronnen kunnen gedefinieerd worden. In dit voorbeeld hebben we een toestel dat volgende bronnen heeft: FM, MP3, CM, DVD en AUX.
AAN/UIT:
Met deze voorbeeld code kunnen we het ‘Positie afhankelijk’ protocol voor de status niet gebruiken. Dit zou een probleem vormen voor de ‘bron info’. Bijgevolg zullen we voor deze code de status definiëren als ‘Eén mogelijkheid’ ‘ON’.
Er is een tweede ontvangst code nodig voor status UIT waarvoor het volgende ingesteld wordt:
- Het zone nummer als ‘Positie afhankelijk’ op positie 3,
- De ‘POWER’ variabele als ‘Eén mogelijkheid’, OFF
- Er voor de rest geen andere informatie wordt uitgehaald
Volume:
De ‘volume’ variabele kan uit de code gehaald worden door het ‘Bepaald door scheidingstekens’ protocol.
Ga hiervoor als volgt tewerk:
- Selecteer de ‘VOLUME’ tab pagina
- Selecteer het ‘Bepaald door scheidingstekens’ protocol van de protocol lijst
- Vul ‘,’ in als het ‘Scheidingsteken’
- Vul ‘3’ in als ‘Aantal scheidingstekens’
Onderaan kan ook een ‘Min’ en ‘Max’ volume ingesteld worden. In dit voorbeeld gebruikt het toestel 0 als ‘Min’ en ‘50’ als ‘Max’ volume.
‘Identificatie karakter’ en ‘Variabele of don’t care tekens’
Al onze variabelen zijn nu gedefinieerd in deze code, maar er is nog een mechanisme nodig om deze code te herkennen. Dit gebeurt door ‘Identificatie karakter’ en ‘Variabele of don’t care tekens’.
Een identificatie karakter is een karakter dat altijd beschikbaar is in deze code op een voor gedefinieerde plaats. In de voorbeeldcode (*z1,ON,FM,24) zijn de identificatie karakters:
- , z, de eerste komma, O, N, en de tweede komma
Een Variabele of don’t care teken is een karakter dat of één van de ‘variabelen’ is of een karakter dat kan wijzigen naargelang de verschillende codes, maar dat geen betekenis heeft (‘don’t care teken’). In deze code zijn de variabelen:
- 1, F, 2 and 4 (de zone, bron en volume variabelen)
De ‘don’t care tekens zijn:
- M en de derde komma.
De M is een ‘don’t care teken’ omdat ditverschillend kan zijn naargelang de bron. De derde komma is een ‘don’t care teken’, omdat de positie in de code kan variëren vb.: als de bron AUX is, is de positie van de derde komma 11 (in plaats van 10).
Dus als een ontvangstcode start met *z en de karakters 4-7 ‘,ON,’ bevat, wordt deze code als ‘Status, Bron en Volume’ herkend.
Wanneer een voorbeeldcode wordt ingevuld, worden alle karakters automatisch als ‘Identificatie karakter’ (donkere achtergrond) weergegeven.
Tenslotte dienen de ‘Variabele of don’t care tekens’ gemarkeerd te worden. Selecteer hiervoor een karakter (of verschillende aansluitende karakters) van het grid, en klik op het witte ‘Variabele of don’t care tekens’ vierkant. Deze karakters zullen vervolgens een witte achtergrond krijgen.
Het is ook mogelijk om met de rechter-muis te klikken op een karakter en de ‘Variabele of don’t care tekens’ te selecteren.
De code ziet er nu zo uit: