RS232, IP

RS232/IP ‘send codes’

For an RS232/IP device you have to choose whether you will enter the codes in HEX or in ASCII-code. If you select ASCII you can also select if a code should end with a Carriage return and/or a Line feed.
For RS232 you also have to select the Baudrate: 9600, 19200, 38400 or 57600.
For IP you need to enter the IP port number.

All these settings are depending on the brand and type of device you are adding, refer to the documentation of the manufacturer of the device.


  • In the field display name you can enter a name (optional). You will see this name when you configure the device in PROSOFT.
  • For the functions 'SELECT SRC X' it is advised to enter the name of the input of the device (if there is a mark on the device with AUX2 then type 'AUX2' in the display name field).
  • Then enter the HEX-codes or ASCII, which are described in the protocol of the device.
  • It's possible to copy similar codes, so you only have to adjust the values where needed.
  • Next to the function you will see a 'chain-symbol'; if you click on it you can add a second code to the chosen function. You can add up to 10 codes to one function. (e.g. to add waiting time between 2 codes).

For RS232: at the bottom of this screen you can test the code by clicking on 'Test code from PC port: There will be a test between your PC and the device without any interfering of the TELETASK hardware.
For IP: at the bottom of this screen you can test the codes by selecting a code and click on ‘Send’. You will also see the data received from the IP device.
After testing, click ok.
Your codes will be automatically saved in your custom AV-SOFT library 'custom3.3.irdb' file in directory C:\ProgramData\TELETASK\PROSOFT. Whenever you make modifications or create new AV-devices in your project, this file will be updated. The AV-devices that are inside your project will also be saved inside the .nbt file.

REMARK: Be aware that your custom AV-SOFT library on your PC will be synchronised with every .nbt file you open. If you would open an .nbt file which has an AV-device with another configuration as on your AV-SOFT library from your PC, PROSOFT will ask you if you want to keep the device from your library or use the one from the .nbt file with as option to make a backup from the AV-device from your library.
REMARK: PROSOFT versions prior to PROSOFT use the custom.irdb file. PROSOFT will automatically create a copy of this file and save it as ‘custom3.3.irdb’ for use in newer versions.

Feedback Codes RS232 and IP


For an RS232 or IP device you can define feedback codes. This is optional but advisable if the AV-device is also controlled directly (e.g. using the remote control from the device or an app on a smartphone or tablet) or if you want to automatically display AV feedback (like volume and track number) on a TELETASK display (like AURUS-OLED (PLUS), AURUS-TFT, etc.).
The data that can be received from an AV-device is:

  • The power status of a zone (ON or OFF)
  • The currently active source on a zone (source 1-8)
  • The volume of a zone (0-100%)
  • Two lines of track info or RDS info from a source.
The TDS14042 supports up to 6 Feedback codes to receive this info from the AV-device.
For the TDS15240, there is no limit on the number of the feedback codes.

To define ‘Feedback Codes’, check the option ‘Feedback codes’ and click the ‘Edit’ button.
You will now see the ‘Feedback codes’ window:
In this window there are two tab pages. One for the ‘Feedback codes’ and one for the ‘Polling codes’ (which will be discussed in the next chapter).
At the right there are three buttons to create a new ‘Feedback code’, to edit an existing one or to remove a feedback code.
At the bottom you need to enter a ‘Start of code character’ and ‘End of code character’. You can enter an ASCII character or a hex code in this field. E.g. if you have an ASCII protocol in which the codes starts with a ‘*’ and ends with a carriage return, you can enter * in the start of code field and 0x0D in the end of code field (‘0x0D’ is the hexadecimal representation of carriage return).
To create a new Feedback code, click on the ‘New’ button. You will now see the ‘Define feedback code’ window:
At the top of the window you have these fields:

Code Name
In this field you can enter a descriptive name for the receive code
Sample Code
In this field you need to enter an ASCII code that can be received from the AV-device. This code is automatically repeated as individual characters in the field below the sample code.
REMARK: for HEX devices the sample code field is not available. You need to enter the individual bytes directly in the GRID

When the sample code is entered, we can define how the different variables can be obtained from this code. Let’s have a closer look at the code in this example:

  • *z1,ON,FM,24
Remark: note that the sample code starts with a ‘*’. This is the start of code character that was entered in the previous window.
Remark: note that there is no ‘end of code character’ displayed in this sample code. It is not necessary to add the ‘end of code character’ in this window.

This code contains 4 variables: the zone number (1), the power status (ON), the active source (FM) and the volume (24). Depending on the brand and type of your AV-device the receive codes can contain either multiple variables in one code (like in this example) or contain only two variables per code but have more different codes. E.g. the codes from another brand could be like this:

  • @ZONE1:VOL=24
IMPORTANT remark: Note that the three codes above all contain the zone number. If your AV-device (that has multiple zones) use codes that do not contain zone numbers the device is not compatible with the TDS14042.

Receive code Protocols

To obtain a variable from a code, there are different ‘protocols’ available like Single possibility, Position related, Determined by delimiter info, Display characters from position and Exact.
Depending on the type of variable (zone, source, power,..) and the type of code (HEX or ASCII) the different AV interfaces support the protocols as indicated in the tables below:

RS232 interface TDS14042:

Zone Source Power Volume Line 1 or 2
1) Position related Hex, Ascii Hex, Ascii Hex, Ascii Hex
2) Determined by Delimiter info Ascii Ascii
3) Display characters from position Hex, Ascii
4) Single possibility Hex, Ascii Hex, Ascii
5) Exact Hex, Ascii

AV-IP License TDS15240:

Zone Source Power Volume Line 1 or 2
1) Position related Hex Hex Hex Hex
2) Determined by Delimiter info Ascii Ascii Ascii Ascii Ascii
3) Display characters from position Hex, Ascii
4) Single possibility Hex, Ascii Hex, Ascii Hex, Ascii Ascii
5) Exact Hex, Ascii
Remark: As you will see, in some cases there are different ways in which you can obtain a variable from a code (using different protocols).

We will now have a look at the individual protocols.
1) Position related:
This mostly used protocol indicates that a specific variable can be found at a predefined position in the code.
Example: If you have a device that uses the code:

  • z1,ON,FM,24

You could get the zone number from this code as ‘Position related’ because the zone number can be found at position 3.

Remark: this protocol is limited to a single byte or character. But in some case you can use it to get longer variables from the code. E.g. in the code above you can also get the power status as ‘Position related’ because at position 6 there is an ‘N’ for ON and an ‘F’ for OFF
Remark: this protocol cannot be used if a previous part of the code has a variable length. E.g in the code above you cannot use this protocol for the active source because ON and OFF have a different length

2) Determined by delimiter info:
This protocol is slightly more complex than the others but far more powerful if the different code parts have different lengths. This protocol can only be used if different variables in the code are delimited (separated) by the same character.
Example: If you have a device that uses the code:

  • *z1,ON,FM,24

The delimiter is the ‘,’. The volume can now be obtained as the variable after the third delimiter. You also need to define the ‘Stop character’ for this delimited info. In most cases the ‘stop character’ will be the same as the delimiter or will be the ‘End of code character’ but it can also be any other character.
Beside the ‘delimiter’, the ‘Number of delimiter’ and the ‘stop character’ which are required, this protocol has two extra, but optional, parameters:

Number of positions skipped after delimiter
if the variable would not immediately start after the delimiter.
Maximum length
the maximum number of characters that can be part of the variable.

Example: if the code would be:


The volume would be the variable that starts 3 positions after the third delimiter and is terminated by a ‘B’ character.
3) Display characters from position:
This protocol is only available for track or RDS information from a source. It is very similar to the ‘position related’ protocol but in this case you define a start position rather than an absolute position. All characters beginning with the start character en terminated by the ‘end of code character’ will be displayed as track information
Example: If you have a device that uses the code:

  • *RDS1,FM,info

The ‘Line 1’ info for FM can be obtained from the code as all the characters starting at position 10.

Remark: this protocol can only be used if the first part of the code has a fixed length. If there would for example be a second tuner in the device that is referenced as FM2 in the code this protocol cannot be used (in such a case you could use the ‘determined by delimiter info’ protocol).

4) Single possibility:
This is a very basic protocol. It indicates that a specific variable has a specific value.
Example: If you have a device that uses the codes:

  • *z1,ON,FM,24
  • *z1,OFF,FM,24

You could define two receive codes for this and get the ‘Power status’ from this code as single possibility.

Remark: this protocol can sometimes be useful for the minimum or maximum volume as some AV-devices send different codes (e.g. Mute, Max) for these values than for other volume levels.

5) Display exact characters:
This protocol does not obtain any data from the code, instead it displays a predefined text on ‘Line 1’ or ‘Line 2’.
Example: If your AV-device sends the code:


To indicate that there is no RDS info available for the current radio station, you can display a blank line or ‘No info available’ or ‘FM’ or ….

Defining a receive code

Assume we have a device that uses the receive code from the examples below:

  • *z1,ON,FM,24

This code contains info about the power, the source and the volume status of a particular zone of this amplifier so in the ‘Define feedback code’ window we give this code the name ‘Power, Source and Volume’.
We will now need to obtain all the variables from this code. When you create a new code for every variable the ‘Protocol’ will be ‘Not defined’. This means that there is no information on how to obtain that variable from the code.
In our example code there is no information about LINE1 or LINE2 so the protocol for this variables will remain ‘Not defined’


The zone variable can be obtained from the code as position related on position 3 for this example.
To do this:

  • Select the ‘ZONE’ tab page
  • Select ‘Position related’ from the ‘Select Protocol’ dropdown list
  • Enter ‘3’ in the ‘Zone position in code’ field.
  • PROSOFT will try to obtain the correct character from the code and mark the character in the grid. This allows you to easily verify the information entered in the different fields.

At the bottom the is a ‘translation table’ in which you can define which variable corresponds with each ‘TELETASK’ audio zone. These audio zones first have to be configured in PROSOFT.
In this case we have a device with 4 zones that are referenced in the code as 1-4. Other devices may us A, B, C and D or Main for the first zone and 2, 3 and 4 for the others.

Remark: This table can only contain 1 character for each zone. In the case that the zones are referenced as Main, 2,3, and 4 you can use the characters ‘M’, ‘2’, ‘3’ and ‘4’ in this table.


The TDS14042 only supports obtaining the source as position related, but in this case we have a problem, the position changes when the power changes from ON to OFF. We will solve this by only obtaining the Source information when the amplifier is ON. So we define the source as position related at position 8
To do this:

  • Select the ‘SOURCE’ tab page
  • Select ‘Position related’ from the ‘Select Protocol’ dropdown list
  • Enter ‘8’ in the ‘Zone postion in code’ field.

At the bottom we now have a translation table for the sources. Up to 8 sources can be defined. In this example we have a device that has the sources FM, MP3, CD, DVD and AUX.

Remark: in some case it is impossible to get all the sources from the same code. Suppose we have a device with an internal tuner that is referenced in the code as FM and 4 inputs that are referenced in the code as IN1, IN2, IN3 and IN4. In this case you need a code for FM and an additional code for the other inputs.


With this example code we cannot use the ‘position related’ protocol for the power as this would generate a problem for the ‘Source info’. So for this code we will define the power as single possibility ‘ON’µ
We will also create a second receive code ‘Power OFF’ from which:

  • We obtain the zone number as ‘Position related’ on position 3,
  • We define the ‘POWER’ variable as ‘Single Possibility’, OFF
  • We don’t obtain other information



The ‘volume’ variable can be obtained from the code using the ‘Determined by delimiter info’ protocol.
To do this:

  • Select the ‘VOLUME’ tab page
  • Select the ‘Determined by delimiter info’ from the protocol dropdown list
  • Enter ‘,’ as the ‘Delimiter’
  • Enter ‘3’ as the ‘Number of delimiter’

At the bottom you can also define a ‘Min’ and ‘Max’ volume. In this case we have a device that uses 0 as the ‘Min’ volume an ‘50’ as the ‘Max’ volume.

Remark: You have to define the ‘Min’ and ‘Max’ volume (see technical data form you AV device) to recalculate the volume from 0 to 100 for a correct display on the TELETASK displays.
Remark: Some devices display the volume in dB, e.g from -60dB to 0dB where -60dB is the minimum. In such a case enter ’60’ (without the ‘-‘) as the Minimum and 0 as the Maximum.

‘Identifiers’ and ‘Variables or don’t care characters’

All our variables are now defined for this code, but we need a mechanism to recognize this code. This is done by ‘Identifiers’ and ‘Variables or don’t care characters’.
An Identifier is a character that is always available in this code on a predefined position. In our code (*z1,ON,FM,24) the Identifiers are:

  • *, z, the first comma, O, N, and the second comma

A ‘Variable or don’t care character’ is a character that is either one of the ‘variables’ or a character that can be different in different codes but that hasn’t got any meaning by itself (‘a don’t care character’). In this code the variables are:

  • 1, F, 2 and 4 (the zone, source an volume variables)

The ‘don’t care characters are:

  • M and the third comma.

The M is a ‘don’t care character’ because this can be different for the other sources.
The third comma is a ‘don’t care characters’ because its position in the code can vary e.g. if the source value is AUX, the position of the third comma is 11 (instead of 10).
So if a receive codes that starts with *z and where the characters 4-7 are: ‘,ON,’ this code will be recognized as the ‘Power, Source and Volume’ code name.
When entering a sample code, all characters are automatically marked as ‘Identifier’ (grey background)
The final thing we have to do is mark the ‘variable or don’t care characters’. To do this select a character (or multiple surrounding characters) from the grid and click the white ‘Variable or don’t care character’ square. You will see that the characters will now get a white background.
Alternatively you can ‘right-click’ a character and mark it as ‘Variable or don’t care character’ from the popup menu.
Our code should now look like this:

Remark: when closing this window PROSOFT will check that all ‘Variables’ are marked as ‘Variable or don’t care character’. If PROSOFT detects a ‘Variable’ that is not marked as such, it will mark that ‘Variable’ as ‘Variable or don’t care’. PROSOFT will display a message that is has done this and give you the options to accept or review the changes.
Remark PROSOFT cannot detect ‘don’t care characters’ (like the M and the third comma). You have to do it yourself.
Remark: if you have accidently marked an ‘Identifier’ as a ‘Variable or Don’t Care character’ you can mark it as Identifier again using the grey Identifier square (or the right click menu).
Remark: If you make any changes to the sample code all characters are marked as Identifier again.

Switch Language

Technical Handbook:

Internal documentation

TT School